[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] increment pattern for an attribute..
- From: "Michael Kay" <mike@saxonica.com>
- To: "'dave'" <ceek63@yahoo.com>,<xml-dev@lists.xml.org>
- Date: Tue, 6 Nov 2007 20:35:19 -0000
>
> I use W3C XML schema language 1.0.
Well, I assumed you were aware that what you are asking for is well beyond
the expressive power of XSDL 1.0.
Michael Kay
http://www.saxonica.com/
>
> --- Michael Kay <mike@saxonica.com> wrote:
>
> > You don't say what technology you are using to define the
> schema. But
> > let's assume it's XSDL 1.1 with assertions (and with no
> limits on the
> > XPath syntax allowed in assertions) - as implemented in Saxon 9.0.
> >
> > Then I think you can do it with
> >
> > <xs:complexType name="type-of-data-element">
> > ...
> > <xs:assert test="e1[1]/@val=20 and
> > every $e in e1[position()>1] satisfies $e/@val =
> > $e/preceding-sibling::e1/@val + 1"/> </xs:complexType>
> >
> > I'm not sure this is quite right according to your description -
> > perhaps you allow gaps in the numbering sequence. In that case
> > it's:
> >
> > <xs:assert test="e1[1]/@val=20 and
> > every $e in e1[position()>1] satisfies $e/+@val >
> > $e/preceding-sibling::e1/+@val"/>
> >
> > (The odd little "+" signs are a quirky way of forcing
> conversion to a
> > number in XPath 2.0)
> >
> > Give it a try and let us know if it works.
> >
> > Michael Kay
> > http://www.saxonica.com/
> >
> > >
> > > I need to define the schema for "val" attribute in
> > the below XML:
> > >
> > > <data term="EXP">
> > > <el val="20">
> > > <ch> some data </ch>
> > > </el>
> > > <el val="21">
> > > <ch> some data </ch>
> > > </el>
> > > .....similarly for val=22,23,24,....N </data>
> > >
> > > <data term="SUPP">
> > > <el val="20">
> > > <ch> some data </ch>
> > > </el>
> > > <el val="21">
> > > <ch> some data </ch>
> > > </el>
> > > .....similarly for val=22,23,24,....N </data>
> > >
> > > Here, am more interested in the "val" attribute of
> > "el"
> > > element. What is the Specific schema for "val"
> > > attribute which satisfies the following
> > conditions:
> > > 1. allowed values for "val" are 20,21,22,..... N
> > (no limit on
> > > N although it's typically < 100.) 2. "val" always
> > begins with
> > > 20 in each "data" element scope.
> > > 3. "val" must be in ascending order
> > (20,21,22...etc) 4. "val"
> > > must be unique in each "data" element scope.
> > >
> > > appreciate any pointers.
> > > +D
> > >
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam? Yahoo! Mail has the best spam
> > protection
> > > around http://mail.yahoo.com
> > >
> > >
> >
> ______________________________________________________________
> > > _________
> > >
> > > XML-DEV is a publicly archived, unmoderated list
> > hosted by
> > > OASIS to support XML implementation and
> > development. To
> > > minimize spam in the archives, you must subscribe
> > before posting.
> > >
> > > [Un]Subscribe/change address:
> > http://www.oasis-open.org/mlmanage/
> > > Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> > > subscribe: xml-dev-subscribe@lists.xml.org List
> > archive:
> > > http://lists.xml.org/archives/xml-dev/
> > > List Guidelines:
> > http://www.oasis-open.org/maillists/guidelines.php
> > >
> >
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection
> around http://mail.yahoo.com
>
> ______________________________________________________________
> _________
>
> XML-DEV is a publicly archived, unmoderated list hosted by
> OASIS to support XML implementation and development. To
> minimize spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org List archive:
> http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]