xsl-list
[Top] [All Lists]

RE: Applying templates to a mixed content node

2003-09-16 20:43:10
Your code looks perfectly OK to me.

Which means either I'm missing something, or the problem is not in the
bit of code that you've shown us.

Michael Kay

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Ryan Graham
Sent: 16 September 2003 21:26
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Applying templates to a mixed content node


Hi,

I have the following source XML (which is formed somewhat awkwardly):

<p>Some text for the p tag.
      <tabular>
              <table>
              ...
              </table>
      </tabular>
</p>

Note that <p> contains both text and other children elements. 
In processing, I would like to write the p/text() node to an 
FO block, and then continue to process the <tabular> node 
with templates.  These xpath expressions seem evaluate 
correctly, but the processor never processes the <tabular> node:

<xsl:template match="p">
      <xsl:if test="./tabular">
              <fo:block xsl:use-attribute-sets="para">
                      <xsl:value-of select="./text()" />
              </fo:block>
              <xsl:apply-templates select="tabular"/>
      </xsl:if>
      <fo:block xsl:use-attribute-sets="para">
              <xsl:apply-templates />
      </fo:block>
</xsl:template>

Any suggestions on how to make the processor recognize that 
<p> contains a <tabular> before processing the node?

Thanks so much,
Ryan

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list