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>