以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  请教高手:一个关于嵌套的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=7083)


--  作者:Cindylm
--  发布时间:4/28/2004 11:14:00 AM

--  请教高手:一个关于嵌套的问题
假设我的xml文件中部分结构如下:
<component>
    <id>button1</id>
    <value>删除</value>
    <button>
       <type>submit</type>
       <OnclickEvent>selecAll()</OnclickEvent>
    </button>
</component>
<component>
    <id>.......</id>
    <value>.....</value>
    <checkbox>.....<checkbox>
</component>
...........................................
那么在xsl文件中,我想对button,checkbox分别设计一个模板,对component也设计一个模板,那么在button模板里,写element的attribute:name和value时用到上层标签的内容,那么直接用<xsl:value-of select="component/id">可以吗?相应的,checkbox模板也是这样写的,两者会不会发生冲突?

示例代码如下:
<xsl:template match="component">
    <xsl:for-each  select="*">
        <xsl:choose>
             <xsl:when test=".[nodeName() = 'button']">
  <xsl:apply-template  select="button"/>
             </xsl:when>
             <xsl:when test=".[nodeName() = 'checkbox']">
  <xsl:apply-template  select=" checkbox"/>
             </xsl:when>
        </xsl:choose>
    </xsl:for-each>
</xsl:template>

<xsl:template match="button">
   <xsl:element name="input">
       <xsl:attribute name="type"><xsl:value-of select="type"/>
       </xsl:attribute>
      <xsl:attribute name="name"><xsl:value-of select="component/id"/>
      </xsl:attribute>
      <xsl:attribute name="value"><xsl:value-of select="component/value"/>
      </xsl:attribute>
   </xsl:element>
</xsl:template>

这样写总会出现一些小问题通不过,结构上有问题吗?


--  作者:sam
--  发布时间:4/28/2004 12:03:00 PM

--  
<xsl:value-of select="component/id">应写出<xsl:value-of select="../id">
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
1,730.469ms