Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - [XML Schema 1.1] The XPath in cannot "look up" the XML tree, right? >Thread Next - RE: [XML Schema 1.1] The XPath in RE: [XML Schema 1.1] The XPath in cannot "look up" the XML tree, right?To: "'Costello, Roger L.'" <costello@-----.--->, <xmlschema-dev@--.---> Date: 4/29/2009 4:03:00 PM > > I wish to confirm that I correctly understand the > specification. I believe it says the XPath in an <assert> > cannot "look up" the XML tree. That is, it can't reference a > parent, grandparent, etc. Is that correct? Yes, that's right. The idea is that the validity of an element (or, if you like, the rules for a type) depend only on the content of that element, and not on the context where it is used. > > Consider this instance document: > > <Document classification="secret"> > <Para classification="unclassified"> > ... > </Para> > <Para classification="secret"> > ... > </Para> > <Para classification="unclassified"> > ... > </Para> > <Para classification="secret"> > ... > </Para> > </Document> > > > Here I place an <assert> on the Para element which attempts > to reference the (parent) Document element: > > <xs:element name="Para"> > <xs:complexType> > <xs:simpleContent> > <xs:extension base="paraType"> > <xs:attribute name="classification" > type="classificationLevels" use="required"/> > <xs:assert test="if (@classification eq > 'top-secret') then ../Document/@classification eq 'top-secret') ... /> > </xs:extension> > </xs:simpleContent> > </xs:complexType> > </xs:element> > This is a rule affecting the validity of the Document, not the validity of any Para considered in isolation. It needs to go at the Document level. <xs:complexType name="DocumentType"> <xs:complexContent> ... <xs:assert test="if (@classification ne 'top-secret') then empty(Para[@classification eq 'top-secret']) else true()"/> If you're in a world where PSVI annotations matter, each Para is valid, but the Document is invalid. Michael Kay http://www.saxonica.com/ From costello@m... Wed Apr 29 17:21:09 2009 Received: from bart.w3.org ([128.30.52.63]) by frink. | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
