Xml 值必须为QName的属性的值为'';
我有一个XSL文件不断出现上述错误。这是我的密码:Xml 值必须为QName的属性的值为'';,xml,xslt,qnames,Xml,Xslt,Qnames,我有一个XSL文件不断出现上述错误。这是我的密码: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml"/> <xsl:template match="faculty"> <xs
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"/>
<xsl:template match="faculty">
<xsl:element name='{fname}'>
<xsl:for-each select="students/name">
<name>
<xsl:value-of select="."/>
</name>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
这是我的源XML文件的一部分:
<faculties xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:noNamespaceSchemaLocation='257lab2a.xsd'>
<faculty>
<fname>literal arts</fname>
<students>
<name>ron dell</name>
<mark>52</mark>
<phone number='349-095-9867'></phone>
<courseCategory category='full time'></courseCategory>
<courseNo courseNumber='LART433'></courseNo>
</students>
</faculty>
</faculties>
文学艺术
罗恩·戴尔
52
这似乎是因为fname包含的文本不是有效的元素名称(不能包含空格)。尝试以下方法,但请记住,根据您的数据,您可能需要解决其他情况
<xsl:template match="faculty">
<xsl:element name="{translate(fname, ' ', '_')}">
<xsl:for-each select="students/name">
<name>
<xsl:value-of select="."/>
</name>
</xsl:for-each>
</xsl:element>
</xsl:template>
这似乎是因为fname包含的文本不是有效的元素名称(不能包含空格)。尝试以下方法,但请记住,根据您的数据,您可能需要解决其他情况
<xsl:template match="faculty">
<xsl:element name="{translate(fname, ' ', '_')}">
<xsl:for-each select="students/name">
<name>
<xsl:value-of select="."/>
</name>
</xsl:for-each>
</xsl:element>
</xsl:template>
最可能的解释是,在您的faculty
元素下没有名为fname
的元素,或者fname
为空。您可以向我们展示您的输入XML吗?最可能的解释是,在您的faculty
元素下没有名为fname
的元素,或者fname
为空。你能给我们看一下你的输入XML吗?