Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt 带空格的XSL读取处理指令_Xslt_Xpath_Xslt 2.0 - Fatal编程技术网

Xslt 带空格的XSL读取处理指令

Xslt 带空格的XSL读取处理指令,xslt,xpath,xslt-2.0,Xslt,Xpath,Xslt 2.0,在源xml文档中,我有一条包含空格的处理指令- 如何使用xslt读取和处理此处理指令 如果我尝试使用处理指令(“tagtodelete”),我会得到一个错误-任何处理指令都不会被命名为“tagtodelete”。无效的QName{要删除的标记} 请提供帮助。选择此处理指令后,您不完全清楚要对其执行什么操作,但处理指令的名称是中的一部分。选择此处理指令后,您不完全清楚要对其执行什么操作,但是,如果处理指令的字符串值中可能存在数量不确定的空格字符,则处理指令的名称是中的部分,如: <?Tag

在源xml文档中,我有一条包含空格的处理指令-

如何使用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 ?>