[
Lists Home |
Date Index |
Thread Index
]
From: Rick Jelliffe [mailto:ricko@allette.com.au]
> From: "MAISONNY Benoit" <Benoit.MAISONNY@eurocontrol.int>
>
> > So: that post explains the situation for the entity "lt",
> which seems to be
> > bogus indeed in the XHTML Modularisation Specification (I
> would like to know
> > the HTML gurus' opinion on this one). My (very similar)
> problem was in fact
> > with the "amp" entity, but of course the lt one popped up
> right after.
>
> > Solution: I simply redeclared lt and amp in my "driver"
> file like this:
> > <!ENTITY lt "&#60;">
> > <!ENTITY amp "&#38;">
> > That was enough for MSXML to accept my modularised DTD.
>
> Those definitions are the ones recommended in the XML spec.
Rick is right. Here is the link that he quotes below:
http://www.w3.org/TR/2000/REC-xml-20001006#sec-predefined-ent
So it is clear what XML 1.0 says. I understand that:
<!ENTITY lt "<"> is correct (single escaping)
<!ENTITY lt "&#60;"> is correct (double escaping)
XHTML 1.0 defines these "special entities" correctly, as per XML 1.0.
But XHTML Modularisation modifies them:
http://www.w3.org/TR/xhtml-modularization/dtd_module_defs.html#a_module_XHTM
L_Special_Characters
In fact, <!ENTITY lt "&<"> is correct as well, but is not what is
intended by <
It is replaced by &< in a document.
Am I wrong to say that this shouldn't generate a validation error? After
all, it is the same as "&<" in a XHTML 1.0 document, for instance.
I quote the comment from xhtml-special.ent:
"Revisions:
2000-10-28: added ' and altered XML Predefined Entities for
compatibility"
Many parsers don't like this revision, as I reported earlier.
Benoit
>
> "If the entities gt, apos, or quot are declared, they must be
> declared as internal entities whose replacement text is the
> single character being escaped (or a character reference to
> that character; the double escaping here is unnecessary but
> harmless)."
>
> > I did further tests with the "bogus" DTD and the other
> parsers. I think it
> > can be interesting to report that here. I simply added
> "<" somewhere in
> > my sample XML instance and tried to validate it.
>
> The XML spec in s .4.6 says
> "All XML processors must recognize these entities whether
> they are declared or not. "
> about lt, gt, amp, apos, and quot.
>
> So I believe it is an error for a parser to complain that
> there is no definition.
>
> Cheers
> Rick Jelliffe
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
|