W3C home > Mailing lists > Public > xmlschema-dev@w3.org > September 2010

Re: Unique Particle Attribution with xsd:any and xsd:element with different namespaces

From: Mukul Gandhi <gandhi.mukul@gmail.com>
Date: Wed, 1 Sep 2010 20:29:06 +0530
Message-ID: <AANLkTinO0z477mJGmR5NTZOjsA_ZuBs-dOdYFSTM8+yN@mail.gmail.com>
To: xmlschema-dev@w3.org
Cc: janne postilista <jannepostilistat@gmail.com>
Michael rightly wrote that in your schema, the wild-card and the
element particles are in same namespace, so you're getting a UPA

Here's probably a solution (one of the solutions I guess :)) with few
sample XML and schema documents, which could solve the problem for

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

   <xsd:import namespace="some-B" schemaLocation="fault.xsd" />

   <xsd:element name="MyResponse">
              <xsd:any namespace="##targetNamespace" processContents="lax" />
              <xsd:element ref="fault:Fault" />


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

   <xsd:element name="Fault" type="xsd:integer" />


<MyResponse xmlns="some-A">
        <Message>test message</Message>

<MyResponse xmlns="some-A">
     <Fault xmlns="some-B">test message</Fault>

Here are the validation outcomes for above examples, with Xerces XML
Schema 1.0 engine:
1. Validating test1.xml with test.xsd successfully passes the
validation (here the child of 'MyResponse' is validated by the
2. Validating test2.xml with test.xsd gives following error,
[Error] test2.xml:2:45: cvc-datatype-valid.1.2.1: 'test message' is
not a valid value for 'integer'.
[Error] test2.xml:2:45: cvc-type.3.1.3: The value 'test message' of
element 'Fault' is not valid.
(here the child of 'MyResponse' is validated by the element
declaration in fault.xsd)

I hope this helps.

On Tue, Aug 31, 2010 at 8:03 PM, janne postilista
<jannepostilistat@gmail.com> wrote:
> Hi,
>  I am trying to create a choice with either a xsd:any from namespace A
> or xsd:element from namespace B. I think that because they are from
> different namespaces there should be no ambiguity, am I wrong?
> My schema:
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>    targetNamespace="some-A"
>    xmlns:tns="some-A"
>    xmlns:fault="some-B"
>    elementFormDefault="qualified" >
>    <xsd:import namespace="some-B"
>    schemaLocation="fault.xsd" />
>    <xsd:element name="MyResponse">
>        <xsd:complexType>
>                <xsd:choice>
>                    <xsd:any namespace="##targetNamespace"/>
>                    <xsd:element name="Fault" type="fault:FaultType" />
>                </xsd:choice>
>        </xsd:complexType>
>    </xsd:element>
> When validating I get
> XML validation started.
> D:/zzz.xsd:33,8
> ERROR: cos-nonambig: WC["some-A"] and "hsome-A":Fault (or elements
> from their substitution group) violate "Unique Particle Attribution".
> During validation against this schema, ambiguity would be created for
> those two particles.
> 1 Error(s),  0 Warning(s).
> XML validation finished.
> What is the problem?

Mukul Gandhi
Received on Wednesday, 1 September 2010 15:00:12 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:18 UTC