| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <xs:schema targetNamespace="XercesMessagesBinding2.xsd" |
| xmlns:su="XercesMessagesBinding2.xsd" |
| xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| elementFormDefault="qualified" |
| attributeFormDefault="qualified"> |
| |
| <xs:annotation> |
| <xs:documentation> |
| This is a schema for SQLUTils version 3.4 |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:element name="database" type="su:Database"> |
| <xs:key name="TableKeyColumn"> |
| <xs:selector xpath="table"/> |
| <xs:field xpath="@name"/> |
| </xs:key> |
| |
| <xs:keyref name="TableKeyColumnRef" refer="su:TableKeyColumn"> |
| <xs:selector xpath="col" /> |
| <xs:field xpath="@ref" /> |
| </xs:keyref> |
| |
| <xs:key name="TableKeyColumns"> |
| <xs:selector xpath="table"/> |
| <xs:field xpath="@name"/> |
| </xs:key> |
| |
| <xs:keyref name="TableKeyColumnsRef" refer="su:TableKeyColumns"> |
| <xs:selector xpath="key" /> |
| <xs:field xpath="@ref" /> |
| </xs:keyref> |
| </xs:element> |
| |
| <xs:complexType name="Database"> |
| <xs:sequence> |
| <xs:element name="description" type="su:Description" minOccurs="0"/> |
| <xs:element name="table" type="su:Table" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attribute name="dsn" type="xs:string" use="optional"/> |
| <xs:attribute name="username" type="xs:string" use="optional"/> |
| <xs:attribute name="password" type="xs:string" use="optional"/> |
| </xs:complexType> |
| |
| <xs:complexType name="Table"> |
| <xs:sequence> |
| <xs:element name="description" type="su:Description"/> |
| <xs:element name="col" type="su:Column" maxOccurs="unbounded"/> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element name="key" type="su:Key"/> |
| <xs:element name="index" type="su:Index"/> |
| </xs:choice> |
| </xs:sequence> |
| <xs:attribute name="dataUri" type="xs:string"/> |
| <xs:attribute name="name" type="xs:string"/> |
| </xs:complexType> |
| |
| <xs:complexType name="Column"> |
| <xs:sequence> |
| <xs:element name="description" type="su:Description"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string" use="required"/> |
| |
| <xs:attribute name="type" type="xs:string" use="optional"/> |
| <xs:attribute name="null" type="xs:boolean" use="optional"/> |
| <xs:attribute name="size" type="xs:nonNegativeInteger" use="optional"/> |
| <xs:attribute name="constraint" type="xs:string" use="optional"/> |
| <xs:attribute name="pk" type="xs:boolean" use="optional"/> |
| <xs:attribute name="ref" type="xs:string" use="optional"/> |
| </xs:complexType> |
| |
| <xs:complexType name="Index"> |
| <xs:attribute name="name" type="xs:string" use="optional"/> |
| <xs:attribute name="unique" type="xs:boolean" use="required"/> |
| <xs:attribute name="cols" type="xs:string" use="required"/> |
| </xs:complexType> |
| |
| <xs:complexType name="Key"> |
| <xs:attribute name="name" type="xs:string" use="optional"/> |
| <xs:attribute name="type" type="su:KeyType" use="required"/> |
| <xs:attribute name="ref" type="xs:string" use="optional"/> |
| <xs:attribute name="cols" type="xs:string" use="required"/> |
| </xs:complexType> |
| |
| <xs:simpleType name="KeyType"> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="foreign"/> |
| <xs:enumeration value="primary"/> |
| <xs:enumeration value="unique"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:complexType name="Description" mixed="true"> |
| <xs:sequence> |
| <xs:element name="p"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:any processContents="skip" namespace="##local" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:schema> |