Xslt 带空格的XSL读取处理指令
在源xml文档中,我有一条包含空格的处理指令-Xslt 带空格的XSL读取处理指令,xslt,xpath,xslt-2.0,Xslt,Xpath,Xslt 2.0,在源xml文档中,我有一条包含空格的处理指令- 如何使用xslt读取和处理此处理指令 如果我尝试使用处理指令(“tagtodelete”),我会得到一个错误-任何处理指令都不会被命名为“tagtodelete”。无效的QName{要删除的标记} 请提供帮助。选择此处理指令后,您不完全清楚要对其执行什么操作,但处理指令的名称是中的一部分。选择此处理指令后,您不完全清楚要对其执行什么操作,但是,如果处理指令的字符串值中可能存在数量不确定的空格字符,则处理指令的名称是中的部分,如: <?Tag
如何使用xslt读取和处理此处理指令
如果我尝试使用处理指令(“tagtodelete”),我会得到一个错误-任何处理指令都不会被命名为“tagtodelete”。无效的QName{要删除的标记}
请提供帮助。选择此处理指令后,您不完全清楚要对其执行什么操作,但处理指令的名称是
中的一部分。选择此处理指令后,您不完全清楚要对其执行什么操作,但是,如果处理指令的字符串值中可能存在数量不确定的空格字符,则处理指令的名称是中的部分,如:
<?Tag To Delete?>
<?Tag To Delete ?>
<?Tag To Delete ?>
<?Tag To Delete?><?Tag To Delete ?><?Tag To Delete ?>
这里是一个简短的、基于XSLT的验证:
processing-instruction('Tag')[normalize-space() = 'To Delete']
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select=
"/*/processing-instruction('Tag')[normalize-space() = 'To Delete']"/>
</xsl:template>
</xsl:stylesheet>
<t>
<?Tag To Delete?>
<?Tag Not To Delete ?>
<?Tag To Delete ?>
<?Tag To Delete ?>
</t>
当此转换应用于以下XML文档时:
processing-instruction('Tag')[normalize-space() = 'To Delete']
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select=
"/*/processing-instruction('Tag')[normalize-space() = 'To Delete']"/>
</xsl:template>
</xsl:stylesheet>
<t>
<?Tag To Delete?>
<?Tag Not To Delete ?>
<?Tag To Delete ?>
<?Tag To Delete ?>
</t>
计算XPath表达式,并将计算结果(选定节点)复制到输出中:
<?Tag To Delete?>
<?Tag To Delete ?>
<?Tag To Delete ?>
<?Tag To Delete?><?Tag To Delete ?><?Tag To Delete ?>
以防处理指令的字符串值中可能存在数量不确定的空格字符,如:
<?Tag To Delete?>
<?Tag To Delete ?>
<?Tag To Delete ?>
<?Tag To Delete?><?Tag To Delete ?><?Tag To Delete ?>
这里是一个简短的、基于XSLT的验证:
processing-instruction('Tag')[normalize-space() = 'To Delete']
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select=
"/*/processing-instruction('Tag')[normalize-space() = 'To Delete']"/>
</xsl:template>
</xsl:stylesheet>
<t>
<?Tag To Delete?>
<?Tag Not To Delete ?>
<?Tag To Delete ?>
<?Tag To Delete ?>
</t>
当此转换应用于以下XML文档时:
processing-instruction('Tag')[normalize-space() = 'To Delete']
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select=
"/*/processing-instruction('Tag')[normalize-space() = 'To Delete']"/>
</xsl:template>
</xsl:stylesheet>
<t>
<?Tag To Delete?>
<?Tag Not To Delete ?>
<?Tag To Delete ?>
<?Tag To Delete ?>
</t>
计算XPath表达式,并将计算结果(选定节点)复制到输出中:
<?Tag To Delete?>
<?Tag To Delete ?>
<?Tag To Delete ?>
<?Tag To Delete?><?Tag To Delete ?><?Tag To Delete ?>