|
@@ -5,268 +5,451 @@
|
|
|
elementFormDefault="qualified"
|
|
elementFormDefault="qualified"
|
|
|
version="1.3">
|
|
version="1.3">
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: Control Instance Base Type with accessibility and data binding -->
|
|
|
|
|
|
|
+ <!-- Basic Control Instance Base Type -->
|
|
|
<xs:complexType name="BasicControlInstanceType" mixed="true">
|
|
<xs:complexType name="BasicControlInstanceType" mixed="true">
|
|
|
<xs:group ref="tns:BasicControlContentGroup" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:group ref="tns:BasicControlContentGroup" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
- <!-- ENHANCEMENT: Data binding attributes -->
|
|
|
|
|
- <xs:attribute name="data-context" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="binding-path" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="command-binding" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="validation-rule" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="converter" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="binding-mode" type="tns:BindingModeEnum" default="TwoWay"/>
|
|
|
|
|
- <!-- ENHANCEMENT: Accessibility attributes -->
|
|
|
|
|
- <xs:attribute name="aria-label" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="aria-description" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="aria-role" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="aria-live" type="tns:AriaLiveEnum" default="off"/>
|
|
|
|
|
|
|
+ <!-- Common attributes for all controls -->
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="enabled" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="text" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="visible" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="data-source" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="dock" type="tns:DockEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="tooltip" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="width" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="height" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="x" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="y" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="anchor" type="tns:AnchorEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="margin" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="padding" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="background-color" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="foreground-color" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="font-family" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="font-size" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="font-style" type="tns:FontStyleEnum" default="normal"/>
|
|
|
<xs:attribute name="tab-index" type="xs:int" default="0"/>
|
|
<xs:attribute name="tab-index" type="xs:int" default="0"/>
|
|
|
<xs:attribute name="access-key" type="xs:string"/>
|
|
<xs:attribute name="access-key" type="xs:string"/>
|
|
|
- <xs:attribute name="high-contrast-support" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="screen-reader-text" type="xs:string"/>
|
|
|
|
|
- <!-- ENHANCEMENT: Version tracking -->
|
|
|
|
|
- <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
|
|
|
|
|
- <xs:attribute name="platform-hint" type="tns:PlatformHintEnum" default="basic"/>
|
|
|
|
|
<xs:anyAttribute processContents="lax"/>
|
|
<xs:anyAttribute processContents="lax"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: Binding Mode Enumeration -->
|
|
|
|
|
- <xs:simpleType name="BindingModeEnum">
|
|
|
|
|
- <xs:restriction base="xs:string">
|
|
|
|
|
- <xs:enumeration value="OneWay"/>
|
|
|
|
|
- <xs:enumeration value="TwoWay"/>
|
|
|
|
|
- <xs:enumeration value="OneTime"/>
|
|
|
|
|
- <xs:enumeration value="OneWayToSource"/>
|
|
|
|
|
- </xs:restriction>
|
|
|
|
|
- </xs:simpleType>
|
|
|
|
|
-
|
|
|
|
|
- <!-- ENHANCEMENT: ARIA Live Region Enumeration -->
|
|
|
|
|
- <xs:simpleType name="AriaLiveEnum">
|
|
|
|
|
- <xs:restriction base="xs:string">
|
|
|
|
|
- <xs:enumeration value="off"/>
|
|
|
|
|
- <xs:enumeration value="polite"/>
|
|
|
|
|
- <xs:enumeration value="assertive"/>
|
|
|
|
|
- </xs:restriction>
|
|
|
|
|
- </xs:simpleType>
|
|
|
|
|
-
|
|
|
|
|
- <!-- ENHANCEMENT: Platform Hint Enumeration -->
|
|
|
|
|
- <xs:simpleType name="PlatformHintEnum">
|
|
|
|
|
- <xs:restriction base="xs:string">
|
|
|
|
|
- <xs:enumeration value="basic"/>
|
|
|
|
|
- <xs:enumeration value="winforms"/>
|
|
|
|
|
- <xs:enumeration value="avalonia"/>
|
|
|
|
|
- <xs:enumeration value="kde"/>
|
|
|
|
|
- <xs:enumeration value="web"/>
|
|
|
|
|
- <xs:enumeration value="mobile"/>
|
|
|
|
|
- </xs:restriction>
|
|
|
|
|
- </xs:simpleType>
|
|
|
|
|
-
|
|
|
|
|
<!-- Basic Control Content Group -->
|
|
<!-- Basic Control Content Group -->
|
|
|
<xs:group name="BasicControlContentGroup">
|
|
<xs:group name="BasicControlContentGroup">
|
|
|
<xs:choice>
|
|
<xs:choice>
|
|
|
- <!-- Core Basic Controls -->
|
|
|
|
|
- <xs:element name="Label" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="TextBox" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="ComboBox" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="Button" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="Panel" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="PopupPanel" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="Menu" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="ListView" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="TreeView" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="TabControl" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="ButtonBar" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="ListBox" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="CheckBox" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="RadioButton" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="Image" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="StatusBar" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="ToolBar" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="SplitPanel" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="Separator" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <!-- ENHANCEMENT: Additional controls -->
|
|
|
|
|
- <xs:element name="ProgressBar" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="DatePicker" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="NumericUpDown" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="Slider" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
|
|
+ <!-- Display Controls -->
|
|
|
|
|
+ <xs:element name="Label" type="tns:LabelType"/>
|
|
|
|
|
+ <xs:element name="Separator" type="tns:SeparatorType"/>
|
|
|
|
|
+ <xs:element name="Image" type="tns:ImageType"/>
|
|
|
|
|
|
|
|
- <!-- Structure Elements -->
|
|
|
|
|
- <xs:element name="FormField" type="tns:BasicControlInstanceType"/>
|
|
|
|
|
- <xs:element name="slot" type="tns:SlotType"/>
|
|
|
|
|
|
|
+ <!-- Input Controls -->
|
|
|
|
|
+ <xs:element name="TextBox" type="tns:TextBoxType"/>
|
|
|
|
|
+ <xs:element name="ComboBox" type="tns:ComboBoxType"/>
|
|
|
|
|
|
|
|
- <!-- Supporting Elements -->
|
|
|
|
|
- <xs:element name="menu-items" type="tns:MenuItemsType"/>
|
|
|
|
|
- <xs:element name="columns" type="tns:ColumnsType"/>
|
|
|
|
|
- <xs:element name="items" type="tns:ItemsType"/>
|
|
|
|
|
- <!-- ENHANCEMENT: Data binding and accessibility elements -->
|
|
|
|
|
- <xs:element name="data-binding" type="tns:DataBindingDetailsType"/>
|
|
|
|
|
- <xs:element name="accessibility" type="tns:AccessibilityDetailsType"/>
|
|
|
|
|
|
|
+ <!-- Action Controls -->
|
|
|
|
|
+ <xs:element name="Button" type="tns:ButtonType"/>
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: Conditional visibility elements -->
|
|
|
|
|
- <xs:element name="conditional-visibility" type="tns:ConditionalVisibilityType"/>
|
|
|
|
|
|
|
+ <!-- Container Controls -->
|
|
|
|
|
+ <xs:element name="Panel" type="tns:PanelType"/>
|
|
|
|
|
+ <xs:element name="PopupPanel" type="tns:PopupPanelType"/>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Navigation Controls -->
|
|
|
|
|
+ <xs:element name="Menu" type="tns:MenuType"/>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- List Controls -->
|
|
|
|
|
+ <xs:element name="ListView" type="tns:ListViewType"/>
|
|
|
|
|
+ <xs:element name="TreeView" type="tns:TreeViewType"/>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Structure Elements -->
|
|
|
|
|
+ <xs:element name="ListBoxItem" type="tns:ListBoxItemType"/>
|
|
|
|
|
+ <xs:element name="ListViewItem" type="tns:ListViewItemType"/>
|
|
|
|
|
+ <xs:element name="ColumnItem" type="tns:ColumnItemType"/>
|
|
|
|
|
+ <xs:element name="TreeNode" type="tns:TreeNodeType"/>
|
|
|
|
|
+ <xs:element name="MenuItem" type="tns:MenuItemType"/>
|
|
|
</xs:choice>
|
|
</xs:choice>
|
|
|
</xs:group>
|
|
</xs:group>
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: Enhanced Slot Definition with v1.3 features -->
|
|
|
|
|
- <xs:complexType name="SlotType">
|
|
|
|
|
|
|
+ <!-- DISPLAY CONTROLS -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Label Control Type -->
|
|
|
|
|
+ <xs:complexType name="LabelType">
|
|
|
<xs:complexContent>
|
|
<xs:complexContent>
|
|
|
<xs:extension base="tns:BasicControlInstanceType">
|
|
<xs:extension base="tns:BasicControlInstanceType">
|
|
|
- <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
- <xs:attribute name="allowed-controls" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="required" type="xs:boolean" default="false"/>
|
|
|
|
|
- <xs:attribute name="default" type="xs:boolean" default="false"/>
|
|
|
|
|
- <!-- ENHANCEMENT: Accessibility and validation -->
|
|
|
|
|
- <xs:attribute name="accessibility-landmark" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="data-validation" type="xs:string"/>
|
|
|
|
|
- <!-- ENHANCEMENT: v1.3 conditional visibility -->
|
|
|
|
|
- <xs:attribute name="visibility-binding" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="visibility-value" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="visibility-converter" type="xs:string"/>
|
|
|
|
|
|
|
+ <xs:attribute name="auto-size" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="text-align" type="tns:TextAlignEnum" default="left"/>
|
|
|
|
|
+ <xs:attribute name="vertical-align" type="tns:VerticalAlignEnum" default="middle"/>
|
|
|
|
|
+ <xs:attribute name="word-wrap" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="use-mnemonic" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="associated-control" type="xs:string"/>
|
|
|
</xs:extension>
|
|
</xs:extension>
|
|
|
</xs:complexContent>
|
|
</xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: Conditional Visibility Type -->
|
|
|
|
|
- <xs:complexType name="ConditionalVisibilityType">
|
|
|
|
|
- <xs:sequence>
|
|
|
|
|
- <xs:element name="condition" type="tns:VisibilityConditionType" maxOccurs="unbounded"/>
|
|
|
|
|
- </xs:sequence>
|
|
|
|
|
|
|
+ <!-- Separator Control Type -->
|
|
|
|
|
+ <xs:complexType name="SeparatorType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:attribute name="orientation" type="tns:OrientationEnum" default="horizontal"/>
|
|
|
|
|
+ <xs:attribute name="line-style" type="tns:LineStyleEnum" default="solid"/>
|
|
|
|
|
+ <xs:attribute name="line-width" type="xs:int" default="1"/>
|
|
|
|
|
+ <xs:attribute name="line-color" type="xs:string" default="gray"/>
|
|
|
|
|
+ <xs:attribute name="auto-size" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="margin-start" type="xs:int" default="0"/>
|
|
|
|
|
+ <xs:attribute name="margin-end" type="xs:int" default="0"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <xs:complexType name="VisibilityConditionType">
|
|
|
|
|
- <xs:attribute name="property" type="xs:string" use="required"/>
|
|
|
|
|
- <xs:attribute name="operator" type="tns:ComparisonOperatorEnum" use="required"/>
|
|
|
|
|
- <xs:attribute name="value" type="xs:string" use="required"/>
|
|
|
|
|
- <xs:attribute name="logic" type="tns:LogicOperatorEnum" default="AND"/>
|
|
|
|
|
|
|
+ <!-- Image Control Type -->
|
|
|
|
|
+ <xs:complexType name="ImageType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:attribute name="source" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="source-type" type="tns:ImageSourceTypeEnum" default="file"/>
|
|
|
|
|
+ <xs:attribute name="size-mode" type="tns:ImageSizeModeEnum" default="normal"/>
|
|
|
|
|
+ <xs:attribute name="aspect-ratio" type="tns:AspectRatioEnum" default="keep"/>
|
|
|
|
|
+ <xs:attribute name="interpolation-mode" type="tns:InterpolationModeEnum" default="default"/>
|
|
|
|
|
+ <xs:attribute name="error-image" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="loading-image" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="border-style" type="tns:BorderStyleEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="cursor-hand" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="allow-drop" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="cache-image" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="async-load" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="rotation" type="tns:RotationEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="flip" type="tns:FlipEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="opacity" type="xs:double" default="1.0"/>
|
|
|
|
|
+ <xs:attribute name="grayscale" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="alt-text" type="xs:string"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <xs:simpleType name="ComparisonOperatorEnum">
|
|
|
|
|
- <xs:restriction base="xs:string">
|
|
|
|
|
- <xs:enumeration value="Equals"/>
|
|
|
|
|
- <xs:enumeration value="NotEquals"/>
|
|
|
|
|
- <xs:enumeration value="GreaterThan"/>
|
|
|
|
|
- <xs:enumeration value="LessThan"/>
|
|
|
|
|
- <xs:enumeration value="GreaterThanOrEqual"/>
|
|
|
|
|
- <xs:enumeration value="LessThanOrEqual"/>
|
|
|
|
|
- <xs:enumeration value="Contains"/>
|
|
|
|
|
- <xs:enumeration value="StartsWith"/>
|
|
|
|
|
- <xs:enumeration value="EndsWith"/>
|
|
|
|
|
- <xs:enumeration value="IsNull"/>
|
|
|
|
|
- <xs:enumeration value="IsNotNull"/>
|
|
|
|
|
- </xs:restriction>
|
|
|
|
|
- </xs:simpleType>
|
|
|
|
|
-
|
|
|
|
|
- <xs:simpleType name="LogicOperatorEnum">
|
|
|
|
|
- <xs:restriction base="xs:string">
|
|
|
|
|
- <xs:enumeration value="AND"/>
|
|
|
|
|
- <xs:enumeration value="OR"/>
|
|
|
|
|
- <xs:enumeration value="NOT"/>
|
|
|
|
|
- </xs:restriction>
|
|
|
|
|
- </xs:simpleType>
|
|
|
|
|
|
|
+ <!-- INPUT CONTROLS -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- TextBox Control Type -->
|
|
|
|
|
+ <xs:complexType name="TextBoxType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:attribute name="max-length" type="xs:int" default="32767"/>
|
|
|
|
|
+ <xs:attribute name="read-only" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="multiline" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="password-char" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="placeholder-text" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="text-align" type="tns:TextAlignEnum" default="left"/>
|
|
|
|
|
+ <xs:attribute name="accepts-return" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="accepts-tab" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="word-wrap" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="scroll-bars" type="tns:ScrollBarsEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="auto-complete-mode" type="tns:AutoCompleteModeEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="auto-complete-source" type="xs:string"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: Data Binding Details -->
|
|
|
|
|
- <xs:complexType name="DataBindingDetailsType">
|
|
|
|
|
- <xs:sequence>
|
|
|
|
|
- <xs:element name="binding" type="tns:BindingDetailType" maxOccurs="unbounded"/>
|
|
|
|
|
- </xs:sequence>
|
|
|
|
|
|
|
+ <!-- ComboBox Control Type -->
|
|
|
|
|
+ <xs:complexType name="ComboBoxType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="items" type="tns:ComboBoxItemsType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="dropdown-style" type="tns:DropdownStyleEnum" default="dropdown"/>
|
|
|
|
|
+ <xs:attribute name="max-dropdown-items" type="xs:int" default="8"/>
|
|
|
|
|
+ <xs:attribute name="selected-index" type="xs:int" default="-1"/>
|
|
|
|
|
+ <xs:attribute name="selected-value" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="auto-complete-mode" type="tns:AutoCompleteModeEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="auto-complete-source" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="sorted" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <xs:complexType name="BindingDetailType">
|
|
|
|
|
- <xs:attribute name="property" type="xs:string" use="required"/>
|
|
|
|
|
- <xs:attribute name="source-path" type="xs:string" use="required"/>
|
|
|
|
|
- <xs:attribute name="mode" type="tns:BindingModeEnum" default="TwoWay"/>
|
|
|
|
|
- <xs:attribute name="converter" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="validation-rule" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="update-trigger" type="tns:UpdateTriggerEnum" default="PropertyChanged"/>
|
|
|
|
|
- <xs:attribute name="fallback-value" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="target-null-value" type="xs:string"/>
|
|
|
|
|
|
|
+ <!-- ACTION CONTROLS -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Button Control Type -->
|
|
|
|
|
+ <xs:complexType name="ButtonType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:attribute name="type" type="tns:ButtonTypeEnum" default="text"/>
|
|
|
|
|
+ <xs:attribute name="image" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="image-position" type="tns:ImagePositionEnum" default="left"/>
|
|
|
|
|
+ <xs:attribute name="style" type="tns:ButtonStyleEnum" default="normal"/>
|
|
|
|
|
+ <xs:attribute name="size" type="tns:ButtonSizeEnum" default="medium"/>
|
|
|
|
|
+ <xs:attribute name="auto-size" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="is-default" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="is-cancel" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="flat-style" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <xs:simpleType name="UpdateTriggerEnum">
|
|
|
|
|
- <xs:restriction base="xs:string">
|
|
|
|
|
- <xs:enumeration value="PropertyChanged"/>
|
|
|
|
|
- <xs:enumeration value="LostFocus"/>
|
|
|
|
|
- <xs:enumeration value="Explicit"/>
|
|
|
|
|
- <xs:enumeration value="SourceUpdated"/>
|
|
|
|
|
- </xs:restriction>
|
|
|
|
|
- </xs:simpleType>
|
|
|
|
|
|
|
+ <!-- CONTAINER CONTROLS -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Panel Control Type -->
|
|
|
|
|
+ <xs:complexType name="PanelType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:attribute name="border-style" type="tns:BorderStyleEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="border-width" type="xs:int" default="0"/>
|
|
|
|
|
+ <xs:attribute name="border-color" type="xs:string" default="black"/>
|
|
|
|
|
+ <xs:attribute name="auto-scroll" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="layout-type" type="tns:LayoutTypeEnum" default="absolute"/>
|
|
|
|
|
+ <xs:attribute name="flow-direction" type="tns:FlowDirectionEnum" default="left-to-right"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: Accessibility Details -->
|
|
|
|
|
- <xs:complexType name="AccessibilityDetailsType">
|
|
|
|
|
- <xs:sequence>
|
|
|
|
|
- <xs:element name="screen-reader" type="tns:ScreenReaderDetailsType" minOccurs="0"/>
|
|
|
|
|
- <xs:element name="keyboard-support" type="tns:KeyboardSupportType" minOccurs="0"/>
|
|
|
|
|
- <xs:element name="visual-support" type="tns:VisualSupportType" minOccurs="0"/>
|
|
|
|
|
- <xs:element name="interaction-support" type="tns:InteractionSupportType" minOccurs="0"/>
|
|
|
|
|
- </xs:sequence>
|
|
|
|
|
|
|
+ <!-- PopupPanel Control Type -->
|
|
|
|
|
+ <xs:complexType name="PopupPanelType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:PanelType">
|
|
|
|
|
+ <xs:attribute name="popup-mode" type="tns:PopupModeEnum" default="modeless"/>
|
|
|
|
|
+ <xs:attribute name="auto-close" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="close-on-escape" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="close-on-click-outside" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="show-close-button" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="resizable" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="movable" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="fade-in" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="fade-out" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="animation-duration" type="xs:int" default="200"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <xs:complexType name="ScreenReaderDetailsType">
|
|
|
|
|
- <xs:attribute name="label" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="description" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="role" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="live-region" type="tns:AriaLiveEnum" default="off"/>
|
|
|
|
|
- <xs:attribute name="owns" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="controls" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="described-by" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="labelled-by" type="xs:string"/>
|
|
|
|
|
|
|
+ <!-- NAVIGATION CONTROLS -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Menu Control Type -->
|
|
|
|
|
+ <xs:complexType name="MenuType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="items" type="tns:MenuItemsType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="orientation" type="tns:OrientationEnum" default="horizontal"/>
|
|
|
|
|
+ <xs:attribute name="show-check-margin" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="show-image-margin" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="right-to-left" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <xs:complexType name="KeyboardSupportType">
|
|
|
|
|
- <xs:attribute name="tab-stop" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="tab-index" type="xs:int" default="0"/>
|
|
|
|
|
- <xs:attribute name="access-key" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="shortcut-key" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="focus-on-click" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="escape-key-handler" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="enter-key-handler" type="xs:string"/>
|
|
|
|
|
|
|
+ <!-- LIST CONTROLS -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ListView Control Type -->
|
|
|
|
|
+ <xs:complexType name="ListViewType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="columns" type="tns:ColumnsType" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="items" type="tns:ListViewItemsType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="view-mode" type="tns:ListViewModeEnum" default="details"/>
|
|
|
|
|
+ <xs:attribute name="multi-select" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="full-row-select" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="grid-lines" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="header-style" type="tns:HeaderStyleEnum" default="clickable"/>
|
|
|
|
|
+ <xs:attribute name="sorting" type="tns:SortingEnum" default="none"/>
|
|
|
|
|
+ <xs:attribute name="allow-column-reorder" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="hover-selection" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="hot-tracking" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="virtual-mode" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="virtual-list-size" type="xs:int" default="0"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <xs:complexType name="VisualSupportType">
|
|
|
|
|
- <xs:attribute name="high-contrast" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="font-size-scale" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="color-blind-safe" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="animation-reduce" type="xs:boolean" default="false"/>
|
|
|
|
|
- <xs:attribute name="transparency-support" type="xs:boolean" default="true"/>
|
|
|
|
|
|
|
+ <!-- TreeView Control Type -->
|
|
|
|
|
+ <xs:complexType name="TreeViewType">
|
|
|
|
|
+ <xs:complexContent>
|
|
|
|
|
+ <xs:extension base="tns:BasicControlInstanceType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="nodes" type="tns:TreeNodesType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="show-lines" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="show-plus-minus" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="show-root-lines" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="has-check-boxes" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="full-row-select" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="hot-tracking" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="hide-selection" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="label-edit" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="scrollable" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="sorted" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="path-separator" type="xs:string" default="\"/>
|
|
|
|
|
+ <xs:attribute name="indent" type="xs:int" default="19"/>
|
|
|
|
|
+ <xs:attribute name="item-height" type="xs:int" default="16"/>
|
|
|
|
|
+ </xs:extension>
|
|
|
|
|
+ </xs:complexContent>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: New Interaction Support Type -->
|
|
|
|
|
- <xs:complexType name="InteractionSupportType">
|
|
|
|
|
- <xs:attribute name="touch-support" type="xs:boolean" default="false"/>
|
|
|
|
|
- <xs:attribute name="gesture-support" type="xs:boolean" default="false"/>
|
|
|
|
|
- <xs:attribute name="voice-control" type="xs:boolean" default="false"/>
|
|
|
|
|
- <xs:attribute name="eye-tracking" type="xs:boolean" default="false"/>
|
|
|
|
|
- <xs:attribute name="minimum-target-size" type="xs:int" default="44"/>
|
|
|
|
|
|
|
+ <!-- STRUCTURE TYPES -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ListBoxItem Type -->
|
|
|
|
|
+ <xs:complexType name="ListBoxItemType">
|
|
|
|
|
+ <xs:attribute name="value" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="selected" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="enabled" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="image" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="tooltip" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="tag" type="xs:string"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
- <!-- ENHANCEMENT: Enhanced Supporting Types -->
|
|
|
|
|
- <xs:complexType name="MenuItemsType">
|
|
|
|
|
|
|
+ <!-- ListViewItem Type -->
|
|
|
|
|
+ <xs:complexType name="ListViewItemType">
|
|
|
<xs:sequence>
|
|
<xs:sequence>
|
|
|
- <xs:element name="menu-item" maxOccurs="unbounded">
|
|
|
|
|
|
|
+ <xs:element name="sub-items" minOccurs="0">
|
|
|
<xs:complexType>
|
|
<xs:complexType>
|
|
|
<xs:sequence>
|
|
<xs:sequence>
|
|
|
- <xs:element name="menu-items" type="tns:MenuItemsType" minOccurs="0"/>
|
|
|
|
|
|
|
+ <xs:element name="sub-item" maxOccurs="unbounded">
|
|
|
|
|
+ <xs:complexType>
|
|
|
|
|
+ <xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+ </xs:element>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
- <xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
|
|
- <xs:attribute name="action" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="separator" type="xs:boolean" default="false"/>
|
|
|
|
|
- <!-- ENHANCEMENT: Command binding and accessibility -->
|
|
|
|
|
- <xs:attribute name="shortcut-key" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="command-binding" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="command-parameter" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="aria-label" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="icon" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="enabled" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="visible" type="xs:boolean" default="true"/>
|
|
|
|
|
- <!-- ENHANCEMENT: v1.3 conditional visibility -->
|
|
|
|
|
- <xs:attribute name="visibility-binding" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="enabled-binding" type="xs:string"/>
|
|
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
</xs:element>
|
|
</xs:element>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
- <xs:attribute name="orientation" type="tns:OrientationEnum" default="vertical"/>
|
|
|
|
|
|
|
+ <xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="value" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="selected" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="checked" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="focused" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="image-index" type="xs:int" default="-1"/>
|
|
|
|
|
+ <xs:attribute name="image-key" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="state-image-index" type="xs:int" default="-1"/>
|
|
|
|
|
+ <xs:attribute name="group" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="use-item-style-for-sub-items" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="tag" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ColumnItem Type -->
|
|
|
|
|
+ <xs:complexType name="ColumnItemType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="width" type="xs:int" default="100"/>
|
|
|
|
|
+ <xs:attribute name="sortable" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="visible" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="alignment" type="tns:AlignmentEnum" default="left"/>
|
|
|
|
|
+ <xs:attribute name="data-type" type="tns:DataTypeEnum" default="text"/>
|
|
|
|
|
+ <xs:attribute name="format-string" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="image-index" type="xs:int" default="-1"/>
|
|
|
|
|
+ <xs:attribute name="tag" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- TreeNode Type -->
|
|
|
|
|
+ <xs:complexType name="TreeNodeType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="nodes" type="tns:TreeNodesType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="value" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="expanded" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="selected" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="checked" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="image-index" type="xs:int" default="-1"/>
|
|
|
|
|
+ <xs:attribute name="image-key" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="selected-image-index" type="xs:int" default="-1"/>
|
|
|
|
|
+ <xs:attribute name="selected-image-key" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="state-image-index" type="xs:int" default="-1"/>
|
|
|
|
|
+ <xs:attribute name="state-image-key" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="tool-tip-text" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="context-menu" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="tag" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- MenuItem Type -->
|
|
|
|
|
+ <xs:complexType name="MenuItemType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="items" type="tns:MenuItemsType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="value" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="enabled" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="visible" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="checked" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="checkable" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="radio-check" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="image" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="shortcut-keys" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="show-shortcut" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="merge-type" type="tns:MergeTypeEnum" default="add"/>
|
|
|
|
|
+ <xs:attribute name="merge-order" type="xs:int" default="0"/>
|
|
|
|
|
+ <xs:attribute name="separator" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="tag" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- COLLECTION TYPES -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ComboBox Items -->
|
|
|
|
|
+ <xs:complexType name="ComboBoxItemsType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="item" type="tns:ListBoxItemType" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Menu Items -->
|
|
|
|
|
+ <xs:complexType name="MenuItemsType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="item" type="tns:MenuItemType" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ListView Items -->
|
|
|
|
|
+ <xs:complexType name="ListViewItemsType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="item" type="tns:ListViewItemType" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Columns -->
|
|
|
|
|
+ <xs:complexType name="ColumnsType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="column" type="tns:ColumnItemType" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Tree Nodes -->
|
|
|
|
|
+ <xs:complexType name="TreeNodesType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="node" type="tns:TreeNodeType" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
|
|
+ <!-- ENUMERATION TYPES -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Basic Enumerations -->
|
|
|
|
|
+ <xs:simpleType name="DockEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="left"/>
|
|
|
|
|
+ <xs:enumeration value="right"/>
|
|
|
|
|
+ <xs:enumeration value="top"/>
|
|
|
|
|
+ <xs:enumeration value="bottom"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="AnchorEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="left"/>
|
|
|
|
|
+ <xs:enumeration value="right"/>
|
|
|
|
|
+ <xs:enumeration value="top"/>
|
|
|
|
|
+ <xs:enumeration value="bottom"/>
|
|
|
|
|
+ <xs:enumeration value="all"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="FontStyleEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="normal"/>
|
|
|
|
|
+ <xs:enumeration value="italic"/>
|
|
|
|
|
+ <xs:enumeration value="bold"/>
|
|
|
|
|
+ <xs:enumeration value="bold-italic"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
<xs:simpleType name="OrientationEnum">
|
|
<xs:simpleType name="OrientationEnum">
|
|
|
<xs:restriction base="xs:string">
|
|
<xs:restriction base="xs:string">
|
|
|
<xs:enumeration value="horizontal"/>
|
|
<xs:enumeration value="horizontal"/>
|
|
@@ -274,46 +457,20 @@
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
|
- <xs:complexType name="ColumnsType">
|
|
|
|
|
- <xs:sequence>
|
|
|
|
|
- <xs:element name="column" maxOccurs="unbounded">
|
|
|
|
|
- <xs:complexType>
|
|
|
|
|
- <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
- <xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
|
|
- <xs:attribute name="width" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="sortable" type="xs:boolean" default="true"/>
|
|
|
|
|
- <!-- ENHANCEMENT: Data binding and accessibility -->
|
|
|
|
|
- <xs:attribute name="data-type" type="tns:DataTypeEnum" default="string"/>
|
|
|
|
|
- <xs:attribute name="binding-path" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="converter" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="sort-member-path" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="aria-label" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="format-string" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="alignment" type="tns:AlignmentEnum" default="left"/>
|
|
|
|
|
- <xs:attribute name="visible" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="resizable" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="frozen" type="xs:boolean" default="false"/>
|
|
|
|
|
- </xs:complexType>
|
|
|
|
|
- </xs:element>
|
|
|
|
|
- </xs:sequence>
|
|
|
|
|
- </xs:complexType>
|
|
|
|
|
|
|
+ <xs:simpleType name="TextAlignEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="left"/>
|
|
|
|
|
+ <xs:enumeration value="center"/>
|
|
|
|
|
+ <xs:enumeration value="right"/>
|
|
|
|
|
+ <xs:enumeration value="justify"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
|
|
|
- <xs:simpleType name="DataTypeEnum">
|
|
|
|
|
|
|
+ <xs:simpleType name="VerticalAlignEnum">
|
|
|
<xs:restriction base="xs:string">
|
|
<xs:restriction base="xs:string">
|
|
|
- <xs:enumeration value="string"/>
|
|
|
|
|
- <xs:enumeration value="int"/>
|
|
|
|
|
- <xs:enumeration value="decimal"/>
|
|
|
|
|
- <xs:enumeration value="double"/>
|
|
|
|
|
- <xs:enumeration value="float"/>
|
|
|
|
|
- <xs:enumeration value="boolean"/>
|
|
|
|
|
- <xs:enumeration value="date"/>
|
|
|
|
|
- <xs:enumeration value="datetime"/>
|
|
|
|
|
- <xs:enumeration value="timespan"/>
|
|
|
|
|
- <xs:enumeration value="currency"/>
|
|
|
|
|
- <xs:enumeration value="percentage"/>
|
|
|
|
|
- <xs:enumeration value="image"/>
|
|
|
|
|
- <xs:enumeration value="hyperlink"/>
|
|
|
|
|
- <xs:enumeration value="custom"/>
|
|
|
|
|
|
|
+ <xs:enumeration value="top"/>
|
|
|
|
|
+ <xs:enumeration value="middle"/>
|
|
|
|
|
+ <xs:enumeration value="bottom"/>
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
@@ -322,39 +479,224 @@
|
|
|
<xs:enumeration value="left"/>
|
|
<xs:enumeration value="left"/>
|
|
|
<xs:enumeration value="center"/>
|
|
<xs:enumeration value="center"/>
|
|
|
<xs:enumeration value="right"/>
|
|
<xs:enumeration value="right"/>
|
|
|
- <xs:enumeration value="justify"/>
|
|
|
|
|
- <xs:enumeration value="stretch"/>
|
|
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
|
- <xs:complexType name="ItemsType">
|
|
|
|
|
- <xs:sequence>
|
|
|
|
|
- <xs:element name="item" maxOccurs="unbounded">
|
|
|
|
|
- <xs:complexType>
|
|
|
|
|
- <xs:attribute name="value" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="text" type="xs:string"/>
|
|
|
|
|
- <!-- ENHANCEMENT: Data binding and accessibility -->
|
|
|
|
|
- <xs:attribute name="data-context" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="command-parameter" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="aria-label" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="icon" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="tooltip" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="enabled" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="visible" type="xs:boolean" default="true"/>
|
|
|
|
|
- <xs:attribute name="selected" type="xs:boolean" default="false"/>
|
|
|
|
|
- <xs:attribute name="group" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="sort-order" type="xs:int" default="0"/>
|
|
|
|
|
- </xs:complexType>
|
|
|
|
|
- </xs:element>
|
|
|
|
|
- </xs:sequence>
|
|
|
|
|
- <!-- ENHANCEMENT: Collection-level data binding -->
|
|
|
|
|
- <xs:attribute name="items-source" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="display-member-path" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="value-member-path" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="selected-value-path" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="group-member-path" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="sort-member-path" type="xs:string"/>
|
|
|
|
|
- <xs:attribute name="filter-expression" type="xs:string"/>
|
|
|
|
|
- </xs:complexType>
|
|
|
|
|
|
|
+ <!-- Separator Specific Enumerations -->
|
|
|
|
|
+ <xs:simpleType name="LineStyleEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="solid"/>
|
|
|
|
|
+ <xs:enumeration value="dashed"/>
|
|
|
|
|
+ <xs:enumeration value="dotted"/>
|
|
|
|
|
+ <xs:enumeration value="double"/>
|
|
|
|
|
+ <xs:enumeration value="groove"/>
|
|
|
|
|
+ <xs:enumeration value="ridge"/>
|
|
|
|
|
+ <xs:enumeration value="inset"/>
|
|
|
|
|
+ <xs:enumeration value="outset"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Image Specific Enumerations -->
|
|
|
|
|
+ <xs:simpleType name="ImageSourceTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="file"/>
|
|
|
|
|
+ <xs:enumeration value="url"/>
|
|
|
|
|
+ <xs:enumeration value="resource"/>
|
|
|
|
|
+ <xs:enumeration value="base64"/>
|
|
|
|
|
+ <xs:enumeration value="stream"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ImageSizeModeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="normal"/>
|
|
|
|
|
+ <xs:enumeration value="stretch-image"/>
|
|
|
|
|
+ <xs:enumeration value="auto-size"/>
|
|
|
|
|
+ <xs:enumeration value="center-image"/>
|
|
|
|
|
+ <xs:enumeration value="zoom"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="AspectRatioEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="ignore"/>
|
|
|
|
|
+ <xs:enumeration value="keep"/>
|
|
|
|
|
+ <xs:enumeration value="keep-by-expanding"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="InterpolationModeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="default"/>
|
|
|
|
|
+ <xs:enumeration value="low"/>
|
|
|
|
|
+ <xs:enumeration value="high"/>
|
|
|
|
|
+ <xs:enumeration value="bilinear"/>
|
|
|
|
|
+ <xs:enumeration value="bicubic"/>
|
|
|
|
|
+ <xs:enumeration value="nearest-neighbor"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="RotationEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="rotate90"/>
|
|
|
|
|
+ <xs:enumeration value="rotate180"/>
|
|
|
|
|
+ <xs:enumeration value="rotate270"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="FlipEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="horizontal"/>
|
|
|
|
|
+ <xs:enumeration value="vertical"/>
|
|
|
|
|
+ <xs:enumeration value="both"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- Other Control Specific Enumerations -->
|
|
|
|
|
+ <xs:simpleType name="BorderStyleEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="single"/>
|
|
|
|
|
+ <xs:enumeration value="raised"/>
|
|
|
|
|
+ <xs:enumeration value="sunken"/>
|
|
|
|
|
+ <xs:enumeration value="double"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ScrollBarsEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="horizontal"/>
|
|
|
|
|
+ <xs:enumeration value="vertical"/>
|
|
|
|
|
+ <xs:enumeration value="both"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="AutoCompleteModeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="suggest"/>
|
|
|
|
|
+ <xs:enumeration value="append"/>
|
|
|
|
|
+ <xs:enumeration value="suggest-append"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="DropdownStyleEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="dropdown"/>
|
|
|
|
|
+ <xs:enumeration value="simple"/>
|
|
|
|
|
+ <xs:enumeration value="dropdown-list"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ButtonTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="text"/>
|
|
|
|
|
+ <xs:enumeration value="image"/>
|
|
|
|
|
+ <xs:enumeration value="text-image"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ImagePositionEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="left"/>
|
|
|
|
|
+ <xs:enumeration value="right"/>
|
|
|
|
|
+ <xs:enumeration value="top"/>
|
|
|
|
|
+ <xs:enumeration value="bottom"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ButtonStyleEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="normal"/>
|
|
|
|
|
+ <xs:enumeration value="primary"/>
|
|
|
|
|
+ <xs:enumeration value="secondary"/>
|
|
|
|
|
+ <xs:enumeration value="danger"/>
|
|
|
|
|
+ <xs:enumeration value="success"/>
|
|
|
|
|
+ <xs:enumeration value="warning"/>
|
|
|
|
|
+ <xs:enumeration value="info"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ButtonSizeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="small"/>
|
|
|
|
|
+ <xs:enumeration value="medium"/>
|
|
|
|
|
+ <xs:enumeration value="large"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="LayoutTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="absolute"/>
|
|
|
|
|
+ <xs:enumeration value="flow"/>
|
|
|
|
|
+ <xs:enumeration value="stack"/>
|
|
|
|
|
+ <xs:enumeration value="grid"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="FlowDirectionEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="left-to-right"/>
|
|
|
|
|
+ <xs:enumeration value="right-to-left"/>
|
|
|
|
|
+ <xs:enumeration value="top-to-bottom"/>
|
|
|
|
|
+ <xs:enumeration value="bottom-to-top"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="PopupModeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="modal"/>
|
|
|
|
|
+ <xs:enumeration value="modeless"/>
|
|
|
|
|
+ <xs:enumeration value="tooltip"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ListViewModeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="details"/>
|
|
|
|
|
+ <xs:enumeration value="list"/>
|
|
|
|
|
+ <xs:enumeration value="large-icons"/>
|
|
|
|
|
+ <xs:enumeration value="small-icons"/>
|
|
|
|
|
+ <xs:enumeration value="tiles"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="HeaderStyleEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="clickable"/>
|
|
|
|
|
+ <xs:enumeration value="non-clickable"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="SortingEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="ascending"/>
|
|
|
|
|
+ <xs:enumeration value="descending"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="MergeTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="add"/>
|
|
|
|
|
+ <xs:enumeration value="merge-items"/>
|
|
|
|
|
+ <xs:enumeration value="remove"/>
|
|
|
|
|
+ <xs:enumeration value="replace"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="DataTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="text"/>
|
|
|
|
|
+ <xs:enumeration value="number"/>
|
|
|
|
|
+ <xs:enumeration value="date"/>
|
|
|
|
|
+ <xs:enumeration value="boolean"/>
|
|
|
|
|
+ <xs:enumeration value="image"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
|
|
|
</xs:schema>
|
|
</xs:schema>
|