如何在 XSLT 中选择确切的字符串



我需要在我的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']

相关内容

  • 没有找到相关文章

最新更新