Re: [xsl] amp symbols

Subject: Re: [xsl] amp symbols
From: Chad Chelius <cchelius@xxxxxxxxxxxxxxx>
Date: Mon, 3 Jul 2006 10:08:03 -0400
The vendor that I am submitting these XML files to requires entities because there are math equations and similar items that can't be represented using ASCII. In the layout application, we use a special font to generate these items. So whenever they are used within the content of the file, we need to change them to the appropriate entity. That being said, is there a better way other than manually going through my XML file and changing those characters to their correct entity code?

chad

On Jul 3, 2006, at 9:21 AM, David Carlisle wrote:

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.

Current Thread