- From: Mukul Gandhi <gandhi.mukul@gmail.com>
- Date: Tue, 3 Aug 2010 06:20:37 +0530
- To: xmlschema-dev@w3.org
- Cc: matthieu.ricaud@igs-cp.fr
I believe this list is about W3C XML Schema. I'm not sure how this could be done with RELAX NG. But it should be possible to write such a validation constraint with XSD 1.1 (it's still not a REC) assertions. An example of this is below: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="span"> <xs:complexType mixed="true"> <xs:sequence> <xs:element name="a" type="LINK" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="class" type="xs:string" /> <xs:assert test="text()[preceding-sibling::a[1] and following-sibling::a[1]][. = ', '] and normalize-space(a[1]/preceding-sibling::text()) = '' and normalize-space(a[last()]/following-sibling::text()) = ''" /> </xs:complexType> </xs:element> <xs:complexType name="LINK"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="href" type="xs:anyURI" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:schema> The assertion in above schema specifies: 1. Any two <a> have ", " in between 2. The first and last <a> can be preceded and followed (respectively) only by white-space's. On Mon, Aug 2, 2010 at 7:57 PM, Matthieu Ricaud-Dussarget <matthieu.ricaud@igs-cp.fr> wrote: > ** The constraint ** > is a restriction on xhtml elements. I need to say : "this span contain a > serie of links separated by a coma and a space" > that is : > <span class="foo"> > <a href="#1">1</a>,  > <a href="#2">2</a>,  > <a href="#3">2</a>,  > </span> > (well it would be even better if the last <a> has no text after but let say > I don't care about that) -- Regards, Mukul Gandhi
Received on Tuesday, 3 August 2010 00:51:30 UTC