[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Schema composition questions

  • From: "Shlomo Yona" <S.Yona@F...>
  • To: "Michele Vivoda" <idmichele@y...>,<xml-dev@l...>
  • Date: Sat, 14 Jul 2007 21:21:31 -0700

RE:  Schema composition questions
Hello,

The link is indeed interesting. Thanks.
So, regarding 5, I understand that wildcards represent names that "exist" (defined/declared) in the same schema document or in schema documents that are imported or included into it. Right? This means that wildcards do not reference names that are declared/defined in including/importing schema documents. Is this what you mean?




Shlomo.

-----Original Message-----
From: Michele Vivoda [mailto:idmichele@y...] 
Sent: å 13 éåìé 2007 17:27
To: Shlomo Yona; xml-dev@l...
Subject: Re:  Schema composition questions

Hi,

when I have doubts about include/composition 
I often look to this illuminating post:

http://xsd.stylusstudio.com/2004Oct/post01000.htm#

For question 5, I was looking at it yesterday 
and from what I read in (4.2.1), 
wildcards in included 
documents that have in the {namespace constraint} 
[this property is now {namespaces} in Schema 1.1] 
the {absent-namespace} should be changed substituting 
the {absent-namespace} with the <inlcud>ing namespace,

I believe.

I think that wildcards are much better treated in 
schema 1.1 (and they should be also compatible with
1.0). 


An other question could be what happens if I
really mean to skip all no-ns attributes

<xs:anyAttribute namespace='##local' 
  processContents='skip'/>

and then I include...

Perhaps an answer is in Schema1.1 - 4.2.1, 
where there is this note:

Note: If a schema document is to be included in a way
 as described in clause 2.3, then it should avoid
 using either ##other or ##local in a wildcard,
 because the result of the inclusion will not be the
 same as if the schema document being included had a
 targetNamespace [attribute] that is the same as that
 of the including schema document.

Regards, 
Michele Vivoda



--- Shlomo Yona <S.Yona@F...> ha scritto:

> Hello,
> 
> I hope that it is appropriate to post a link to a
> thread in xmlschema-dev, where I could not get a
> response (other than that of Paul Kiel, who tried
> kind to answer from a schema author's point of
> view).
> 
> I have some questions which are related to schema
> composition. I read the XML Schema recommendation
> and was not able to understand the desired correct
> behavior in some cases.
> 
> I hope that some of the experts here can help me by
> shedding some light on this. I need the perspective
> from an implementation of an XML processor rather
> than the one of a schema author (although that
> perspective can surely give some insights as well):
> I'm trying to understand how it is expected to work,
> not design patterns that work around incompatibility
> issues.
> 
> The original questions were asked here:
>
http://lists.w3.org/Archives/Public/xmlschema-dev/2007Jul/0001.html
> 
> Some more examples for "what I mean" are listed in
> my response to Paul Kiel below.
> 
> Thanks for your help
> 
> Shlomo.
> 
> -----Original Message-----
> From: xmlschema-dev-request@w... on behalf of
> Shlomo Yona
> Sent: Sun 7/8/2007 10:41 AM
> To: Paul Kiel; xmlschema-dev@w...
> Subject: RE: schema composition questions
>  
> 
> 
> Hello,
> 
> 
> [This is related to my 1st question]
> >>Paul: this is certainly legal and useful. It is
> called "namespace
> >>coercion" because you are coercing the schema B
> into the namespace A.  But
> >>if the nesting gets more complicated it sometimes
> is not exactly
> >>interoperable across implementations.  We ran into
> trouble using this some
> >>time ago.
> 
> I think that I understand what happens in a trivial
> case such as this:
> A (tns "A") includes B (no tns)
> 
> All the top level names in B are now in the
> namespace that A declares as its target namespace
> (tns "A").
> 
> What I don't understand is the case where
> A (tns "A") includes B (no tns) which imports C (tns
> "C").
> Is this a legal situation?
> What is the fully qualified name of top level names
> from C in the composed schema document?
> I would argue that the following possibilities
> should be considered (I am not sure that I listed
> all possibilities and am not sure at all which is
> the correct or desired behavior):
> * This is illegal and the whole schema processing
> fails
> * A include B import C fails (not all top level
> names in the composed B and C can be coerced into
> the target namespace of A) and the result is only A
> include B (ignoring the import of C into B)
> * The composed schema is only A itself due to
> failure of coercing all the names in the composed B
> and C schema documents
> * The composed schema document includes top level
> names in A under the target namespace "A" + top
> level names in B under the target namespace "A" +
> top level names in C under the target namespace "C".
> 
> So... what is the correct or desired behavior?
> 
> 
> 
> [this is related to my 2nd question]
> >>Paul:  The ordering is not significant here.
> 
> Is it always the case that the order of processing
> xsd:import and xsd:include in a schema document is
> insignificant? Or are there examples where order
> matters?
> 
> 
> [This is related to my 3rd question]
> >>Paul: This is where interoperability can be a
> problem.
> >>I would suggest that you keep it to one no-ns
> schema being
> >>included into one ns schema.
> >>If you have multiple levels of includes and
> multiple levels
> >>of "coercion" then tools can interpret that
> differently.
> >>To be frank, we ran into problems with namespace
> coercion 
> >> and decided to abandon it altogether.  
> 
> This is exactly my question. I'm asking this from an
> XML processor implementation point of view and not
> from a schema author "best practice" point of view.
> I want to implement the "right thing" and the
> correct behavior. My problem is that I do not
> understand from the recommendation what is exactly
> the correct behavior.
> 
> [This is related to my 4th question]
> >>Paul: There is not a problem with circular
> includes per se.
> >>Namespaces aside, the spec says that duplicative
> includes/imports
> >>should be ignored.
> >>So just being circular is not an error.
> >>Now with namespaces, you are better off avoiding
> this kind of 
> >> behaviour because tools may interpret it
> differently.
> 
> Again, I want to implement the correct behavior into
> my XML processor. I'm not asking this as a schema
> author. Can you point out the proper way to handle
> such cases? Where in the recommendation is this
> issue being discussed and how is it suggested to
> process a set of XML schema documents that have
> circular dependencies in the general case?
> 
> [This is related to my 5th question]
> >>Paul: not sure I understand here.
> >>If it is about coercion of the namespace of the
> any, then I refer
> >>to earlier comments.
> >>If it is about what other options are available
> for namespace 
> >>declaration of any, then there are options such as
> "##other" 
> >>for specifying a different namespace, "##any" for
> any namespace,
> >>and there are some others too.  The spec lists
> them.
> 
> I was probably not clear. Let me try with an
> example:
> 
> A (tns "A") includes B (no tns) which includes C (no
> tns) which imports A.
> C contains: <xsd:any namespace="A"/>.
> To which top level names does this wildcard refer
> to?
> Only those listed in the A schema document?
> Perhaps those listed in B too?
> Perhaps those in A, B and C?
> 
> I can give other examples where this is complicated
> for me to understand, for example:
> 
> A (tns "A") includes AA (tns "A") and also includes
> B (no tns) which includes C (no tns).
> C contains: <xsd:any namespace="A"/>.
> But to which top level names does this wildcard
> refer to?
> What if AA contains <xsd:any namespace="A"/>?
> To which top level names does this wildcard refer
> to?
> 
> Of course, there are plenty more other examples to
> cook up which are, at least for me, similarly
> unclear.
> 
> 
> 
> I hope that you and the other experts here can help
> me out.
> 
> Thanks.
> 
> Shlomo.
> 
> 
> 
> 
> 
> 
> 



      ___________________________________ 
L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: http://it.docs.yahoo.com/nowyoucan.html


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


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.