- From: Michael Kay <mike@saxonica.com>
- Date: Wed, 12 Mar 2008 00:15:02 -0000
- To: <info@minimag.de>, "'XML Schema List'" <xmlschema-dev@w3.org>
> > I spent the whole day with tinking and trying and now my head > is totally empty. I have the following complexType which > describes a listType for unordered and ordered lists: It actually consists of a type which allows 1 to many unorderedlist elements followed by 1 to many orderedlist elements. That seems a bit odd to me. But more relevant to your question, in your instance the content of the orderedlist elements is mixed (that is, it contains child text nodes as well as child elements), and there is no way in XML Schema 1.0 to constrain the text that appears in elements with mixed content. It can be done with assertions in XML Schema 1.1 (still a draft spec, but implemented in Saxon 9.0, if you want to give it a try). Michael Kay http://www.saxonica.com/ > > <xs:complexType name="listType"> > <xs:sequence> > <xs:element name="unorderedlist" maxOccurs="unbounded"> > <xs:simpleType> > <xs:restriction base="xs:string"> > <xs:pattern value="˜.*"/> > <xs:pattern value="–.*"/> > <xs:pattern value="•.*"/> > </xs:restriction> > </xs:simpleType> > </xs:element> > <xs:element name="orderedlist" maxOccurs="unbounded"> > <xs:simpleType> > <xs:restriction base="xs:string"> > <xs:pattern value="[0-9].*"/> > <xs:pattern value="[a-z].*"/> > <xs:pattern value="[i-iiii]{1,4}.*"/> > </xs:restriction> > </xs:simpleType> > </xs:element> > </xs:sequence> > </xs:complexType> > > > My aim: the element unorderedlist or orderedlist should start > with an special pattern (see above) and after the pattern it > should be possible to use text or other elelemts. > > Example: > <orderedlist>1. This is an orderedlist with a > special<specchar> character</specchar> and again > text.</orderedlist> <orderedlist>2. This is an orderedlist > again with a special<specchar> character</specchar>.</orderedlist> > > Does anyone out there have an idea how to realise such an > approach? I hope the question is understandable so far :-) > > Thanks sooo much to everyone. > Andreas >
Received on Wednesday, 12 March 2008 00:15:12 UTC