Skip to content

Instantly share code, notes, and snippets.

@lzybkr
Created September 12, 2018 00:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lzybkr/b2586418259caa5fa2379cb57a93925c to your computer and use it in GitHub Desktop.
Save lzybkr/b2586418259caa5fa2379cb57a93925c to your computer and use it in GitHub Desktop.
Types/Format xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Configuration">
<xs:complexType>
<xs:all>
<xs:element name="DefaultSettings" type="DefaultSettings" minOccurs="0" maxOccurs="1"/>
<xs:element name="SelectionSets" type="SelectionSets" minOccurs="0" maxOccurs="1"/>
<xs:element name="Controls" type="Controls" minOccurs="0" maxOccurs="1"/>
<xs:element name="ViewDefinitions" type="ViewDefinitions" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:complexType name="DefaultSettings">
<xs:all>
<xs:element name="ShowError" type="Boolean" minOccurs="0" maxOccurs="1" default="false"/>
<xs:element name="DisplayError" type="Boolean" minOccurs="0" maxOccurs="1" default="false"/>
<xs:element name="PropertyCountForTable" type="xs:int" minOccurs="0" maxOccurs="1" default="4"/>
<xs:element name="WrapTables" type="Boolean" minOccurs="0" maxOccurs="1" default="false"/>
<xs:element name="EnumerableExpansions" type="EnumerableExpansions" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="EnumerableExpansions">
<xs:sequence>
<xs:element name="EnumerableExpansion" type="EnumerableExpansion" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EnumerableExpansion">
<xs:all>
<xs:element name="EntrySelectedBy" type="EntrySelectedBy" minOccurs="0" maxOccurs="1"/>
<xs:element name="Expand" type="Expand" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="Expand">
<xs:restriction base="xs:string">
<xs:enumeration value="CoreOnly"/>
<xs:enumeration value="EnumOnly"/>
<xs:enumeration value="Both"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ViewDefinitions">
<xs:sequence>
<xs:element name="View" type="View" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="View">
<xs:complexContent>
<xs:extension base="ViewCommon">
<xs:sequence>
<xs:choice>
<xs:element name="TableControl" type="TableControl"/>
<xs:element name="ListControl" type="ListControl"/>
<xs:element name="WideControl" type="WideControl"/>
<xs:element name="CustomControl" type="CustomControl"/>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ViewCommon">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="OutOfBand" type="Boolean" minOccurs="0"/>
<xs:element name="ViewSelectedBy" type="ViewSelectedBy"/>
<xs:element name="Controls" type="Controls" minOccurs="0"/>
<xs:element name="GroupBy" type="GroupBy" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ViewSelectedBy">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="SelectionSetName" type="xs:string" minOccurs="0"/>
<xs:element name="TypeName" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TableControl">
<xs:all>
<xs:element name="AutoSize" type="Boolean" minOccurs="0"/>
<xs:element name="HideTableHeaders" type="Boolean" minOccurs="0"/>
<xs:element name="TableHeaders" type="TableHeaders" minOccurs="0"/>
<xs:element name="TableRowEntries" type="TableRowEntries"/>
</xs:all>
</xs:complexType>
<xs:complexType name="TableHeaders">
<xs:sequence>
<xs:element name="TableColumnHeader" type="TableColumnHeader" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TableColumnHeader">
<xs:all>
<xs:element name="Label" type="Text" minOccurs="0"/>
<xs:element name="Width" type="xs:positiveInteger" minOccurs="0"/>
<xs:element name="Alignment" type="Alignment" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="TableColumnItems">
<xs:sequence>
<xs:element name="TableColumnItem" type="TableColumnItem" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TableColumnItem">
<xs:sequence>
<xs:sequence minOccurs="0">
<xs:group ref="Expression" maxOccurs="1"/>
<xs:element name="FormatString" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:element name="Alignment" type="Alignment" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:group name="Expression">
<xs:choice>
<xs:element name="PropertyName" type="xs:string"/>
<xs:element name="ScriptBlock" type="xs:string"/>
</xs:choice>
</xs:group>
<xs:simpleType name="Alignment">
<xs:restriction base="xs:string">
<xs:enumeration value="Left"/>
<xs:enumeration value="Right"/>
<xs:enumeration value="Center"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TableRowEntries">
<xs:sequence>
<xs:element name="TableRowEntry" type="TableRowEntry" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TableRowEntry">
<xs:all>
<xs:element name="EntrySelectedBy" type="EntrySelectedBy" minOccurs="0" maxOccurs="1"/>
<xs:element name="TableColumnItems" type="TableColumnItems" minOccurs="0" maxOccurs="1"/>
<xs:element name="Wrap" type="Boolean" minOccurs="0" maxOccurs="1" default="false"/>
</xs:all>
</xs:complexType>
<xs:complexType name="ListControl">
<xs:sequence>
<xs:element name="ListEntries" type="ListEntries"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ListEntries">
<xs:sequence>
<xs:element name="ListEntry" type="ListEntry" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ListEntry">
<xs:sequence>
<xs:element name="EntrySelectedBy" type="EntrySelectedBy" minOccurs="0"/>
<xs:element name="ListItems" type ="ListItems" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ListItems">
<xs:sequence>
<xs:element name="ListItem" type="ListItem" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ListItem">
<xs:sequence>
<xs:element name="FormatString" type="xs:string" minOccurs="0"/>
<xs:element name="Label" type="Text" minOccurs="0"/>
<xs:element name="ItemSelectionCondition" type="ItemSelectionCondition" minOccurs="0"/>
<xs:group ref="Expression" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WideControl">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element name="AutoSize" type="Boolean"/>
<xs:element name="ColumnNumber" type="xs:positiveInteger"/>
</xs:choice>
<xs:element name="WideEntries" type="WideEntries"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WideEntries">
<xs:sequence>
<xs:element name="WideEntry" type="WideEntry" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WideEntry">
<xs:sequence>
<!-- "EntrySelectedBy" is optional, but it can be omitted in at most one WideEntry -->
<xs:element name="EntrySelectedBy" type="EntrySelectedBy" minOccurs="0"/>
<xs:element name="WideItem" type="WideItem"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WideItem">
<xs:sequence minOccurs="0">
<xs:group ref="Expression" maxOccurs="1"/>
<xs:element name="FormatString" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Controls">
<xs:sequence>
<xs:element name="Control" type="Control" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Control">
<xs:all>
<xs:element name="Name" type="xs:string" minOccurs="1"/>
<xs:element name="CustomControl" type="CustomControl" minOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CustomControl">
<xs:sequence>
<xs:element name="CustomEntries" type="CustomEntries" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CustomEntries">
<xs:sequence>
<xs:element name="CustomEntry" type="CustomEntry" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CustomEntry">
<xs:all>
<xs:element name="EntrySelectedBy" type="EntrySelectedBy" minOccurs="0" maxOccurs="1"/>
<xs:element name="CustomItem" type="CustomItem" minOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CustomItem">
<xs:sequence maxOccurs="unbounded">
<xs:element name="ExpressionBinding" type="ExpressionBinding" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="NewLine" type="NewLine" minOccurs="0"/>
<xs:element name="Text" type="Text" minOccurs="0"/>
<xs:element name="Frame" type="Frame" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExpressionBinding">
<xs:sequence>
<xs:group ref="Expression" minOccurs="0" maxOccurs="1"/>
<xs:element name="EnumerateCollection" type="Boolean" minOccurs="0"/>
<xs:element name="ItemSelectionCondition" type="ItemSelectionCondition" minOccurs="0"/>
<xs:element name="CustomControl" type="CustomControl" minOccurs="0" />
<xs:element name="CustomControlName" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Types">
<xs:sequence>
<xs:element name="TypeName" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EntrySelectedBy">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="SelectionSetName" type="xs:string" minOccurs="0"/>
<xs:element name="TypeName" type="xs:string" minOccurs="0"/>
<xs:element name="SelectionCondition" type="SelectionCondition" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SelectionCondition">
<xs:sequence>
<xs:choice>
<xs:element name="SelectionSetName" type="xs:string"/>
<xs:element name="TypeName" type="xs:string"/>
</xs:choice>
<xs:group ref="Expression" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SelectionSets">
<xs:sequence>
<xs:element name="SelectionSet" type="SelectionSet" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SelectionSet">
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="1"/>
<xs:element name="Types" type="Types" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GroupBy">
<xs:sequence>
<xs:group ref="Expression" maxOccurs="1"/>
<xs:element name="Label" type="Text" minOccurs="0"/>
<xs:choice minOccurs="0">
<xs:element name="CustomControl" type="CustomControl"/>
<xs:element name="CustomControlName" type="xs:string"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Frame">
<xs:sequence>
<xs:element name="LeftIndent" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="RightIndent" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:choice minOccurs="0">
<xs:element name="FirstLineHanging" type="xs:nonNegativeInteger"/>
<xs:element name="FirstLineIndent" type="xs:nonNegativeInteger"/>
</xs:choice>
<xs:element name="CustomItem" type="CustomItem" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name ="ItemSelectionCondition">
<xs:group ref="Expression" maxOccurs="1"/>
</xs:complexType>
<xs:complexType name="Text">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="ResourceId" type="xs:string"/>
<xs:attribute name="BaseName" type="xs:string"/>
<xs:attribute name="AssemblyName" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="Boolean">
<xs:restriction base="xs:string">
<xs:enumeration value="false"/>
<xs:enumeration value="true"/>
<!--empty indicates "true"-->
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="NewLine"/>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSpy v2009 sp1 (http://www.altova.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Types">
<xs:complexType>
<xs:sequence>
<xs:element name="Type" type="Type" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="Type">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Members" type="Members" minOccurs="0"/>
<xs:element name="TypeConverter" type="TypeConverter" minOccurs="0"/>
<xs:element name="TypeAdapter" type="TypeAdapter" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Members">
<xs:sequence maxOccurs="unbounded">
<xs:element name="NoteProperty" type="NoteProperty" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="AliasProperty" type="AliasProperty" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ScriptProperty" type="ScriptProperty" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CodeProperty" type="CodeProperty" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ScriptMethod" type="ScriptMethod" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CodeMethod" type="CodeMethod" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PropertySet" type="PropertySet" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MemberSet" type="MemberSet" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TypeConverter">
<xs:sequence>
<xs:element name="TypeName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TypeAdapter">
<xs:sequence>
<xs:element name="TypeName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NoteProperty">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Value" type="xs:string"/>
<xs:element name="TypeName" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="IsHidden" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="AliasProperty">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="ReferencedMemberName" type="xs:string"/>
<xs:element name="TypeName" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="IsHidden" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="ScriptProperty">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="GetScriptBlock" type="xs:string" minOccurs="0"/>
<xs:element name="SetScriptBlock" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="IsHidden" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="CodeProperty">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="GetCodeReference" type="GetCodeReference"/>
<xs:element name="SetCodeReference" type="SetCodeReference" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="IsHidden" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="GetCodeReference">
<xs:sequence>
<xs:element name="TypeName" type="xs:string"/>
<xs:element name="MethodName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SetCodeReference">
<xs:sequence>
<xs:element name="TypeName" type="xs:string"/>
<xs:element name="MethodName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ScriptMethod">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Script" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CodeMethod">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="CodeReference" type="CodeReference"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CodeReference">
<xs:sequence>
<xs:element name="TypeName" type="xs:string"/>
<xs:element name="MethodName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PropertySet">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="ReferencedProperties" type="ReferencedProperties"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReferencedProperties">
<xs:sequence>
<xs:element name="Name" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MemberSet">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="InheritMembers" type="xs:boolean" minOccurs="0"/>
<xs:element name="Members" type="Members"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment