需要重新排序元素并同时填充默认输出。
<?xml version='1.0' encoding='ISO-8859-1' ?>
<info>
<data>
<age> 33 </age>
<name>Student1 </name>
</data>
<data>
<age> 44 </age>
<name>Student2 </name>
</data>
</info>
NAME|HEIGHT|AGE|SALARY|COUNTRY
Student1||33||USA
Student2||44||USA
HEIGHT和SALARY,COUNTRY不是输入xml的一部分。 对于HEIGHT和SALARY,outpt应为空字符串“”。 元素之间应该是“|”分离。 在每一行之间,它应该是换行符。
COUNTRY的默认值为USA。
答案 0 :(得分:0)
此转化:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
<xsl:text>NAME|HEIGHT|AGE|SALARY|COUNTRY</xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="data">
<xsl:value-of select=
"concat('
', normalize-space(name),
'||', normalize-space(age),'||USA')"/>
</xsl:template>
</xsl:stylesheet>
应用于提供的XML文档:
<info>
<data>
<age> 33 </age>
<name>Student1 </name>
</data>
<data>
<age> 44 </age>
<name>Student2 </name>
</data>
</info>
生成想要的正确结果:
NAME|HEIGHT|AGE|SALARY|COUNTRY
Student1||33||USA
Student2||44||USA