[oXygen-user] Content completion & nested dependencies

John Madden
Sun Jan 10 14:23:14 CST 2010


Thanks, George.

This type of "nested dependency" pattern is what Eric van der Vlist calls a Relax NG "co-occurrence constraint" pattern:

	http://books.xmlschemata.org/relaxng/relax-CHP-7-SECT-2.html

(I don't like that name very much, because I think "co-occurrence constraint" is a much broader concept than just this; I'd call it "one particular type of co-occurrence constraint that happens to be supported natively by RNG grammar".)

I realize it's a tough pattern to address, because it potentially involves re-rentrant code that evaluates for dependencies among various levels of different parent hierarchies.

I also understand that (per Eric van der Vlist's comments) this kind of schema pattern does not straightforwardly survive conversion to DTD or XMLSchema -- so in other words, it is primarily of interest to RNG users like me and Syd).

Nevertheless, anything you could do to address it would be great. My current project uses this pattern all over the place!!

John


On Jan 10, 2010, at 2:46 AM, George Cristian Bina wrote:

> Thanks John, Syd,
> 
> I will look into this shortly.
> The quick explanation is that for Relax NG the whole document content 
> before the insert position can determine what is accepted next but we 
> take only a reduced context formed by the preceding sibling elements and 
> the ancestors. That gives the expected results almost all situations. I 
> will see what happens exactly in this case and if we can easily correct 
> that.
> 
> Best Regards,
> George
> -- 
> George Cristian Bina
> <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
> http://www.oxygenxml.com
> 
> Syd Bauman wrote:
>> I have duplicated this problem using both the XML syntax and the
>> compact syntax in oXygen 11.1 build 2009121816 on Mac OS X 10.5.8 on
>> Intel architecture.
>> 
>> --------- schema ---------
>> start = element test { what }
>> what =
>>  element item {
>>    attribute name { "first" },
>>    element response {
>>      attribute value { "alpha" | "beta" }
>>    }
>>  },
>>  element item {
>>    attribute name { "second" },
>>    element response {
>>      attribute value { "gamma" | "delta" }
>>    }
>>  }
>> --------- end schema ---------
>> _______________________________________________
>> oXygen-user mailing list
>> 
>> http://www.oxygenxml.com/mailman/listinfo/oxygen-user
> _______________________________________________
> oXygen-user mailing list
> 
> http://www.oxygenxml.com/mailman/listinfo/oxygen-user




More information about the oXygen-user mailing list