[
Lists Home |
Date Index |
Thread Index
]
oops realized what i did on the way home, so that won't work either,
basically
the only way i can see would be if you used xsi:type in your instance, but
you
would probably be loathe to do that as well. in other words the first
element
would have xsi type of one:fooelement
>
>
> Quoting Bryan Rasmussen <bry@itnisk.com>:
>
> > well couldn't you do
> >
> >
> >
> > <xs:complexType name="blah">
> > <xs:sequence>
> > <xs:element name="element" type="one:footype" minOccurs="1"
> > maxOccurs="1"/>
> > <xs:element ref="one:element" minOccurs="0"
> > maxOccurs="unbounded"/></xs:sequence>
> > </xs:complexType>
> > <xs:complexType name="footype">
> > ...
> > </xs:complexType>
> > <xs:element name="element">
> > ...
> > </xs:element>
> >
> >
> > to specify particular constraints on different 'element' elements, and
> still
> > use
> > the unique to constrain the attributes in their final state, which i
> > believe
> > should work if we elementFormDefault is qualified because all the various
> > 'element' elements will be in the same namespace, thus satisfying the
> > xs:selector xpath.
> > --
> > Bryan Rasmussen
> >
> >
> > Citat Robert Soesemann <rsoesemann@sapient.com>:
> >
> > > Thanks a lot for this example. But it won't work as I need to put
> > > additional constraints on the XSD. There might be <element type="foo">
> > > that must appear inside the XML and <element type="bar"> that is
> > > optional.
> > > I guess there is no way to express that with your solution.
> > >
> > > Robert
> > >
> > > -----Original Message-----
> > > From: Bryan Rasmussen [mailto:bry@itnisk.com]
> > > Sent: Dienstag, 11. Januar 2005 15:00
> > > To: xml-dev@lists.xml.org
> > > Subject: RE: [xml-dev] Duplicate element decl in the same scope
> > >
> > >
> > > I forgot to cc xml-dev, to make sure it gets to you (since I've been
> > > having some problems with my web-based mail i will send this there now)
> > >
> > > the following fragment
> > > <xs:element name="root" type="one:blah">
> > > <xs:unique name="element1">
> > > <xs:selector xpath="one:element"></xs:selector>
> > > <xs:field xpath="@name"></xs:field>
> > > </xs:unique>
> > > </xs:element>
> > > <xs:complexType name="blah">
> > > <xs:sequence>
> > > <xs:element name="element" minOccurs="0"
> > > maxOccurs="unbounded">
> > > <xs:complexType>
> > > <xs:attribute name="name"
> > > type="xs:string"/>
> > > </xs:complexType>
> > > </xs:element>
> > > </xs:sequence>
> > > </xs:complexType>
> > >
> > > without a specific type for the name attribute does the uniqueness
> > > constraint.
> > > --
> > > Bryan Rasmussen
> > >
> > >
> > > Citat Robert Soesemann <rsoesemann@sapient.com>:
> > >
> > > > Could you please give a short example. I don't understand exactely
> how
> > >
> > > > this could solve my problem.
> > > >
> > > > -----Original Message-----
> > > > From: Bryan Rasmussen [mailto:bry@itnisk.com]
> > > > Sent: Dienstag, 11. Januar 2005 14:13
> > > > To: Robert Soesemann
> > > > Cc: xml-dev@lists.xml.org
> > > > Subject: Re: [xml-dev] Duplicate element decl in the same scope
> > > >
> > > >
> > > > How about the following hack, you specify a pattern for what the
> > > > attributes have to have as a possible value, then you use xsd:unique
> > > > to make sure that an attribute value does not repeat.
> > > > --
> > > > Bryan Rasmussen
> > > >
> > > >
> > > > Citat Robert Soesemann <rsoesemann@sapient.com>:
> > > >
> > > > > Hello,
> > > > >
> > > > > For the XML format of my application I need to store semantics
> > > > > inside
> > > > > attribute value:
> > > > >
> > > > > So instead of (A) I need (B):
> > > > > (A)
> > > > > <root>
> > > > > <ELEM1/>
> > > > > <ELEM2/>
> > > > > </root>
> > > > > (B)
> > > > > <root>
> > > > > <top name="ELEM1"/>
> > > > > <top name="ELEM2"/>
> > > > > </root>
> > > > >
> > > > > The problem I face is how to validate this with XMLSchema as e.g.
> > > > > two
> > > > > <top> elements are different only regarding an attribute value. You
>
> > > > > find a simple example of an XSD snippet where I test the above XML
> > > > > with xs:all.
> > > > >
> > > > > <xs:element name="root">
> > > > > <xs:complexType>
> > > > > <xs:all>
> > > > > <xs:element name="element">
> > > > > <xs:complexType>
> > > > > <xs:attribute name="name" type="xs:string" fixed="ELEM1"/>
> > > > > </xs:complexType>
> > > > > </xs:element>
> > > > > <xs:element name="element">
> > > > > <xs:complexType>
> > > > > <xs:attribute name="name" type="xs:string" fixed="ELEM2"/>
> > > > > </xs:complexType>
> > > > > </xs:element>
> > > > > </xs:all>
> > > > > </xs:complexType>
> > > > > </xs:element>
> > > > >
> > > > > When I validate this XSD *itself* I get the following error inside
> > > > > my
> > > > > XML Suite: "Duplicate element decl in the same scope: element
> > > > > 'element' and 'element' violate the Unique Particle Attribution
> > > rule"
> > > > >
> > > > > Any solutions. Is this not solveable in XSD?
> > > > >
> > > > > Robert
> > > > >
> > > > > -----------------------------------------------------------------
> > > > > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > > > > initiative of OASIS <http://www.oasis-open.org>
> > > > >
> > > > > The list archives are at http://lists.xml.org/archives/xml-dev/
> > > > >
> > > > > To subscribe or unsubscribe from this list use the subscription
> > > > > manager: <http://www.oasis-open.org/mlmanage/index.php>
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > -----------------------------------------------------------------
> > > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > > initiative of OASIS <http://www.oasis-open.org>
> > >
> > > The list archives are at http://lists.xml.org/archives/xml-dev/
> > >
> > > To subscribe or unsubscribe from this list use the subscription
> > > manager: <http://www.oasis-open.org/mlmanage/index.php>
> > >
> > >
> > > -----------------------------------------------------------------
> > > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > > initiative of OASIS <http://www.oasis-open.org>
> > >
> > > The list archives are at http://lists.xml.org/archives/xml-dev/
> > >
> > > To subscribe or unsubscribe from this list use the subscription
> > > manager: <http://www.oasis-open.org/mlmanage/index.php>
> > >
> > >
> >
> >
> >
> > -----------------------------------------------------------------
> > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > initiative of OASIS <http://www.oasis-open.org>
> >
> > The list archives are at http://lists.xml.org/archives/xml-dev/
> >
> > To subscribe or unsubscribe from this list use the subscription
> > manager: <http://www.oasis-open.org/mlmanage/index.php>
> >
> >
>
>
>
|