我已经编写了以下代码的XSLT文件:
<xsl:attribute name="subCode">
<xsl:value-of select="Field[@key='XY']"/>
</xsl:attribute>
假设我的输入XML文件如下所示:
假设我的输入XML文件如下所示:
[...]
<Field key="XY"/>
[...]
在这种情况下,我的XSLT将生成以下输出结果:
<SomeElement subCode="">
[...]
</SomeElement>
我的问题是:如何去掉空属性
subCode=""
?我知道可以使用一些条件指令,比如
<xsl:if>
,但这似乎是一个丑陋的解决方案(因为我的XSLT中生成了数千个类似的属性)。必须在同一个XSLT中完成。我不能在额外的XSLT文件中添加后处理。
除此之外,输出的XML已经定义了其XSD模式。模式表明该属性是可选的。也许有一些方法可以将XSD模式应用于输出的XML?
谢谢您提前的帮助!