如果第一个wd是一个数字,我想让我的代码挑出文档的前三个单词。按出现顺序选择某些节点
但是,由于某些原因,第二个和第三个节点没有被正确选择。 我的代码显示了我如何选择第一个节点,以及我尝试选择后续节点的两种方式。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ss="http://www.scansoft.com/omnipage/xml/ssdoc-schema3.xsd">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:value-of select="//ss:wd[1]"/>
<xsl:text> </xsl:text>
<xsl:value-of select="following::ss:wd"/>
<xsl:text> </xsl:text>
<xsl:value-of select="//ss:wd[2]"/>
<xsl:text> </xsl:text>
</xsl:template match="/">
</xsl:stylesheet>
使用“下面的”轴术语返回任何内容,以及[2]术语返回管线600中的WD(靠近原稿的另一端)。 我看不出wd [2]与wd [1]的位置有什么关系。
我在这里错过了什么?
输入XML例如:
<?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:\Users\User\Documents\OCR\Unprocessed\7740412641.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="1027" r="7366" b="1502">
<para l="7234" t="1027" r="7354" b="1502" alignment="left" spaceBefore="29" spaceAfter="4" lsp="exactly" lspExact="120" language="en">
<ln l="7234" t="1027" r="7354" b="1502" baseLine="1303" underlined="none" subsuperscript="none" fontSize="700" fontFace="Times New Roman" fontFamily="roman" fontPitch="variable" spacing="-23">
<wd l="7234" t="1027" r="7354" b="1502">1,044.47</wd>
</ln>
</para>
</dd>
<dd l="6859" t="1027" r="7020" b="1512">
<para l="6888" t="1027" r="7008" b="1512" alignment="left" spaceBefore="29" spaceAfter="4" lsp="exactly" lspExact="120" language="en">
<ln l="6888" t="1027" r="7008" b="1512" baseLine="1302" underlined="none" subsuperscript="none" fontSize="700" fontFace="Times New Roman" fontFamily="roman" fontPitch="variable" spacing="-21">
<wd l="6888" t="1027" r="7008" b="1512">5,222.37</wd>
</ln>
</para>
</dd>
<dd l="7502" t="1027" r="7663" b="1512">
<para l="7531" t="1027" r="7651" b="1512" alignment="left" spaceBefore="29" spaceAfter="9" lsp="exactly" lspExact="120" language="en">
<ln l="7531" t="1027" r="7651" b="1512" baseLine="1302" underlined="none" subsuperscript="none" fontSize="700" fontFace="Times New Roman" fontFamily="roman" fontPitch="variable" spacing="-21">
<wd l="7531" t="1027" r="7651" b="1512">6,266.84</wd>
</ln>
</para>
</dd>
<para>
<ln>
<wd>example that's much later</wd>
</ln>
</para>
</dd>
</body>
</page>
</document>
对于初学者,您的问题缺少** 1 **一个示例XML输入和** 2 **整个模板,如果不是整个样式表。 –
我不认为这是必要的,但我会在一瞬间添加它 – Dan
如果您的问题是关于XSLT,请始终包含这些内容。在大多数情况下,无论如何都要求您添加它;-)。 –