XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] XML Schema: Chameleon Redefine Pervasiveness Puzzle

The specification is hopelessly unclear about this kind of situation. My
belief is that a chameleon include creates a copy of the original
definition; your two redefinitions therefore apply to different types and
are therefore compatible with each other. Your schema has the "sought-after"
functionality. However, I think you are in territory where one cannot
criticize products that have interpreted the spec in a different way. I
think schemas that are built making heavy use of xs:redefine are likely to
be fragile and therefore best avoided.

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Paul Hermans [mailto:paul.hermans@amplexor.com] 
> Sent: 04 April 2008 17:12
> To: xml-dev
> Subject: [xml-dev] XML Schema: Chameleon Redefine Pervasiveness Puzzle
> 
> Start Situation
> ----------------
> Schema A: no target namespace
> 1 simpleType "T" being a union of a specific "enumeration of QNames"  
> and "QNames".
> Rationale: The enumeration must be restrictable and/or extensible.
> 
> Schema B: targetnamespace 'B'
> includes Schema A as a chameleon
> hence simpleType "T" becomes part of the namespace 'B': {B}:T 
> one element {B}:a has datatype simpleType {B}:T
> 
> Schema C: targetnamespace 'C'
> includes Schema A as a chameleon
> hence simpleType "T" becomes part of the namespace 'C': {C}:T 
> one element {C}:x has datatype simpleType {C}:T
> 
> Schema D: targetnamespace 'D'
> imports Schema B and Schema C.
> 
> Redefine with 2 schemafiles added
> ---------------------------------
> Schema BB: targetnamespace 'B'
> redefines Schema B
> by extending the enumeration in simpleType {B}:T
> 
> Schema CC: targetnamespace 'C'
> redefines Schema C
> by restricting the enumeration in simpleType {C}:T
> 
> Schema D: targetnamespace 'D'
> imports now schema 'BB' and schema 'CC'
> 
> Functionality sought-after:
> element {B}:a can use a value of the extended enumeration 
> element {C}:x can only use values from the restricted enumeration
> 
> Pervasive impact
> ----------------
> Redefinitions replace the original definitions.
> 
> My question is how far this impact goes.
> Possibility 1: Does the redefinition stop at the level of 
> {B}:T and {C}:T in the two schemas with the targetnamespaces?
> Possibility 2: Or goes it one step further by replacing the 
> chameleon datatype 'T', which leads to a conflict since one 
> redefinition is a restriction and the other is an extension.
> Is there one of the redefenitions that takes priority than?
> Anyhow, if possibility 2 is the case than I cannot achieve 
> with redefine the functionality sought-after (see above).
> 
> Is there another option to implement this feature:
> starting with one template enumeration (union) which can be 
> extended in one namespace and restricted in a second without 
> the use of xsi:type?
> 
> Thanks,
> 
> Paul
> 
> 
> 
> 
> 
> 
> ______________________________________________________________
> _________
> 
> XML-DEV is a publicly archived, unmoderated list hosted by 
> OASIS to support XML implementation and development. To 
> minimize spam in the archives, you must subscribe before posting.
> 
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org List archive: 
> http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS