[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [relax-ng] Two errata for RNG
On Wed, 18 Aug 2004 12:14:24 -0400 Norman Walsh <ndw@nwalsh.com> wrote: > It would take me a long time to read and understand that paper well > enough to follow the argumentation on pages 6 and 22 and 23. Can you > provide a short gloss in relatively simple prose? (If the answer is > "no", that's fine :-) Sure. Let me quote some sentences from the paper and rewrite them in the RNG terminology. "So far, we have used the restriction that any attribute repetition has either a singleton name set or the any content." This means that attribute patterns having infinite nameclasses have to allow everything (i.e., text). "What if we remove this restriction? Unfortunately, this seems to break closure under difrence." This is the problem. "For example, consider computing the difrence @N [any]+ | @N[x]+." Consider the difference between (attribute * {text}) + and (attribute * {xsd:int})+. Note that I am using * instead of N and xsd:int instead of x. "The resulting expression should satisfy the following. Each value in it has a set of attributes all with names from N . But at least one of them has a content not satisfying x. The expression @N[not(x)]+ is not a right answer because it requires all attributes to have contents not satisfying x. Although this argument is not a proof, it gives a strong feeling that there is no answer." attribute * {myLibrary:anythingExceptXSDINT}+ does not capture this difference. > |> Attributes using infinite name classes shall have text as their value. > |> More precisely, an attribute element that has an anyName or nsName > |> descendant element shall have a text child element. NOTE 2 This > |> restriction is necessary for closure under negation. > > Ah, so the erratum is explicitly to change the current text in > http://www.relaxng.org/spec-20011203.html: ... > Is that the erratum? No. Your rewrite drops a constraint. I am proposing to introduce another constraint. The OASIS RNG spec says: > Attributes using infinite name classes must be repeated. More > precisely, an attribute element that has an anyName or nsName > descendant element must have a oneOrMore ancestor element. > > Note > > This restriction is necessary for closure under negation. But DSDL Part 4 says: > Attributes using infinite name classes shall be repeated. More > precisely, an attribute element that has an anyName or nsName > descendant element shall have a oneOrMore ancestor element. > > NOTE 1 This restriction is necessary for closure under negation. > > Attributes using infinite name classes shall have text as their > value. More precisely, an attribute element that has an anyName or > nsName descendant element shall have a text child element. > > NOTE 2 This restriction is necessary for closure under negation. So I am proposing to add the second half of the above. Cheers, -- MURATA Makoto (FAMILY Given) <EB2M-MRT@asahi-net.or.jp>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]