[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Why does this work? Parameter entity references and namespaces

  • From: Elliotte Rusty Harold <elharo@m...>
  • To: xml-dev <xml-dev@x...>
  • Date: Sat, 11 Mar 2000 13:07:14 -0800

pcdata entity references
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@m... | 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@x...&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.