OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

relax-ng message

[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]