[
Lists Home |
Date Index |
Thread Index
]
- From: Elliotte Rusty Harold <elharo@metalab.unc.edu>
- To: xml-dev <xml-dev@xml.org>
- Date: Sat, 11 Mar 2000 13:07:14 -0800
To allow DTDs to interoperate with namespaces, one might attempt the
following:
<!ENTITY % rd-prefix "rd">
<!ENTITY % rd-colon ":">
<!ELEMENT %rd-prefix;%rd-colon;test (#PCDATA)>
Then you could redefine the prefixes and colons by redefining the
respective entities. However, this fails because XML parsers add an
extra space on each side of the resolved parameter entity reference so
what you really get is this:
<!ELEMENT rd : test (#PCDATA)>
when what you want is
<!ELEMENT rd:test (#PCDATA)>
This behavior is described in section 4.4.8 of the XML 1.0 spec,
http://www.xml.com/axml/target.html#as-PE
However a trick I picked up from the MathML 2.0 DTD is to use double
indirection like this:
<!ENTITY % rd-prefix "rd">
<!ENTITY % rd-colon ":">
<!ENTITY % rd-test "%rd-colon;%rd-prefix;test">
<!ELEMENT %rd-test; (#PCDATA)>
This works but for the life of me I can't see why. How come the rd-test
entity is defined as "rd:test" instead of " rd : test"? Can anyone
justify this behavior in terms of the spec?
+-----------------------+------------------------+-------------------+
| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
+-----------------------+------------------------+-------------------+
| Java I/O (O'Reilly & Associates, 1999) |
| http://metalab.unc.edu/javafaq/books/javaio/ |
| http://www.amazon.com/exec/obidos/ISBN=1565924851/cafeaulaitA/ |
+----------------------------------+---------------------------------+
| Read Cafe au Lait for Java News: http://metalab.unc.edu/javafaq/ |
| Read Cafe con Leche for XML News: http://metalab.unc.edu/xml/ |
+----------------------------------+---------------------------------+
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|