RE: [xsl] Passing through character entities intact

Subject: RE: [xsl] Passing through character entities intact
From: "McCollum , Angus" <AMcCollum@xxxxxxxx>
Date: Thu, 11 Oct 2001 10:01:36 -0400
Thanks to everyone for their posts on this topic. I now understand why
entity references such as &mdash; are removed before XSLT processing.

Unfortunately it seems like a common need to pass defined references through
from the input document type to the output document type exists. If the XSLT
transformation included an entity reference this can be passed through to
the output document.

Why then doesn't XSLT processors or the output XML serializer take a look at
output document type and any included general entity declarations could
matched to the output stream to replace with a reference.

I noted that references such as &amp; are passed through. Apparently they
are not simply passed through but parsed as a '&' character and then
substitued with a reference when the final document is written. If this
works for XML's five entity references why can the serializer check for
document specific references?

-----Original Message-----
From: Michael Kay [mailto:mhkay@xxxxxxxxxxxx]
Sent: Thursday, October 11, 2001 5:27 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Passing through character entities intact

> How do you take a character entity in an input document and
> pass it through
> to the output document as an entity(i.e. without any change)?

You can't, because XSLT processes the tree produced by the XML parser, and
that tree doesn't retain character entities.

The trick is to turn the character entities into something else (e.g. a
processing instruction) before XML parsing, which you can do by
preprocessing e.g. in Perl.

Mike Kay

 XSL-List info and archive:

 XSL-List info and archive:

Current Thread