我的XSLT工作正常,除了我无法删除(不复制,删除)源文件的<?xsl-stylesheet...
元素/指令。这就是我对XSLT的所作所为:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="xsl:stylesheet"/>
<xsl:template match="TestCase">
... remainder of file
我已尝试使用和不使用"?"
,在匹配属性中有"xsl:"
部分,没有运气。 (所以,我已尝试将“匹配”设为"xsl:stylesheet"
,"?xsl:stylesheet"
,"stylesheet"
。)xml源代码如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml-stylesheet type="text/xsl" href="../../testUtil testLogToHtmlDisplay.xsl" ?>
<TestSuite Name="APIC2EChartAddRoute">
TIA。
答案 0 :(得分:8)
任何以<?
开头的内容(除了<?xml version=...?>
声明之外)都是处理指令,您可以将其与processing-instruction('name')
模式匹配(针对特定情况) <?name ...?>
)或仅processing-instruction()
(对于任何PI,无论名称如何,都与使用*
任何元素节点的方式相同):
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="processing-instruction('xml-stylesheet')"/>
<xsl:template match="TestCase">
... remainder of file