blob: ffa8031bf8d4c8f377bac82899fe32bf7ce5c95c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="jdoquery">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="package"/>
<xs:element ref="query"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="package">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="interface"/>
<xs:element ref="class"/>
</xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
<xs:attributeGroup ref="attlist.package"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="attlist.package">
<xs:attribute name="name" use="required"/>
</xs:attributeGroup>
<xs:element name="interface">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="query"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
<xs:attributeGroup ref="attlist.interface"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="attlist.interface">
<xs:attribute name="name" use="required"/>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="class">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="query"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
<xs:attributeGroup ref="attlist.class"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="attlist.class">
<xs:attribute name="name" use="required"/>
</xs:attributeGroup>
<xs:element name="query">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
<xs:attributeGroup ref="attlist.query"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="attlist.query">
<xs:attribute name="name" use="required"/>
<xs:attribute name="language"/>
<xs:attribute name="result-class"/>
<xs:attribute name="unique">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="unmodifiable" default="false">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="extension">
<xs:complexType>
<xs:complexContent>
<xs:extension base="any">
<xs:attributeGroup ref="attlist.extension"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="attlist.extension">
<xs:attribute name="vendor-name" use="required"/>
<xs:attribute name="key"/>
<xs:attribute name="value"/>
</xs:attributeGroup>
<xs:complexType name="any" mixed="true">
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:schema>