[
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 & Jerry</iceCream>
>
> when to do a
> <xsl:value-of select="iceCream" />
>
> will I get
>
> Ben & 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
|