[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Re: determining ID-ness in XML
On Thu, Nov 01, 2001 at 09:21:23AM -0500, Jonathan Borden wrote: > Having an xml:id attribute is a terrific idea which is the best solution to > an otherwise nasty problem. > > Since "xml:id" is already reserved, there is no chance of conflicting with > currently available software. I don't see much reason to need to update DTDs > because if you already _have_ a DTD then you can define ID attributes. The > problem exists for well formed but DTD-less XML documents for which one > needs to use the raw XPointer #foo. Agreed, this is also the reason why the "indirection" mechanisms suggested are IMHO more likely to give troubles than help. If the IDness of attributes is defined in a DTD then having the instance define this property too open wide the door to an array of problems due to the conflicts between the DTD and the instance: - what if the instance and the DTD disagree on the fact that an attribute is an ID - what's happen when a document valid per XML-1.0 would become invalid due to the IDness introduced in the instance: - ID value defined multiple times - multiple ID on an element - risk of getting #foo point to a given element if using a validating parser and to another one if just based on xml:id (the definition of XPath IDness is interesting, in case of doublons the first in document order wins http://www.w3.org/TR/xpath#unique-id) It may take quite a bit of time before finding and making decisions for all the corner cases associated to an indirect IDness mechanism. On the opposite, the distinctive difference of xml:id is that the fact that the attribute being of type ID is not defined in the instance but at the (meta)language level. The problem of scope can be dealt with relatively easilly. I think that the basic xml:id mechanism fullfills the needs of pointing into "volatile" XML instance (like XML RPC messages) where one doesn't want the cost of a validating parsing, or pointing into data without DTDs. I would not push for a way to bypass DTD validation for documents which are intended to be consumed with respect to a DTD, because that dual definition would IMHO bring a lot of troubles for little gain. If people don't want to do validation, then xml:id should be used, but if the document was authored with a DTD in mind, using an indirection mechanism to try to bypass the author intent doesn't seems to me to be an improvement, quite the opposite. Daniel -- Daniel Veillard | Red Hat Network https://rhn.redhat.com/ veillard@r... | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|