Re: [xml-dev] XML Schema - How to define any element of type Foe

From
Mukul Gandhi <>
To
Date
2017-03-09T10:24:22Z
ID
<CABuuzNNu6FEEKQ5BnGt6rco_W=>
Thread
Re: [xml-dev] XML Schema - How to define any element of type Foe
Hi Christophe,
   Here's some idea based on XSD 1.1 assertions.

XSD document:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
   <xs:complexType name="parent">
     <xs:sequence>
        <xs:any processContents="skip"/>
     </xs:sequence>
     <xs:assert test="*/not(node())"/>
     <xs:assert test="count(*/@*) eq 2"/>
     <xs:assert test="*/xs:positiveInteger(@end) ge */xs:positiveInteger(@start)"/>
   </xs:complexType>
  
   <xs:element name="X" type="parent"/>
 
</xs:schema>

You won't need an explicit complex type definition named "Foe".

Valid XML document:
<?xml version="1.0" encoding="UTF-8"?>
<X>
  <A end="2" start="1"/>
</X>

On 9 March 2017 at 14:37, <[email protected]> wrote:
Hello,

I have a complexType definition, Foe.

In another complexType, I want to allow any child element, but require that each child element is valid against Foe definition.

Something like :

<xs:complexType name="Foe">
  <xs:attribute name="start" type="xs:positiveInteger" use="required"/>
  <xs:attribute name="end" type="xs:positiveInteger" use="required"/>
  <xs:assert test="@end ge @start">
</xs:complexType>

<xs:complexType name="parent">
  <xs:sequence>
    <xs:any type="Foe"/>
  </xs:sequence>
</xs:complexType>

How can I do this ?

Thanks,
Christophe

_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: [email protected]
subscribe: [email protected]
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php



--
Regards,
Mukul Gandhi