Re: [xsl] amp symbols

Subject: Re: [xsl] amp symbols
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 3 Jul 2006 14:21:18 +0100
> I have a similar situation. The people that I am sending XML files  
> to, require that entities be used for certain characters.

I maintain a DTD that has perhaps more character entities than any other
"public" DTD (MathML has more than 2000 entities for characters) but
still, I question whether there is ever a need to have such a character
reference in generated files (such as the output of xslt). Entities for
characters are really there to ease hand authoring.

If people said they needed attributes to be marked up using ' instead
of " then you would be in a simialr position, the XSLT spec gives no
control over this, so you have the option of

a) educate your users that XML does not distinguish between these markup
   forms, so they should not either.

or, if your users are unwilling to be educated, or in a position of
power, such they may choose not to listen, or if you just want to be
kind to them anyway,

b) post process the XSLT output with a NON-XML tool such as perl or sed
to edit the markup appropriately.


XSLT1 does give disable-output-escaping that can be used sometimes as an
alternative to (b) but it's not usually a good idea, and expplictly an
optional feature in XSLt1 and explictly deprecated in XSLT2. If you
really must do something like this, and can use XSLT2, character maps
provide a much better mechanism architecturally.

David

Current Thread