我有以下的XML。
<?xpp /MAIN?>
<?xpp MAIN;1;0;0;0;619;0;0?>
<section>
<title>Introduction</title>
<para>
para<superscript>1</superscript>
<?xpp foot;art6_ft1;suppress?>
<?xpp FOOT;art6_ft1;1?>
<footnote label="1" id="art6_ft1">
<para>
data
</para>
</footnote>
<?xpp /FOOT?>
The data
</para>
</section>
这里我想获得包含MAIN
的处理指令,但我不知道如何获取它。
我正在尝试下面的XSLT。
<xsl:template match="/">
<html>
<head>
</head>
<body>
<xsl:if test="//footnote">
<xsl:apply-templates select="//processing-instruction('xpp')[not(ancestor::toc)]| //footnote" mode="footnote"/>
</xsl:if>
</body>
</html>
</xsl:template>
.
.
.
.
.
.
.
<xsl:template match="processing-instruction('xpp')" mode="footnote">
<xsl:if test="following::footnote[1][preceding::processing-instruction('xpp')[1] = current()]">
<xsl:variable name="pb" select="."/>
<xsl:processing-instruction name="pb">
<xsl:text>label='</xsl:text>
<xsl:value-of select="$pb"/>
<xsl:text>'</xsl:text>
<xsl:text>?</xsl:text>
</xsl:processing-instruction>
</xsl:if>
</xsl:template>
运行此操作我已选择<?xpp FOOT;art6_ft1;1?>
,但我希望选择<?xpp MAIN;1;0;0;0;619;0;0?>
,请告知我该怎么做。
由于
答案 0 :(得分:1)
&#34;在这里,我想获得包含MAIN的处理指令,但我不知道如何获得它。&#34;
您可以使用以下XPath表达式来匹配名为xpp
的处理指令,其数据包含文本"MAIN"
:
processing-instruction('xpp')[contains(.,'MAIN')]