W3C home > Mailing lists > Public > xmlschema-dev@w3.org > August 2013

Re: Adding restriction to a complexType

From: Michael Kay <mike@saxonica.com>
Date: Tue, 20 Aug 2013 19:47:34 +0100
Cc: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
Message-Id: <F6896207-FB78-4DC8-8E1E-75F2386C7B15@saxonica.com>
To: "Hintz, David" <david.hintz@siemens.com>
It's not possible to restrict the text that appears within mixed content elements - except with XSD 1.1 assertions.

Michael Kay
Saxonica

On 20 Aug 2013, at 17:26, Hintz, David wrote:

> Hello,
>  
> Using XML Schema 1.0, I’m having a problem trying to add a restriction to a complexType.  I’ve got this element definition:
>  
>   <xs:element name="productName">
>     <xs:simpleType>
>       <xs:restriction base="xs:string">
>         <xs:minLength value="1"/>
>         <xs:maxLength value="255"/>
>       </xs:restriction>
>     </xs:simpleType>
>   </xs:element>
>  
> Obviously, I want “productName” to be a character string of 1 to 255 characters.  Now, I’d like to add an element to “productName” – for example “entityRef” (0 to unbounded occurrences).  So, I’d need to change “productName” to <complexType mixed=”true”>, but I can’t figure out how to add the element and maintain the restriction for the overall length of “productName”.  This gets me close, but I lose the restriction:
>  
>   <xs:element name="productName">
>     <xs:complexType mixed="true">
>       <xs:choice minOccurs="0" maxOccurs="unbounded">
>         <xs:element ref="entityRef"/>
>       </xs:choice>
>     </xs:complexType>
>   </xs:element>
>  
> Anyone have a simple solution for maintaining the restriction of 1-255 characters in length?  Or, is this even possible?
>  
> Thanks,
>  
> Dave Hintz
> Siemens


Received on Tuesday, 20 August 2013 18:48:11 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:16:05 UTC