我必须将一些包含子节点的完整节点插入到XML文件中的这些节点的所有属性到第二个XSLT样式表中,我想用第一个创建。
这是XML的一个例子:
<?xml version="1.0" encoding="UTF-8"?>
<data xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xslout="it's replaced to xmlns:xsl within the transformation">
<text-german>
<fo:block font-weight="bold" space-after.optimum="10mm">
Ihr Coupon
</fo:block>
<fo:block space-after.optimum="10mm">
<xsl:text>Guten Tag </xsl:text>
<xslout:value-of select="givenname"/>
<xslout:text> </xslout:text>
<xslout:value-of select="surname" />
<xslout:text>,</xslout:text>
</fo:block>
<fo:block space-after.optimum="5mm">
<xslout:text>Some text...</xslout:text>
<xslout:value-of select="issuerLong" />
<xslout:text>Here more text...</xslout:text>
</fo:block>
<fo:block>
<fo:inline font-style="italic">
<xslout:text>Coupon: </xslout:text>
</fo:inline>
<fo:inline font-weight="bold">
<xslout:value-of select="code" />
</fo:inline>
</fo:block>
</text-german>
</data>
我想将节点<text-german>
的所有内容插入到输出中。之前,我尝试使用命令<xsl:value of select="text-german"/>
执行此操作,但这只会影响此特定节点的内容,而不会影响具有内容和其属性的继承子节点。
如何在输出文件中插入节点的所有内容?
为了更好地理解我想在输出中输入的文字:
<fo:block font-weight="bold" space-after.optimum="10mm">
Ihr Coupon
</fo:block>
<fo:block space-after.optimum="10mm">
<xsl:text>Guten Tag </xsl:text>
<xslout:value-of select="givenname"/>
<xslout:text> </xslout:text>
<xslout:value-of select="surname" />
<xslout:text>,</xslout:text>
</fo:block>
<fo:block space-after.optimum="5mm">
<xslout:text>Some text...</xslout:text>
<xslout:value-of select="issuerLong" />
<xslout:text>Here more text...</xslout:text>
</fo:block>
<fo:block>
<fo:inline font-style="italic">
<xslout:text>Coupon: </xslout:text>
</fo:inline>
<fo:inline font-weight="bold">
<xslout:value-of select="code" />
</fo:inline>
</fo:block>
答案 0 :(得分:1)
您似乎需要使用xsl:copy-of
。
<?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" indent="yes"/>
<xsl:template match="/data/text-german">
<xsl:copy-of select="./*"/>
</xsl:template>
</xsl:stylesheet>
您可能需要调整上述内容以满足您的需求。