xml - XSLT 替换存在于另一个元素值中的元素
问题描述
我是 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
元素。
推荐阅读
- php - 数组转换删除索引
- php - 如何将数据附加到word文件php codeigniter?
- php - 将onclick url存储在mysql表中并在php页面上获取
- html - 如何正确导入 font-awesome scss
- swift - Mac OS - 更改状态项按钮图像
- python - Tkinter Optionmenu:“值”旁边带有输入参数的命令
- akka - 读取 akka.conf 文件时内部会发生什么?
- python - Flask:使用 args 获取路由的绝对 URL
- python - Python - 如何将所有 json 打印到列表中
- apache-spark - 如何在 Spark 中定义传入文件的文件命名约定