Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: normalized enumeration facet values

From: Kasimier Buchcik <kbuchcik@---------.-->
To: "Henry S. Thompson" <ht@---.--.--.-->
Date: 3/16/2005 12:14:00 PM
Henry S. Thompson wrote:
> Kasimier Buchcik <kbuchcik@4...> writes:
> 
> 
>>I still have a question concerning a similar issue: If restricting the
>>value of the whitespace facet of the base type, what whitespace
>>value is actually used for validation, the inherited or the restricted?
> 
> 
> Should be the restricted, otherwise what's the point?

My question might have been misleading: it boils down to the question
if the current type or the base type is used to create the normalized
value of the enumeration facet. So as I understand you below, the
inherited type is used, thus the inherited whitespace facet's value is
used.

>>Example:
>>
>><?xml version="1.0"?>
>><schema xmlns="http://www.w3.org/2001/XMLSchema">
>>   <element name="foo">
>>     <simpleType>
>>       <restriction base="string">
>>         <enumeration value="hel   lo"/>
>>         <whiteSpace value="collapse"/>
>>       </restriction>
>>     </simpleType>
>>   </element>
>></schema>
>>
>><?xml version="1.0"?>
>><foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> >  hel lo  </foo>
>>
>>Xerces uses the inherited whitespace value for normalization:
>>
>>"(Error) cvc-enumeration-valid: Value 'hel lo' is not facet-valid with
>>respect to enumeration '[hel   lo]'. It must be a value from the
>>enumeration."
> 
> 
> That's a bug in the spec., in my opinion, with hindsight.  The
> spec. says the enumeration values must be valid (and as a consequence,
> normalized with respect to) the base type defn, not the type defn
> itself.  It's simpler that way, but at best confusing (as in your
> example) and at worst bizarre:
> 
> <simpleType>
>  <restriction base="string">
>   <maxLength value="1"/>
>   <enumeration value="xx"/>
>  </restriction>
> </simpleType>
> 
> is a legal, unsatisfiable, type definition, per the spec.
> 
> I _think_ I'd prefer to see the checking and normalization done
> against the type defn itself.

I'm with you here: I find it somehow confusing to define an enumeration
facet, plus a restricting whitespace facet, and to see the enumeration
facet's value being normalized accoring to the base type, not the
current type. Although a bit different, it feels like defining a fixed
value constraint, and see it in the value space of the according actual
type's base type.

>>XSV (I'm not sure if it just fails due to the bug):
> 
> 
> Yes, but my locally patched version also fails.

If this is just a bug in the spec, than the example should fail - and it
does with XSV. The only thing I see to be not correct is the displayed
error, reporting the "collapsed" enumeration facet's value, being the
reason why I got unsure if the "collapsed" whitespace facet - according
to the current type - was used or the inherited "preserve" whitespace
facet.

Can you foresee if this is going to be changed in XML Schema 1.1?

Thanks & regards,

Kasimier

From ht@i... Wed Mar 16 16:47:50 2005
Received: from bart.w3.org ([128.30.52.40])
	by frink.w3.org with esmtp (Exim 4.44)


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent