我需要在我的XML文档中选择一个精确值为"RM"的字符串。
这是我的文档示例。请注意,其他节点的结构和值不是永久的,因此我无法使用相对位置来帮助我。
?xml version="1.0" encoding="UTF-16"?>
<?xml-stylesheet type="text/xsl" href="XSLT.xsl"?>
<document xmlns="http://www.scansoft.com/omnipage/xml/ssdoc-schema3.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<page ocr-vers="OmniPageCSDK18" app-vers="OmniPage 19">
<description>
<source file="C:UsersUserDocumentsOCRUnprocessed7740412639.pdf" dpix="300" dpiy="300" sizex="2480" sizey="3509"/>
<theoreticalPage size="A4" marginLeft="1440" marginTop="0" marginRight="1440" marginBottom="1440" offsetX="-2" offsetY="-2" width="11918" height="16854"/>
</description>
<body>
<dd l="87" t="322" r="9667" b="16536">
<dd l="115" t="322" r="9667" b="16536">
<picture l="115" t="322" r="9667" b="16536" alignment="left">
</picture>
</dd>
<dd l="7205" t="1166" r="7366" b="1392">
<para l="7234" t="1171" r="7334" b="1392" alignment="left" spaceBefore="29" spaceAfter="24" lsp="exactly" lspExact="100" language="en">
<ln l="7234" t="1171" r="7334" b="1392" baseLine="1319" underlined="none" subsuperscript="none" fontSize="700" fontFace="Times New Roman" fontFamily="roman" fontPitch="variable" spacing="-40">
<wd l="7234" t="1171" r="7334" b="1392">ARMARMRM</wd>
</ln>
</para>
</dd>
<dd l="6859" t="1114" r="7020" b="1426">
<para l="6888" t="1118" r="6989" b="1426" alignment="left" spaceBefore="29" spaceAfter="23" lsp="exactly" lspExact="101" language="en">
<ln l="6888" t="1118" r="6989" b="1426" baseLine="1307" underlined="none" subsuperscript="none" fontSize="700" fontFace="Times New Roman" fontFamily="roman" fontPitch="variable" spacing="-31">
<wd l="6888" t="1118" r="6989" b="1426">RM</wd>
</ln>
</para>
</dd>
</dd>
</body>
</page>
</document>
我尝试使用contains
并确保值为 NaN。我还研究了如何使用matches
并查看了正则表达式,尽管这显然仅在XSLT 2中可用。
实际上有没有办法在 XSLT 中执行此操作?如果是这样,如何?
澄清当我说请注意,其他节点的结构和值不是永久性的我的意思是你不能使用 Xpath 导航到节点,因为该 Xpath 可以更改。
下面选择仅包含字母"RM"的字符串:
//ss:wd[. = 'RM']