[
Lists Home |
Date Index |
Thread Index
]
As fascinating as this is, what does it have to do with subsetting XML?
> -----Original Message-----
> From: Alaric B. Snell [mailto:alaric@alaric-snell.com]
> Sent: Wednesday, February 26, 2003 1:10 PM
> To: ari@cogsci.ed.ac.uk
> Cc: Simon St.Laurent; xml-dev@lists.xml.org
> Subject: Re: [xml-dev] The subsetting has begun
>
> On Wednesday 26 February 2003 19:00, K. Ari Krupnikov wrote:
>
> > <!DOCTYPE A [
> > <!ATTLIST D id ID #IMPLIED>
> > <!ATTLIST D ref IDREF #IMPLIED>
> > ]>
> > <A>
> > <B>
> > <D id="d1">
> > <any> children D might have, just to make it more
> interesting</any>
> > </D>
> > </B>
> > <C>
> > <D ref="d1"/>
> > </C>
> > </A>
>
> Ah, but that's implementing a form of pointer on top of the underlying
> tree
> structure by nominating a part of the tree - that, otherwise, would
mean
> nothing but that 'id' equalled 'd1' - and giving it some semantics.
>
> Yet again, unless your program explicitly went to the effort of
matching
> up
> the id references itself, any parser would still show the D within B
and
> the
> D within C to be different elements. Even in XPath, they are
different.
> The
> DTD declares that the second D is linked to the first in some way, but
> doesn't say that this is supposed to be an identity constraint, so it
> still
> doesn't make it a DAG, it merely potentially *suggests* a DAG
viewpoint of
> the tree :-)
>
> It would be a DAG if, instead of the second D, you could write:
>
> <?xml-ptr d1?>
>
> ...with <?xml-ptr?> being defined as being substituted for the element
> whose
> ID is d1 during parsing.
>
> But anyway! I'm splitting hairs and have been doing so all day! Stop
> baiting
> me! :-)
>
> ABS
>
> --
> A city is like a large, complex, rabbit
> - ARP
>
> -----------------------------------------------------------------
> 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>
|