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

Re: Query regarding attribute grouping in XML Schema

  • From: Eddie Robertsson <eddie@a...>
  • To: sabina suresh <sabi_india@y...>
  • Date: Fri, 28 Sep 2001 10:36:48 +1000

sabina suresh
Hi Sabina,

> I'm not able to  describe this constraint using an
> annotation in a way in which it would be validated by
> a parser. Could you please give an example for the
> same? I would also like to know if it will be treated
> as documentation or would it be validated against by
> the parser?

What James meant (I think?) by using the annotaitons in XML Schema is to
include embedded Schematron rules within the xs:appinfo element of your
schema. For your example this could for example look like:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
 <xs:element name="Address">
  <xs:annotation>
   <xs:appinfo>
    <pattern name="Both attributes"
xmlns="http://www.ascc.net/xml/schematron">
     <rule context="Address[@streetname | @doorno]">
      <assert test="@doorno">If you have a streetname attribute you must
have a doornr attribute.</assert>
      <assert test="@streetname">If you have a doornr attribute you must
have a streetname attribute.</assert>
     </rule>
    </pattern>
   </xs:appinfo>
  </xs:annotation>
  <xs:complexType>
   <xs:attribute name="doorno" type="xs:string"/>
   <xs:attribute name="streetname" type="xs:string"/>
  </xs:complexType>
 </xs:element>
</xs:schema>

Note, that these constraints can't be validated using a normal XML
Schema validator so you would have to:

1) Get the free Schematron Validator from Topologi [1]
2) Using an API you can chain together different XSLT Stylesheets to
first extract the Schematron information from the XML Schema and then
run a normal Schematron Validation). For more info see the Schematron
[2] and extending XML Schemas [3].

Cheers,
/Eddie

[1] www.topologi.com
[2] http://www.ascc.net/xml/resource/schematron/
[3] http://www.xfront.com/BestPracticesHomepage.html (see Extending XML
Schemas)

>
>
> regards,
> Sabina
>
> --- James Clark <jjc@j...> wrote:
> >
> > > > <element name="ADDRESS">
> > > >   <optional>
> > > >     <attribute name="doorno"/>
> > > >     <attribute name="streetname"/>
> > > >   </optional>
> > > > </element>
> > >
> > > I have no experience in RELAX-NG but this look
> > like a good and simple way
> > of
> > > specifying the above constaint. But if this is how
> > you specify that an
> > > element should either have no attributes or both
> > then how would you
> > specify
> > > that element ADDRESS can optionally have
> > attributes doorno and streetname
> > but
> > > without the connection between the attributes?
> > > Would that be something like:
> > >
> > > <element name="ADDRESS">
> > >   <optional>
> > >     <attribute name="doorno"/>
> > >   </optional>
> > >   <optional>
> > >     <attribute name="streetname"/>
> > >   </optional>
> > > </element>
> > >
> > > or?
> >
> > It would be exactly that.
> >
> > James
> >
> >
> >
> >
> -----------------------------------------------------------------
> > 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 elist use the
> > subscription
> > manager: <http://lists.xml.org/ob/adm.pl>
>
> __________________________________________________
> Do You Yahoo!?
> Listen to your Yahoo! Mail messages from any phone.
> http://phone.yahoo.com
>
> -----------------------------------------------------------------
> 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 elist use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>


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.