OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] question concerning parsing entity references in xslt

[ Lists Home | Date Index | Thread Index ]

[Bill Riegel]

> When writing a xslt file, Is it expected that all entity references will
be
> replace with their string replacement
>
> i.e. if the input is
> <iceCream>Ben &amp; Jerry</iceCream>
>
> when to do a
> <xsl:value-of select="iceCream" />
>
> will I get
>
> Ben &amp; Jerry
> Or
>
> Ben & Jerry

You have to distinguish between what characters go into the string value of
a node and what gets serialized in the output.  "& amp ;" (spaces added just
in case) will  be stored as an ampersand, but if you are serializing to xml
or html, the serializer will correctly output it as "& amp  ;".  For text
output, the ampersand does not need to get escaped and does not.

If you define some other entities, by means of the "internal subset",
generally all the entities would get converted to their respective
characters when they get stored as the value of a node.  Again, what you get
in the output will depend on the output format - xml, html,or text - and
whether the entities contain any characters that need escaping.

What will not happen is that the output would contain the original entities
declared in the internal subset (the ones you made up yourself).

One further distinction is the difference between __what you see in a
browser display__ and __what the characters really are__.  Make user you do
not get fooled by that.  For example, a browser will display "& amp ;" as
"&".  THis has fooled quite a few people into thinking that they were
getting something different from what they expected when actually it was
fine.

Cheers,

Tom P






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS