XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] increment pattern for an attribute..


Well, now I am! 
Thanks for the tip. Appreciate it.
+D
--- Michael Kay <mike@saxonica.com> wrote:

>  
> > 
> > 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.
> > > > 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS