- From: Shlomo Yona <S.Yona@F5.com>
- Date: Wed, 29 Aug 2007 06:00:34 -0700
- To: "Morris Matsa" <mmatsa@us.ibm.com>
- Cc: <xmlschema-dev@w3.org>
Thanks. I'll read all this carefully. I'm still somewhat confused. Shlomo. -----Original Message----- From: Morris Matsa [mailto:mmatsa@us.ibm.com] Sent: ã 29 àåâåñè 2007 15:51 To: Shlomo Yona Cc: xmlschema-dev@w3.org Subject: RE: xsd:any and its processContents and namespace attribute Yes, although as I indicated I don't think you should think of it as precedence, because I think that will lead you down some wrong decisions, for example when implementing the uniqueness constraint (UPAC). They are simply answering two different questions: namespace helps decide when this particle matches, processContents helps decide whether this particle validates successfully when it has matched. They aren't involved in answering the same question, so it's not really an issue of precedence. I'm only slightly nervous with my interpretation since the spec explains it all in a validation rule. At any rate, I think your question is clearly answered in the first validation rule in 3.10.4 [1] with the words "When this constraint applies": Validation Rule: Item Valid (Wildcard) For an element or attribute information item to be locally ·valid· with respect to a wildcard constraint its [namespace name] must be ·valid· with respect to the wildcard constraint, as defined in Wildcard allows Namespace Name (§3.10.4). When this constraint applies the appropriate case among the following must be true: 1 If {process contents} is lax, then the item has no ·context-determined declaration· with respect to Assessment Outcome (Element) (§3.3.5), Schema-Validity Assessment (Element) (§3.3.4) and Schema-Validity Assessment (Attribute) (§3.2.4). 2 If {process contents} is strict, then the item's ·context-determined declaration· is mustFind. 3 If {process contents} is skip, then the item's ·context-determined declaration· is skip. [1] http://www.w3.org/TR/xmlschema-1/#cvc-wildcard "Shlomo Yona" <S.Yona@F5.com>@w3.org on 08/29/2007 08:34:41 AM Sent by: xmlschema-dev-request@w3.org To: Morris Matsa/Somers/IBM@IBMUS cc: <xmlschema-dev@w3.org> Subject: RE: xsd:any and its processContents and namespace attribute Thank you. So my previous email is wrong? The namespace has precedence over the processContents Shlomo -----Original Message----- From: Morris Matsa [mailto:mmatsa@us.ibm.com] Sent: ã 29 àåâåñè 2007 14:55 To: Shlomo Yona Cc: xmlschema-dev@w3.org Subject: Re: xsd:any and its processContents and namespace attribute I think that these are orthogonal properties. First, the wildcard matches any elements that pass the namespace check. Then, for any elements that match, you process them according to the method defined by the "processContents". So, from your options "skip only if the namespace ..." --- otherwise, if it's in the target namespace, then this particle wouldn't match the element at all, and either some other particle would match it (maybe an outer choice has other options) or otherwise the instance would be invalid. "Shlomo Yona" <S.Yona@F5.com>@w3.org on 08/29/2007 01:31:15 AM Sent by: xmlschema-dev-request@w3.org To: <xmlschema-dev@w3.org> cc: Subject: xsd:any and its processContents and namespace attribute Hello, When using both processContents and namespace attributes in an xsd:any which one of the two has precedence? For example: <xsd:any namespace=”##other” processContents=”skip”/> Should I just skip when processing or should I skip only if the namespace of the observed element in the XML instance is from a namespace other than the target namespace of the schema? Thanks. Shlomo.
Received on Wednesday, 29 August 2007 13:00:13 UTC