[xsl] template matching on text value of a parent......not

Subject: [xsl] template matching on text value of a parent......not
From: "Ihe Onwuka ihe.onwuka@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 14 Aug 2014 19:30:34 -0000
Here is some XML

<flowTypologies type="flowTypologies">
  <flowTypology type="flowTypology">
    <label type="string">Typology0</label>
    <value type="string">CAP</value>
  </flowTypology>
  <flowTypology type="flowTypology">
    <label type="string">Typology1</label>
    <value type="string"/>
  </flowTypology>
  <flowTypology type="flowTypology">
    <label type="string">Typology2</label>
    <value type="string"/>
  </flowTypology>
  <flowTypology type="flowTypology">
    <label type="string">Typology3</label>
    <value type="string"/>
  </flowTypology>
  <flowTypology type="flowTypology">
    <label type="string">Typology4</label>
    <value type="string">INT</value>
  </flowTypology>
  <flowTypology type="flowTypology">
    <label type="string">GlobalCashflowTypology</label>
    <value type="string"/>
  </flowTypology>
</flowTypologies>


Here is a stylesheet snippet to transform it.

<xsl:stylesheet
        xmlns:xs="http://www.w3.org/2001/XMLSchema";
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
exclude-result-prefixes="xs" version="1.0">

   <xsl:template  match="flowTypologies[. =
'Typology0CAPTypology1Typology2Typology3Typology4INTGlobalCashFlowTypology']">
      <xsl:text>I should get here</xsl:text>
   </xsl:template>

</xsl:stylesheet>

So the hope was that to template match on the the text value of the top
level node. The string in the template predicate should be the
concatenation of the text in all the subordinate nodes under flowTypologies.

However it does not match.

This is an XSLT 1.0 stylesheet I have tried transforming it with Saxon 6.5
and Xalan.

I have done a value-of on flowTypologies and it does yield the value being
tested for in the predicate, but rule never fires.

Current Thread