Warning, /libraries/binschema/src/mso.xsd is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/mso"
0003         xmlns:tns="http://www.example.org/mso" elementFormDefault="qualified">
0004         <complexType name="limitationType">
0005                 <attribute name="name" type="NCName" use="optional" />
0006                 <attribute name="value" type="string" use="optional" />
0007                 <attribute name="expression" type="string" use="optional" />
0008         </complexType>
0009         <complexType name="msoMemberType" abstract="true">
0010                 <choice maxOccurs="unbounded" minOccurs="0">
0011                         <element name="limitation" type="tns:limitationType" />
0012                 </choice>
0013                 <attribute name="name" type="NCName" use="required" />
0014                 <attribute name="count" type="string" use="optional" />
0015                 <attribute name="minOccurs" type="string" use="optional" />
0016                 <attribute name="maxOccurs" type="string" use="optional" />
0017                 <attribute name="condition" type="string" use="optional" />
0018         </complexType>
0019         <complexType name="intType">
0020                 <complexContent>
0021                         <extension base="tns:msoMemberType">
0022                                 <attribute name="default" type="int" use="optional" />
0023                         </extension>
0024                 </complexContent>
0025         </complexType>
0026         <complexType name="typeType">
0027                 <complexContent>
0028                         <extension base="tns:msoMemberType">
0029                                 <attribute name="type" type="NCName" use="required" />
0030                                 <attribute name="optional" type="boolean" use="optional"
0031                                         default="false" />
0032                                 <!-- if the size is know it can be specified here as an expression -->
0033                                 <attribute name="size" type="string" use="optional" />
0034                                 <attribute name="array" type="boolean" use="optional"
0035                                         default="false" />
0036                         </extension>
0037                 </complexContent>
0038         </complexType>
0039         <complexType name="fixedChoiceType">
0040                 <choice minOccurs="2" maxOccurs="unbounded">
0041                         <element name="text" type="string" />
0042                         <element name="hex" type="hexBinary" />
0043                 </choice>
0044                 <attribute name="name" type="NCName" use="required" />
0045                 <attribute name="optional" type="boolean" use="optional"
0046                         default="false" />
0047         </complexType>
0048         <complexType name="choiceType">
0049                 <sequence>
0050                         <element name="type" minOccurs="2" maxOccurs="unbounded">
0051                                 <complexType>
0052                                         <attribute name="type" type="NCName" use="required" />
0053                                 </complexType>
0054                         </element>
0055                 </sequence>
0056                 <attribute name="name" type="NCName" use="required" />
0057                 <attribute name="optional" type="boolean" use="optional"
0058                         default="false" />
0059         </complexType>
0060         <complexType name="structType">
0061                 <sequence>
0062                         <choice maxOccurs="unbounded" minOccurs="0">
0063                                 <element name="bit" type="tns:intType" />
0064                                 <element name="int16" type="tns:intType" />
0065                                 <element name="int32" type="tns:intType" />
0066                                 <element name="uint2" type="tns:intType" />
0067                                 <element name="uint3" type="tns:intType" />
0068                                 <element name="uint4" type="tns:intType" />
0069                                 <element name="uint5" type="tns:intType" />
0070                                 <element name="uint6" type="tns:intType" />
0071                                 <element name="uint7" type="tns:intType" />
0072                                 <element name="uint8" type="tns:intType" />
0073                                 <element name="uint9" type="tns:intType" />
0074                                 <element name="uint12" type="tns:intType" />
0075                                 <element name="uint13" type="tns:intType" />
0076                                 <element name="uint14" type="tns:intType" />
0077                                 <element name="uint15" type="tns:intType" />
0078                                 <element name="uint16" type="tns:intType" />
0079                                 <element name="uint20" type="tns:intType" />
0080                                 <element name="uint30" type="tns:intType" />
0081                                 <element name="uint32" type="tns:intType" />
0082                                 <element name="type" type="tns:typeType" />
0083                                 <element name="choice" type="tns:choiceType" />
0084                                 <element name="fixedchoice" type="tns:fixedChoiceType" />
0085                                 <element name="text" type="string" />
0086                                 <element name="hex" type="hexBinary" />
0087                         </choice>
0088                         <element name="limitation" type="tns:limitationType"
0089                                 minOccurs="0" maxOccurs="unbounded" />
0090                 </sequence>
0091                 <attribute name="name" type="NCName" use="required" />
0092         </complexType>
0093         <complexType name="msoType">
0094                 <sequence>
0095                         <element name="const" minOccurs="0" maxOccurs="unbounded" />
0096                         <element name="struct" type="tns:structType" minOccurs="0"
0097                                 maxOccurs="unbounded">
0098                                 <unique name="uniqueMembers">
0099                                         <selector xpath="*" />
0100                                         <field xpath="@name" />
0101                                 </unique>
0102                         </element>
0103                         <element name="stream" minOccurs="0" maxOccurs="unbounded" />
0104                 </sequence>
0105         </complexType>
0106         <element name="mso" type="tns:msoType">
0107                 <key name="uniqueStructs">
0108                         <selector xpath="tns:struct" />
0109                         <field xpath="@name" />
0110                 </key>
0111                 <keyref name="structRef" refer="tns:uniqueStructs">
0112                         <selector xpath="tns:struct/tns:type" />
0113                         <field xpath="@type" />
0114                 </keyref>
0115                 <keyref name="structRef2" refer="tns:uniqueStructs">
0116                         <selector xpath="tns:struct/tns:choice/tns:type" />
0117                         <field xpath="@type" />
0118                 </keyref>
0119         </element>
0120 </schema>