我刚刚开始研究 XSLT。我的输入和预期输出如下,XSLT 也在下面给出。我现在面临两个问题
net.sf.saxon.trans.XPathException: Required item type of the context item for the attribute axis is node(); supplied value has item type xs:string<students>
<field name="id">1,2,3</field>
<field name="name">a,b,c</field>
</students>
Run Code Online (Sandbox Code Playgroud)
<students>
<student>
<id>1</id>
<name>a</name>
</student>
<student>
<id>2</id>
<name>b</name>
</student>
<student>
<id>3</id>
<name>c</name>
</student>
</students>
Run Code Online (Sandbox Code Playgroud)
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="xml"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/" name="main">
<xsl:for-each select="students/field">
<xsl:for-each select="tokenize(.,',')">
<xsl:element name="{@name}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)