如何在内容节点中索引 XML 数据?
How do I index XML data within a content node?
我正在转换 XML 文档并希望将全部内容转储到转换器的内容节点中。
<xsl:template match="/">
<vce>
<document>
<content name="xml">
<xsl:copy-of select="." />
</content>
</document>
</vce>
</xsl:template>
这为我提供了一个名称为 "XML" 的节点以及其中的全部 xml 内容。但是,当归一化转换器为 运行 时,这将被删除。我需要做些什么来在内容中索引 XML 吗?
我能够引用转换器:'vse-converter-xml-to-vxml' 创建一个索引 xml:
的模板
<xsl:template match="/">
<vce>
<document>
<content name="xml">
<xsl:apply-templates select="*" mode="xml-to-plain-text" />
</content>
</document>
</vce>
</xsl:template>
<xsl:template match="*" mode="xml-to-plain-text">
<xsl:text><![CDATA[<]]></xsl:text>
<xsl:value-of select="name()" />
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="text()|*|comment()">
<xsl:text>></xsl:text>
<xsl:apply-templates select="text()|*|comment()" mode="xml-to-plain-text" />
<xsl:text><![CDATA[</]]></xsl:text>
<xsl:value-of select="name()" />
<xsl:text>></xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>/></xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
我正在转换 XML 文档并希望将全部内容转储到转换器的内容节点中。
<xsl:template match="/">
<vce>
<document>
<content name="xml">
<xsl:copy-of select="." />
</content>
</document>
</vce>
</xsl:template>
这为我提供了一个名称为 "XML" 的节点以及其中的全部 xml 内容。但是,当归一化转换器为 运行 时,这将被删除。我需要做些什么来在内容中索引 XML 吗?
我能够引用转换器:'vse-converter-xml-to-vxml' 创建一个索引 xml:
的模板<xsl:template match="/">
<vce>
<document>
<content name="xml">
<xsl:apply-templates select="*" mode="xml-to-plain-text" />
</content>
</document>
</vce>
</xsl:template>
<xsl:template match="*" mode="xml-to-plain-text">
<xsl:text><![CDATA[<]]></xsl:text>
<xsl:value-of select="name()" />
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="text()|*|comment()">
<xsl:text>></xsl:text>
<xsl:apply-templates select="text()|*|comment()" mode="xml-to-plain-text" />
<xsl:text><![CDATA[</]]></xsl:text>
<xsl:value-of select="name()" />
<xsl:text>></xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>/></xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>