[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>
...


Current Thread