gpt4 book ai didi

xsltproc 生成比预期更多的输出

转载 作者:行者123 更新时间:2023-12-02 08:51:29 26 4
gpt4 key购买 nike

我正在尝试编写一个简单的 .xslt 来处理 .xml 文件。但我一直很困惑 - 为什么标签中的文字 <tag>text</tag>也印出来了?请看例子:

sample.xml

<source>
<employee>
<firstName>Joe</firstName>
<surname>Smith</surname>
</employee>
</source>

style.xsl

<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="surname">
<div>
<xsl:value-of select="name()"/>
</div>
</xsl:template>
</xsl:stylesheet>

为什么在调用之后:xsltproc style.xslt sample.xml我得到了

Joe
<div>surname</div>

代替

<div>surname</div>

只有?

最佳答案

这是因为 Joehandled by default .文本节点通常默认输出。您需要覆盖默认行为。

<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<!--Added to match all other nodes/attributes.-->
<xsl:template match="node()|@*">
<xsl:apply-templates select="node()|@*"/>
</xsl:template>

<xsl:template match="surname">
<div>
<xsl:value-of select="name()"/>
</div>
</xsl:template>

</xsl:stylesheet>

关于xsltproc 生成比预期更多的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com