Re: Adding restriction to a complexType

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