[
Lists Home |
Date Index |
Thread Index
]
- From: Marc.McDonald@Design-Intelligence.com
- To: cowan@locke.ccil.org, david-b@pacbell.net
- Date: Mon, 17 May 1999 15:26:45 -0700
Steve Dahl pointed out my mental typo minutes after posting and I cleverly
replied to him and not xml-dev. I meant the case later described:
((c,d,e,f,g) | (c,d,e,f,h)).
>From reading appendix E of the XML spec, I put a lot more work into my
pattern validator than needed. It does <n> element lookbehind, rolling back
to last alternative when pattern fails.
The appendix is still a bit ambiguous since it mentions algorithms to reduce
non-deterministic patterns to deterministic ones and doesn't say if such
reductions are required.
It seems rather arbitrary to allow (b,c,(e | f)) but not ((b,c,e) |
(b,c,f)). A manual re-write is not possible when the 2 patterns may have
been created by entity parameters:
<!ENTITY % a '(b,c,e)'>
<!ENTITY % b '(b,c,f)'>
<!ELEMENT r (%a; | %b;)>
A technique commonly used to enable the reuse element definititions in a
DTD.
Marc B McDonald
Principal Software Scientist
Design Intelligence, Inc
www.design-intelligence.com <http://www.design-intelligence.com>
----------
From: David Brownell [SMTP:david-b@pacbell.net]
Sent: Sunday, May 16, 1999 11:56 AM
To: John Cowan
Cc: xml-dev@ic.ac.uk
Subject: Re: Again wit da AND and Repetitions
John Cowan wrote:
>
> Mark McDonald wrote:
>
> > > <!ELEMENT x (a? | b?)>
> > > <!ELEMENT a (c,d,e,f,g)>
> > > <!ELEMENT b (c,d,e,f,h)>
> > >
> > > With an input of elements c, d, e, f, h in element x.
>
> And David Brownell replied:
>
> > Actually, the content model for "x" is in error there, so any
> > XML processor is allowed to report an error however rudely it
> > chooses to do so. That content model is "ambigious".
>
> I can only assume that both of you are suffering from brain farts.
> Any "x" that contains anything but an "a" or a "b" is obviously
> invalid. You are talking as if the above declarations were:
>
> <!ENTITY % a "(c,d,e,f,g)">
> <!ENTITY % b "(c,d,e,f,h)">
> <!ELEMENT x (%a;? | %b;?)>
>
> Element declarations refer to lexically apparent objects
(elements),
> not to mere groups of elements defined by pseudo-BNF.
Ah, yes ... I was reacting to the intent, not the exact wording!
Thanks for catching that.
There've been misstatements on this topic. The XML spec is clear
that ambiguous content models are errors. What it does poorly is
say exactly what that means; it basically boils down to a reality
that documents better not have it, "or else". And any parser is
free to do _whatever it wants_ when faced with such errors.
- dave
xml-dev: A list for W3C XML Developers. To post,
mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on
CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following
message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|