>setExpandEntities is a DOM thing, right?

Not DOM Level 2; it might be in Level 3 (haven't checked recently) or in
the Xerces DOM-builder...

>It can't do anything about entities in attributes, because
>it doesn't know that they are happening.

The DOM permits EntityReference nodes in the content of Attributes. Xerces
always completely flattens entity references in Attributes.

The DOM permits EntityReferences elsewhere to be expanded, or flattened, as
the XML processor sees fit. The setExpandEntities hint indicates a user
preference. But it's fairly common for parsers to fully expand the built-in
entities such as > (treating them as if they were the numeric character
references they stand for) even when not expanding other entities.

I don't know enough about Xerces-C to know whether this is controllable,
but it isn't entirely unreasonable.

If you want an ampersand in your text, then yes, the right answer is to
escape it via &. If you just want an unexpanded EntityReference to a
built-in entity... the parser may not go there; you may have to convert
back from the expanded version.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to