XSLT 替换存在于另一个元素值中的元素
XSLT replace an element that exists inside another element value
我是 XSLT 的新手(使用 XSLT v1.0),我有以下输入:
<SUMMARY>
<TITLE>Lorem ipsum dolor <QUOTE ID="replace with this string"/> sit vel eu.
</TITLE>
<P> Lorem ipsum dolor <QUOTE ID="replace with this string"/> sit vel eu. </P>
</SUMMARY>
<REFERENCE>
<TI>Lorem ipsum dolor <QUOTE ID="replace with this string"/> sit vel eu.
</TI>
<P> Lorem ipsum dolor <QUOTE ID="replace with this string"/> sit vel eu. </P>
</REFERENCE>
我如何用 QUOTE/ID 属性值的字符串替换 XML 输入中出现的所有元素 QUOTE。
添加到身份转换一个特殊的模板来处理QUOTE
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="QUOTE">
<xsl:value-of select="@ID"/>
</xsl:template>
</xsl:stylesheet>
身份转换会将所有内容复制到输出 XML,而特殊的 QUOTE
模板将复制其 @ID
属性的值来代替 QUOTE
元素。
我是 XSLT 的新手(使用 XSLT v1.0),我有以下输入:
<SUMMARY>
<TITLE>Lorem ipsum dolor <QUOTE ID="replace with this string"/> sit vel eu.
</TITLE>
<P> Lorem ipsum dolor <QUOTE ID="replace with this string"/> sit vel eu. </P>
</SUMMARY>
<REFERENCE>
<TI>Lorem ipsum dolor <QUOTE ID="replace with this string"/> sit vel eu.
</TI>
<P> Lorem ipsum dolor <QUOTE ID="replace with this string"/> sit vel eu. </P>
</REFERENCE>
我如何用 QUOTE/ID 属性值的字符串替换 XML 输入中出现的所有元素 QUOTE。
添加到身份转换一个特殊的模板来处理QUOTE
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="QUOTE">
<xsl:value-of select="@ID"/>
</xsl:template>
</xsl:stylesheet>
身份转换会将所有内容复制到输出 XML,而特殊的 QUOTE
模板将复制其 @ID
属性的值来代替 QUOTE
元素。