Subject: Re: [xsl] recognize character entities|
From: Frank Marent <frank.marent@xxxxxxxxxxx>
Date: Wed, 30 Aug 2006 07:48:10 +0200
[Search /x] <m:mo>&*;</mo> [Replace] <m:mo fontfamily='Symbol'>&%1;</mo>
best regards frank
situation, isIs it in the spirit of XML to let the parser expand the entity references back to themselves? For example, in the abovethis a reasonable thing to do:
<!ENTITY euro "&euro;">
It might be (but probably isn't:-) But that isn't making teh entity reference convert back to itself, it's making it expand to the 6 characters €, not to an entity reference.
the real question is why are you looking for the entity refs.
The whole point of entities are supposed to be as an author convenience
so if the _author_ doesn't have a euro key on his or her keyboard and
finds it convenient to instead type € that they may do so safe in
the knowledge that alllater applications will treat € the same as
if the character had been entered directly.
So if you make € be something else then the "spirit" has
in that now the character and the entity ref will do different things.
Do you really need to look for entity refererences or do you need to look for characters that are normally entered via entity references?
If you do end up redefining teh entities, it's easier to test for <entity name="euro"/> in xslt1 than it is for a string containing &euro; and much easier to use xslt to convert it back to a single character.
But the question is really _why_ do you want to treat € differently from € ?
Sorry, I apologize. I interjected the question above on entity handling, but failed to note that I wasn't the original poster for this thread. I was curious about the poster's situation because I came across something similar some time ago. Unfortunately, I can't detail the exact circumstances of why I needed to do such a thing. Vaguely, it had something to do with creating a mapping table of some sort.
Anyway, the bottom line is that, obviously, I don't know the reasoning WHY behind the original poster's query.
Sorry I misspoke. Didn't mean to sidetrack the discussion.