[xsl] testing preceding sibling always evaluates true
Subject: [xsl] testing preceding sibling always evaluates true
From: Jeff Wilson <jeffrey@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 29 Jul 2011 10:11:23 -0700
|
Good Morning,
I'm trying to test the first preceding-sibling of my match to
determine what type of table I'm formatting.
This is the XSL that is testing, but it always comes back true and
all tables are formatted as Numbered tables:
<xsl:template match="/pkg:package/pkg:part/pkg:xmlData/w:document/
w:body/w:tbl">
<xsl:choose>
<xsl:when test="preceding-sibling::w:p[1]/w:pPr/w:pStyle
[@w:val='TableCaption']">
<xsl:call-template name="NumberedTable"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="TabularText"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
given this xml:
...
<w:p w14:paraId="69005124" w14:textId="77777777" w:rsidR="001D446A"
w:rsidRDefault="001D446A" w:rsidP="001D446A">
<w:pPr>
<w:pStyle w:val="TableCaption"/>
</w:pPr>
<w:r>
<w:t>Table 14.1: External data formats Inventor can import or
export</w:t>
</w:r>
</w:p>
<w:tbl>
...
...
<w:p w14:paraId="5EA14AF4" w14:textId="77777777" w:rsidR="001D446A"
w:rsidRDefault="001D446A" w:rsidP="001D446A">
<w:pPr>
<w:pStyle w:val="Para"/>
</w:pPr>
<w:r>
<w:t>As you can see from the following tabular text:</w:t>
</w:r>
</w:p>
<w:tbl>
...