Re: [xsl] Returning HTML tags from a function not working

Subject: Re: [xsl] Returning HTML tags from a function not working
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 2 Feb 2006 14:51:40 GMT
Changing a newline to a br is an explict example in the XS:T2 spec.

see
http://www.w3.org/TR/xslt20/#regex-examples
you want to apply this to text nodes, so

<xsl:template match="text()">
<xsl:analyze-string select="." regex="\n">
  <xsl:matching-substring>
    <br/>
  </xsl:matching-substring>
  <xsl:non-matching-substring>
    <xsl:value-of select="."/>
  </xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>


together with an identity template to copy the rest of the document.

> All I want to do is output any tags inside the "doc" as they are,
XSLT has no access to the tags in your source document (and can not
directly generate tags in the result). The tags in your source are used
by an XMl parser to produce a node tree that XSLT uses as input, but the
parser does not report what tags were used.

> I understand now that in my code when I pass the "doc" node to my
> function, it doesn't even see the <b> tags.

But the doc element node does have a b element child, and two text node
children, and that's all XSLT needs to know.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread