[oXygen-user] wrong conjunction for multiple pattern facets?

George Cristian Bina
Fri Dec 29 03:17:17 CST 2006


Hello Syd,

Here it is an oNVDL distribution with the pattern changes rolled back, 
it checks against all the pattern constraints:
http://www.oxygenxml.com/update/onvdl.jar
Replace the oXygen lib/onvdl.jar with the above jar.

For all:
Happy New Year!
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com


George Cristian Bina wrote:
> Hi Syd,
> 
> Thanks for following on this issue.
> Here it is what happened: one of our users reported this as a bug. 
> Asserting this as a bug was based on the fact that if you convert the 
> Relax NG schema to XML Schema through TRANG you will get multiple 
> pattern facets in XML Schema that as I quoted the spec will be ORed, so 
> the result XML Schema will accept a value that matches any of the 
> pattern constraints and I thought Relax NG just delegates to XML Schema 
> for these facet constraints so it should behave similarly.
> I can very easily rollback those changes in oNVDL - in fact I will 
> provide you a link to an updated version with these changes rolled back 
> soon.
> 
> Best Regards,
> George
> ---------------------------------------------------------------------
> George Cristian Bina
> <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
> http://www.oxygenxml.com
> 
> 
> Syd Bauman wrote:
>> Hi George; thanks for the quick and insightful reply. I just don't
>> get it, though. Before I explain, though, let me say that I realize
>> that the rest of this discussion may be out of scope for this list --
>> this is a problem that is not oXygen's fault, and exists whether or
>> not oXygen does. I get to this problem because I use oXygen, but feel
>> free to tell me it's time to move this to rng-users or some such.
>>
>>
>> I am close the furthest thing there is from an expert on the W3C XML
>> Schema language, and I had never heard of, let alone read, 4.3.4.3,
>> before you pointed it out. But upon reading it now, I have to admit I
>> don't quite understand
>> a) what it means
>> b) what it's got to do with RelaxNG validation
>>
>>
>> The text of 4.3.4.3 says something that, on the face of it, seems
>> silly.
>>    If multiple <pattern> element information items appear as
>>    [children] of a <simpleType>, the [value]s should be combined as
>>    if they appeared in a single regular expression as separate
>>    branches.
>>
>> First, I am under the (perhaps erroneous) impression that a <pattern>
>> element can not be the child of a <simpleType> element.
>>
>> Second, the idea seems silly. If I wanted two regular expressions R1
>> and R2 to appear in a single regular expression as separate branches,
>> I could have just written "R1|R2", no? So my gut instinct is that
>> this rule isn't helpful.
>>
>> The note attached to 4.3.4.3 says
>>
>>    ... pattern facets specified on the same step in a type derivation
>>    are ORed together, while pattern facets specified on different
>>    steps of a type derivation are ANDed together.
>>
>> but I have yet to figure out what a "step" is. Sigh. I suppose I
>> should probably just go buy & read Eric van der Vlist's book on XSD
>> and read it ... maybe someday.
>>
>>
>> But more importantly, whatever XSD says about multiple patterns,
>> RelaxNG seems pretty clear. The following is from section 2 of
>> "Guidelines for using W3C XML Schema Datatypes with RELAX NG"[1]
>>
>>    If the 'pattern' parameter is specified more than once for a
>>    single 'data' element, then a string matches the 'data' element
>>    only if it matches all of the patterns.
>> Seems pretty clear to me.
>>
>>
>> Note
>> ----
>> [1] Which I found at http://relaxng.org/xsd-20010907.html; it is
>>     linked to from the main RelaxNG home page.
>>
>> _______________________________________________
>> 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