- From: George Cristian Bina <george@oxygenxml.com>
- Date: Tue, 19 Sep 2006 15:52:18 +0300
- To: Christian Setzkorn <christian@setzkorn.eu>
- CC: xmlschema-dev@w3.org
Hi Chris, You can define your element type as a union of integers from one to 100 and empty string. <xs:element name="test"> <xs:simpleType> <xs:union> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="100"/> </xs:restriction> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value=""/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType> </xs:element> Empty values are not nil in XML Schema. To mark a nil value you should use xsi:nil=true where xsi is bound to the schema instance namespace http://www.w3.org/2001/XMLSchema-instance. If you modify the above example to specify that the element is nillable <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="test" nillable="true"> ... then you can have instances like nil value: <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/> enpty value <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> integer value <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">10</test> You *cannot* have xsi:nil specified and also an integer value like below <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true">10</test> Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Christian Setzkorn wrote: > Hi, > > How can I define that an elements text node is ‘optional’ for an element > like this one: > > <xs:element> > <xs:simpleType> > <xs:restriction base="xs:integer"> > <xs:minInclusive value="1" /> > <xs:maxInclusive value="100" /> > </xs:restriction> > </xs:simpleType> > </xs:element> > > So that this: > > <number>70</number> > > and this is possible: > > </number> > > Any feedback would be very much appreciated. Many thanks. > > Chris > > PS: I am also a bit confused about the nil value. Van der Vilst writes in > his book: “an empty element is not always null, but a null element must be > empty.” ???? > > Are you aware of articles that may clarify this a bit more? Thanks! > > BTW: In statistics the whole thing gets even more complicated. I can have > something like MCAR (missing completely at random), MAR (missing at random), > MNAR (missing not at random. To model this I would use something like this: > > <?xml version="1.0" encoding="utf-16"?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> > <xs:element name="test"> > <xs:complexType> > <xs:choice> > <xs:element> > <xs:simpleType> > <xs:restriction base="xs:integer"> > <xs:minInclusive value="1" /> > <xs:maxInclusive value="100" /> > </xs:restriction> > </xs:simpleType> > </xs:element> > <xs:element> > <xs:simpleType> > < xs:restriction base="xs:NMTOKEN"> > <xs:enumeration value=”MCAR”/> > <xs:enumeration value=”MAR”/> > <xs:enumeration value=”MNAR”/> > </xs:restriction> > </xs:simpleType> > </xs:element> > </xs:choice> > </xs:complexType> > </xs:element> > </xs:schema> > > What do you think? > > > >
Received on Tuesday, 19 September 2006 12:49:25 UTC