xsl concat函数

时间:2011-09-30 13:29:03

标签: xml xslt

我很难用xsl在标签中打印属性。这是我的输入xml

<input>
   <subscriptons>
       <services>
          <service-info>
               First
          </service-info>
          <service-info>
               Second
          </service-info>
       </services>
   </subscriptons>
</input>

现在使用XSL我试图将上面的xml转换为

<Main_Subscriptions elem="0">
    <Main_Services elem="0">
        First Service
    </Main_Services>
</Main_Subscriptions>
<Main_Subscriptions elem="1">
    <Main_Services elem="1">
       Second Service
    </Main_Services>
</Main_Subscriptions>

使用XSL我能够获得除参数elem =“x”之外的所有内容,基本上每当我尝试使用“或&lt; my xsl失败时,例如这就是我正在做的以获取Main_Subscriptions标记:

<xsl:value-of select="concat('&lt;Main_Subscriptions elem=&quot;', position(), '&quot;&gt;')" disable-output-escaping="yes" />

为什么它不起作用的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:4)

您只需使用以下代码:

 <xsl:element name="Main_Subscriptions">
    <xsl:attribute name="elem">
       <xsl:value-of select="position()"/>
     </xsl:attribute>
</xsl:element>