|
@@ -3,7 +3,7 @@
|
|
|
targetNamespace="ui-layout-views"
|
|
targetNamespace="ui-layout-views"
|
|
|
xmlns:tns="ui-layout-views"
|
|
xmlns:tns="ui-layout-views"
|
|
|
elementFormDefault="qualified"
|
|
elementFormDefault="qualified"
|
|
|
- version="1.2">
|
|
|
|
|
|
|
+ version="1.3">
|
|
|
|
|
|
|
|
<!-- Root element for view include files -->
|
|
<!-- Root element for view include files -->
|
|
|
<xs:element name="views" type="tns:ViewsIncludeFileType"/>
|
|
<xs:element name="views" type="tns:ViewsIncludeFileType"/>
|
|
@@ -13,6 +13,10 @@
|
|
|
<xs:sequence>
|
|
<xs:sequence>
|
|
|
<xs:element name="view" type="tns:ViewType" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="view" type="tns:ViewType" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
|
|
+ <!-- ENHANCEMENT: Version tracking for view files -->
|
|
|
|
|
+ <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
|
|
|
|
|
+ <xs:attribute name="namespace" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="assembly" type="xs:string"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<!-- View Type -->
|
|
<!-- View Type -->
|
|
@@ -33,13 +37,50 @@
|
|
|
<xs:element name="module-views" type="tns:ModuleViewsType" minOccurs="0"/>
|
|
<xs:element name="module-views" type="tns:ModuleViewsType" minOccurs="0"/>
|
|
|
<xs:element name="module-dependencies" type="tns:ModuleDependenciesType" minOccurs="0"/>
|
|
<xs:element name="module-dependencies" type="tns:ModuleDependenciesType" minOccurs="0"/>
|
|
|
<xs:element name="main-navigation" type="tns:MainNavigationType" minOccurs="0"/>
|
|
<xs:element name="main-navigation" type="tns:MainNavigationType" minOccurs="0"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new view features -->
|
|
|
|
|
+ <xs:element name="state-management" type="tns:StateManagementType" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="accessibility" type="tns:ViewAccessibilityType" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="performance" type="tns:PerformanceType" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="security" type="tns:SecurityType" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="localization" type="tns:LocalizationType" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="testing" type="tns:TestingType" minOccurs="0"/>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="type" type="tns:ViewTypeEnum" use="required"/>
|
|
<xs:attribute name="type" type="tns:ViewTypeEnum" use="required"/>
|
|
|
<xs:attribute name="category" type="tns:ViewCategoryEnum" use="required"/>
|
|
<xs:attribute name="category" type="tns:ViewCategoryEnum" use="required"/>
|
|
|
<xs:attribute name="inherits" type="xs:string"/>
|
|
<xs:attribute name="inherits" type="xs:string"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 view attributes -->
|
|
|
|
|
+ <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
|
|
|
|
|
+ <xs:attribute name="platform" type="tns:PlatformEnum" default="basic"/>
|
|
|
|
|
+ <xs:attribute name="singleton" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="lazy-loading" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="cacheable" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="priority" type="tns:PriorityEnum" default="normal"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
|
|
+ <!-- ENHANCEMENT: Platform Enumeration -->
|
|
|
|
|
+ <xs:simpleType name="PlatformEnum">
|
|
|
|
|
+ <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:enumeration value="mixed"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Priority Enumeration -->
|
|
|
|
|
+ <xs:simpleType name="PriorityEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="low"/>
|
|
|
|
|
+ <xs:enumeration value="normal"/>
|
|
|
|
|
+ <xs:enumeration value="high"/>
|
|
|
|
|
+ <xs:enumeration value="critical"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
<!-- View Type and Category Enums -->
|
|
<!-- View Type and Category Enums -->
|
|
|
<xs:simpleType name="ViewTypeEnum">
|
|
<xs:simpleType name="ViewTypeEnum">
|
|
|
<xs:restriction base="xs:string">
|
|
<xs:restriction base="xs:string">
|
|
@@ -51,6 +92,11 @@
|
|
|
<xs:enumeration value="composite"/>
|
|
<xs:enumeration value="composite"/>
|
|
|
<xs:enumeration value="module"/>
|
|
<xs:enumeration value="module"/>
|
|
|
<xs:enumeration value="base"/>
|
|
<xs:enumeration value="base"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new view types -->
|
|
|
|
|
+ <xs:enumeration value="ai-assisted"/>
|
|
|
|
|
+ <xs:enumeration value="real-time"/>
|
|
|
|
|
+ <xs:enumeration value="collaborative"/>
|
|
|
|
|
+ <xs:enumeration value="analytics"/>
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
@@ -62,6 +108,355 @@
|
|
|
<xs:enumeration value="system"/>
|
|
<xs:enumeration value="system"/>
|
|
|
<xs:enumeration value="framework"/>
|
|
<xs:enumeration value="framework"/>
|
|
|
<xs:enumeration value="business"/>
|
|
<xs:enumeration value="business"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new categories -->
|
|
|
|
|
+ <xs:enumeration value="analytics"/>
|
|
|
|
|
+ <xs:enumeration value="collaboration"/>
|
|
|
|
|
+ <xs:enumeration value="ai-enhanced"/>
|
|
|
|
|
+ <xs:enumeration value="mobile-optimized"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: State Management Type -->
|
|
|
|
|
+ <xs:complexType name="StateManagementType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="state" type="tns:StateDefinitionType" maxOccurs="unbounded"/>
|
|
|
|
|
+ <xs:element name="transition" type="tns:StateTransitionType" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="pattern" type="tns:StatePatternEnum" default="simple"/>
|
|
|
|
|
+ <xs:attribute name="persistence" type="tns:PersistenceEnum" default="session"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="StateDefinitionType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="initial" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="final" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="description" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="data-snapshot" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="StateTransitionType">
|
|
|
|
|
+ <xs:attribute name="from" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="to" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="trigger" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="condition" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="action" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="StatePatternEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="simple"/>
|
|
|
|
|
+ <xs:enumeration value="hierarchical"/>
|
|
|
|
|
+ <xs:enumeration value="concurrent"/>
|
|
|
|
|
+ <xs:enumeration value="redux"/>
|
|
|
|
|
+ <xs:enumeration value="mobx"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="PersistenceEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="session"/>
|
|
|
|
|
+ <xs:enumeration value="local"/>
|
|
|
|
|
+ <xs:enumeration value="remote"/>
|
|
|
|
|
+ <xs:enumeration value="distributed"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: View Accessibility Type -->
|
|
|
|
|
+ <xs:complexType name="ViewAccessibilityType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="compliance" type="tns:AccessibilityComplianceType" maxOccurs="unbounded"/>
|
|
|
|
|
+ <xs:element name="feature" type="tns:AccessibilityFeatureType" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="level" type="tns:AccessibilityLevelEnum" default="aa"/>
|
|
|
|
|
+ <xs:attribute name="tested" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="AccessibilityComplianceType">
|
|
|
|
|
+ <xs:attribute name="standard" type="tns:AccessibilityStandardEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="level" type="tns:AccessibilityLevelEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="verified" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="AccessibilityFeatureType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="type" type="tns:AccessibilityFeatureEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="required" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="implementation" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="AccessibilityStandardEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="wcag"/>
|
|
|
|
|
+ <xs:enumeration value="section-508"/>
|
|
|
|
|
+ <xs:enumeration value="ada"/>
|
|
|
|
|
+ <xs:enumeration value="en-301-549"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="AccessibilityLevelEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="a"/>
|
|
|
|
|
+ <xs:enumeration value="aa"/>
|
|
|
|
|
+ <xs:enumeration value="aaa"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="AccessibilityFeatureEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="screen-reader"/>
|
|
|
|
|
+ <xs:enumeration value="keyboard-navigation"/>
|
|
|
|
|
+ <xs:enumeration value="high-contrast"/>
|
|
|
|
|
+ <xs:enumeration value="voice-control"/>
|
|
|
|
|
+ <xs:enumeration value="eye-tracking"/>
|
|
|
|
|
+ <xs:enumeration value="switch-control"/>
|
|
|
|
|
+ <xs:enumeration value="magnification"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Performance Type -->
|
|
|
|
|
+ <xs:complexType name="PerformanceType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="metric" type="tns:PerformanceMetricType" maxOccurs="unbounded"/>
|
|
|
|
|
+ <xs:element name="optimization" type="tns:OptimizationType" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="target-load-time" type="xs:int" default="2000"/>
|
|
|
|
|
+ <xs:attribute name="memory-limit" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="cpu-threshold" type="xs:decimal"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="PerformanceMetricType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="type" type="tns:MetricTypeEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="target" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="critical" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="OptimizationType">
|
|
|
|
|
+ <xs:attribute name="technique" type="tns:OptimizationTechniqueEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="description" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="impact" type="tns:ImpactEnum" default="medium"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="MetricTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="load-time"/>
|
|
|
|
|
+ <xs:enumeration value="memory-usage"/>
|
|
|
|
|
+ <xs:enumeration value="cpu-usage"/>
|
|
|
|
|
+ <xs:enumeration value="response-time"/>
|
|
|
|
|
+ <xs:enumeration value="throughput"/>
|
|
|
|
|
+ <xs:enumeration value="frame-rate"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="OptimizationTechniqueEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="lazy-loading"/>
|
|
|
|
|
+ <xs:enumeration value="virtualization"/>
|
|
|
|
|
+ <xs:enumeration value="caching"/>
|
|
|
|
|
+ <xs:enumeration value="compression"/>
|
|
|
|
|
+ <xs:enumeration value="bundling"/>
|
|
|
|
|
+ <xs:enumeration value="code-splitting"/>
|
|
|
|
|
+ <xs:enumeration value="preloading"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ImpactEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="low"/>
|
|
|
|
|
+ <xs:enumeration value="medium"/>
|
|
|
|
|
+ <xs:enumeration value="high"/>
|
|
|
|
|
+ <xs:enumeration value="critical"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Security Type -->
|
|
|
|
|
+ <xs:complexType name="SecurityType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="permission" type="tns:PermissionType" maxOccurs="unbounded"/>
|
|
|
|
|
+ <xs:element name="vulnerability-protection" type="tns:VulnerabilityProtectionType" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
|
+ <xs:element name="data-protection" type="tns:DataProtectionType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="level" type="tns:SecurityLevelEnum" default="standard"/>
|
|
|
|
|
+ <xs:attribute name="audit-required" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="PermissionType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="type" type="tns:PermissionTypeEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="required" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="scope" type="tns:PermissionScopeEnum" default="view"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="VulnerabilityProtectionType">
|
|
|
|
|
+ <xs:attribute name="type" type="tns:VulnerabilityTypeEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="protection" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="severity" type="tns:SeverityEnum" default="medium"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="DataProtectionType">
|
|
|
|
|
+ <xs:attribute name="encryption" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="anonymization" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="gdpr-compliant" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="retention-policy" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="SecurityLevelEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="minimal"/>
|
|
|
|
|
+ <xs:enumeration value="standard"/>
|
|
|
|
|
+ <xs:enumeration value="high"/>
|
|
|
|
|
+ <xs:enumeration value="maximum"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="PermissionTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="read"/>
|
|
|
|
|
+ <xs:enumeration value="write"/>
|
|
|
|
|
+ <xs:enumeration value="delete"/>
|
|
|
|
|
+ <xs:enumeration value="execute"/>
|
|
|
|
|
+ <xs:enumeration value="admin"/>
|
|
|
|
|
+ <xs:enumeration value="custom"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="PermissionScopeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="view"/>
|
|
|
|
|
+ <xs:enumeration value="window"/>
|
|
|
|
|
+ <xs:enumeration value="control"/>
|
|
|
|
|
+ <xs:enumeration value="data"/>
|
|
|
|
|
+ <xs:enumeration value="global"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="VulnerabilityTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="xss"/>
|
|
|
|
|
+ <xs:enumeration value="injection"/>
|
|
|
|
|
+ <xs:enumeration value="csrf"/>
|
|
|
|
|
+ <xs:enumeration value="authentication"/>
|
|
|
|
|
+ <xs:enumeration value="authorization"/>
|
|
|
|
|
+ <xs:enumeration value="data-exposure"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="SeverityEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="low"/>
|
|
|
|
|
+ <xs:enumeration value="medium"/>
|
|
|
|
|
+ <xs:enumeration value="high"/>
|
|
|
|
|
+ <xs:enumeration value="critical"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Localization Type -->
|
|
|
|
|
+ <xs:complexType name="LocalizationType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="supported-culture" type="tns:SupportedCultureType" maxOccurs="unbounded"/>
|
|
|
|
|
+ <xs:element name="resource-bundle" type="tns:ResourceBundleType" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="default-culture" type="xs:string" default="en-US"/>
|
|
|
|
|
+ <xs:attribute name="fallback-culture" type="xs:string" default="en"/>
|
|
|
|
|
+ <xs:attribute name="rtl-support" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="SupportedCultureType">
|
|
|
|
|
+ <xs:attribute name="code" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="completion" type="xs:decimal" default="100"/>
|
|
|
|
|
+ <xs:attribute name="verified" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="ResourceBundleType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="path" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="type" type="tns:ResourceBundleTypeEnum" default="resx"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ResourceBundleTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="resx"/>
|
|
|
|
|
+ <xs:enumeration value="json"/>
|
|
|
|
|
+ <xs:enumeration value="xml"/>
|
|
|
|
|
+ <xs:enumeration value="gettext"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Testing Type -->
|
|
|
|
|
+ <xs:complexType name="TestingType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="test-scenario" type="tns:TestScenarioType" maxOccurs="unbounded"/>
|
|
|
|
|
+ <xs:element name="automation" type="tns:TestAutomationType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="coverage-target" type="xs:decimal" default="80"/>
|
|
|
|
|
+ <xs:attribute name="strategy" type="tns:TestStrategyEnum" default="unit"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="TestScenarioType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="step" type="tns:TestStepType" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="type" type="tns:TestTypeEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="priority" type="tns:PriorityEnum" default="normal"/>
|
|
|
|
|
+ <xs:attribute name="automated" type="xs:boolean" default="false"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="TestStepType">
|
|
|
|
|
+ <xs:attribute name="action" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="expected" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="data" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="TestAutomationType">
|
|
|
|
|
+ <xs:attribute name="framework" type="tns:TestFrameworkEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="selector-strategy" type="tns:SelectorStrategyEnum" default="name"/>
|
|
|
|
|
+ <xs:attribute name="page-object-model" type="xs:boolean" default="true"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="TestStrategyEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="unit"/>
|
|
|
|
|
+ <xs:enumeration value="integration"/>
|
|
|
|
|
+ <xs:enumeration value="ui"/>
|
|
|
|
|
+ <xs:enumeration value="e2e"/>
|
|
|
|
|
+ <xs:enumeration value="performance"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="TestTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="functional"/>
|
|
|
|
|
+ <xs:enumeration value="usability"/>
|
|
|
|
|
+ <xs:enumeration value="accessibility"/>
|
|
|
|
|
+ <xs:enumeration value="performance"/>
|
|
|
|
|
+ <xs:enumeration value="security"/>
|
|
|
|
|
+ <xs:enumeration value="compatibility"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="TestFrameworkEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="selenium"/>
|
|
|
|
|
+ <xs:enumeration value="playwright"/>
|
|
|
|
|
+ <xs:enumeration value="cypress"/>
|
|
|
|
|
+ <xs:enumeration value="testcafe"/>
|
|
|
|
|
+ <xs:enumeration value="mstest"/>
|
|
|
|
|
+ <xs:enumeration value="nunit"/>
|
|
|
|
|
+ <xs:enumeration value="xunit"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="SelectorStrategyEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="name"/>
|
|
|
|
|
+ <xs:enumeration value="id"/>
|
|
|
|
|
+ <xs:enumeration value="css"/>
|
|
|
|
|
+ <xs:enumeration value="xpath"/>
|
|
|
|
|
+ <xs:enumeration value="accessibility"/>
|
|
|
|
|
+ <xs:enumeration value="data-testid"/>
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
@@ -72,6 +467,20 @@
|
|
|
<xs:element name="view-model-class" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="view-model-class" type="xs:string" minOccurs="0"/>
|
|
|
<xs:element name="controller-class" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="controller-class" type="xs:string" minOccurs="0"/>
|
|
|
<xs:element name="permissions" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="permissions" type="xs:string" minOccurs="0"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 metadata additions -->
|
|
|
|
|
+ <xs:element name="author" type="xs:string" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="version" type="xs:string" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="created-date" type="xs:date" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="modified-date" type="xs:date" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="documentation-url" type="xs:anyURI" minOccurs="0"/>
|
|
|
|
|
+ <xs:element name="tags" type="tns:TagsType" minOccurs="0"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Tags Type -->
|
|
|
|
|
+ <xs:complexType name="TagsType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="tag" type="xs:string" maxOccurs="unbounded"/>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
@@ -80,6 +489,9 @@
|
|
|
<xs:choice maxOccurs="unbounded">
|
|
<xs:choice maxOccurs="unbounded">
|
|
|
<xs:element name="view-ref" type="tns:ViewRefType"/>
|
|
<xs:element name="view-ref" type="tns:ViewRefType"/>
|
|
|
<xs:element name="shared-component" type="tns:SharedComponentType"/>
|
|
<xs:element name="shared-component" type="tns:SharedComponentType"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new dependency types -->
|
|
|
|
|
+ <xs:element name="service-ref" type="tns:ServiceRefType"/>
|
|
|
|
|
+ <xs:element name="library-ref" type="tns:LibraryRefType"/>
|
|
|
</xs:choice>
|
|
</xs:choice>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
@@ -92,6 +504,9 @@
|
|
|
<xs:attribute name="required" type="xs:boolean" default="false"/>
|
|
<xs:attribute name="required" type="xs:boolean" default="false"/>
|
|
|
<xs:attribute name="role" type="xs:string"/>
|
|
<xs:attribute name="role" type="xs:string"/>
|
|
|
<xs:attribute name="layout-slot" type="xs:string"/>
|
|
<xs:attribute name="layout-slot" type="xs:string"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="lazy-load" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="cache-strategy" type="tns:CacheStrategyEnum" default="none"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:simpleType name="RelationshipEnum">
|
|
<xs:simpleType name="RelationshipEnum">
|
|
@@ -100,6 +515,20 @@
|
|
|
<xs:enumeration value="detail"/>
|
|
<xs:enumeration value="detail"/>
|
|
|
<xs:enumeration value="reference"/>
|
|
<xs:enumeration value="reference"/>
|
|
|
<xs:enumeration value="primary"/>
|
|
<xs:enumeration value="primary"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new relationships -->
|
|
|
|
|
+ <xs:enumeration value="collaboration"/>
|
|
|
|
|
+ <xs:enumeration value="notification"/>
|
|
|
|
|
+ <xs:enumeration value="workflow"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="CacheStrategyEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="none"/>
|
|
|
|
|
+ <xs:enumeration value="memory"/>
|
|
|
|
|
+ <xs:enumeration value="disk"/>
|
|
|
|
|
+ <xs:enumeration value="distributed"/>
|
|
|
|
|
+ <xs:enumeration value="adaptive"/>
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
@@ -107,11 +536,42 @@
|
|
|
<xs:attribute name="type" type="xs:string" use="required"/>
|
|
<xs:attribute name="type" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="returns" type="xs:string"/>
|
|
<xs:attribute name="returns" type="xs:string"/>
|
|
|
<xs:attribute name="context" type="xs:string"/>
|
|
<xs:attribute name="context" type="xs:string"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="async" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="timeout" type="xs:int"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="SharedComponentType">
|
|
<xs:complexType name="SharedComponentType">
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="required" type="xs:boolean" default="false"/>
|
|
<xs:attribute name="required" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="version" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="source" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Service Reference Type -->
|
|
|
|
|
+ <xs:complexType name="ServiceRefType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="interface" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="scope" type="tns:ServiceScopeEnum" default="transient"/>
|
|
|
|
|
+ <xs:attribute name="required" type="xs:boolean" default="true"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:simpleType name="ServiceScopeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="singleton"/>
|
|
|
|
|
+ <xs:enumeration value="transient"/>
|
|
|
|
|
+ <xs:enumeration value="scoped"/>
|
|
|
|
|
+ <xs:enumeration value="per-view"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Library Reference Type -->
|
|
|
|
|
+ <xs:complexType name="LibraryRefType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="version" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="source" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="optional" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<!-- Data Context -->
|
|
<!-- Data Context -->
|
|
@@ -125,6 +585,11 @@
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="type" type="xs:string" use="required"/>
|
|
<xs:attribute name="type" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="scope" type="tns:DataScopeEnum" default="view"/>
|
|
<xs:attribute name="scope" type="tns:DataScopeEnum" default="view"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="nullable" type="xs:boolean" default="true"/>
|
|
|
|
|
+ <xs:attribute name="default-value" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="validation" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="observable" type="xs:boolean" default="true"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:simpleType name="DataScopeEnum">
|
|
<xs:simpleType name="DataScopeEnum">
|
|
@@ -132,6 +597,10 @@
|
|
|
<xs:enumeration value="view"/>
|
|
<xs:enumeration value="view"/>
|
|
|
<xs:enumeration value="shared"/>
|
|
<xs:enumeration value="shared"/>
|
|
|
<xs:enumeration value="global"/>
|
|
<xs:enumeration value="global"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new scopes -->
|
|
|
|
|
+ <xs:enumeration value="session"/>
|
|
|
|
|
+ <xs:enumeration value="persistent"/>
|
|
|
|
|
+ <xs:enumeration value="distributed"/>
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
@@ -147,6 +616,10 @@
|
|
|
<xs:attribute name="role" type="tns:WindowRoleEnum" use="required"/>
|
|
<xs:attribute name="role" type="tns:WindowRoleEnum" use="required"/>
|
|
|
<xs:attribute name="default" type="xs:boolean" default="false"/>
|
|
<xs:attribute name="default" type="xs:boolean" default="false"/>
|
|
|
<xs:attribute name="modal" type="xs:boolean" default="false"/>
|
|
<xs:attribute name="modal" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="lazy-load" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="cache-lifetime" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="priority" type="tns:PriorityEnum" default="normal"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:simpleType name="WindowRoleEnum">
|
|
<xs:simpleType name="WindowRoleEnum">
|
|
@@ -159,6 +632,11 @@
|
|
|
<xs:enumeration value="step1"/>
|
|
<xs:enumeration value="step1"/>
|
|
|
<xs:enumeration value="step2"/>
|
|
<xs:enumeration value="step2"/>
|
|
|
<xs:enumeration value="step3"/>
|
|
<xs:enumeration value="step3"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new roles -->
|
|
|
|
|
+ <xs:enumeration value="dashboard"/>
|
|
|
|
|
+ <xs:enumeration value="report"/>
|
|
|
|
|
+ <xs:enumeration value="preview"/>
|
|
|
|
|
+ <xs:enumeration value="notification"/>
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
@@ -173,6 +651,10 @@
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="target" type="xs:string" use="required"/>
|
|
<xs:attribute name="target" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="context" type="xs:string"/>
|
|
<xs:attribute name="context" type="xs:string"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="async" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="confirmation-required" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="permission" type="xs:string"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<!-- View Behaviors -->
|
|
<!-- View Behaviors -->
|
|
@@ -185,12 +667,21 @@
|
|
|
<xs:complexType name="ViewBehaviorType">
|
|
<xs:complexType name="ViewBehaviorType">
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="scope" type="tns:BehaviorScopeEnum" default="view"/>
|
|
<xs:attribute name="scope" type="tns:BehaviorScopeEnum" default="view"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="async" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="debounce" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="throttle" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="cancellable" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:simpleType name="BehaviorScopeEnum">
|
|
<xs:simpleType name="BehaviorScopeEnum">
|
|
|
<xs:restriction base="xs:string">
|
|
<xs:restriction base="xs:string">
|
|
|
<xs:enumeration value="view"/>
|
|
<xs:enumeration value="view"/>
|
|
|
<xs:enumeration value="global"/>
|
|
<xs:enumeration value="global"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new scopes -->
|
|
|
|
|
+ <xs:enumeration value="session"/>
|
|
|
|
|
+ <xs:enumeration value="application"/>
|
|
|
|
|
+ <xs:enumeration value="distributed"/>
|
|
|
</xs:restriction>
|
|
</xs:restriction>
|
|
|
</xs:simpleType>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
@@ -207,11 +698,17 @@
|
|
|
<xs:element name="slot" type="tns:ViewSlotType" maxOccurs="unbounded"/>
|
|
<xs:element name="slot" type="tns:ViewSlotType" maxOccurs="unbounded"/>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
<xs:attribute name="wireframe" type="xs:string" use="required"/>
|
|
<xs:attribute name="wireframe" type="xs:string" use="required"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="responsive" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="adaptive" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="ViewSlotType">
|
|
<xs:complexType name="ViewSlotType">
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="view" type="xs:string" use="required"/>
|
|
<xs:attribute name="view" type="xs:string" use="required"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="lazy-load" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="conditional" type="xs:string"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<!-- Coordination -->
|
|
<!-- Coordination -->
|
|
@@ -224,6 +721,9 @@
|
|
|
<xs:complexType name="CoordinationRuleType">
|
|
<xs:complexType name="CoordinationRuleType">
|
|
|
<xs:attribute name="when" type="xs:string" use="required"/>
|
|
<xs:attribute name="when" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="then" type="xs:string" use="required"/>
|
|
<xs:attribute name="then" type="xs:string" use="required"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="priority" type="tns:PriorityEnum" default="normal"/>
|
|
|
|
|
+ <xs:attribute name="async" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<!-- Communication -->
|
|
<!-- Communication -->
|
|
@@ -231,6 +731,8 @@
|
|
|
<xs:sequence>
|
|
<xs:sequence>
|
|
|
<xs:element name="publishes" type="tns:PublishesType" minOccurs="0"/>
|
|
<xs:element name="publishes" type="tns:PublishesType" minOccurs="0"/>
|
|
|
<xs:element name="subscribes" type="tns:SubscribesType" minOccurs="0"/>
|
|
<xs:element name="subscribes" type="tns:SubscribesType" minOccurs="0"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 new communication patterns -->
|
|
|
|
|
+ <xs:element name="real-time" type="tns:RealTimeCommunicationType" minOccurs="0"/>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
@@ -249,19 +751,54 @@
|
|
|
<xs:complexType name="PublishedEventType">
|
|
<xs:complexType name="PublishedEventType">
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="data" type="xs:string"/>
|
|
<xs:attribute name="data" type="xs:string"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="async" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="broadcast" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="persistent" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="SubscribedEventType">
|
|
<xs:complexType name="SubscribedEventType">
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="source" type="xs:string" use="required"/>
|
|
<xs:attribute name="source" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="handler" type="xs:string" use="required"/>
|
|
<xs:attribute name="handler" type="xs:string" use="required"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="async" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="debounce" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="filter" type="xs:string"/>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- ENHANCEMENT: Real-Time Communication Type -->
|
|
|
|
|
+ <xs:complexType name="RealTimeCommunicationType">
|
|
|
|
|
+ <xs:sequence>
|
|
|
|
|
+ <xs:element name="connection" type="tns:RealTimeConnectionType" maxOccurs="unbounded"/>
|
|
|
|
|
+ </xs:sequence>
|
|
|
|
|
+ </xs:complexType>
|
|
|
|
|
+
|
|
|
|
|
+ <xs:complexType name="RealTimeConnectionType">
|
|
|
|
|
+ <xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <xs:attribute name="protocol" type="tns:RealTimeProtocolEnum" use="required"/>
|
|
|
|
|
+ <xs:attribute name="endpoint" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="auto-reconnect" type="xs:boolean" default="true"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
|
|
+ <xs:simpleType name="RealTimeProtocolEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="websocket"/>
|
|
|
|
|
+ <xs:enumeration value="signalr"/>
|
|
|
|
|
+ <xs:enumeration value="socketio"/>
|
|
|
|
|
+ <xs:enumeration value="grpc-stream"/>
|
|
|
|
|
+ <xs:enumeration value="sse"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
<!-- Workflow -->
|
|
<!-- Workflow -->
|
|
|
<xs:complexType name="WorkflowType">
|
|
<xs:complexType name="WorkflowType">
|
|
|
<xs:sequence>
|
|
<xs:sequence>
|
|
|
<xs:element name="step" type="tns:WorkflowStepType" maxOccurs="unbounded"/>
|
|
<xs:element name="step" type="tns:WorkflowStepType" maxOccurs="unbounded"/>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="type" type="tns:WorkflowTypeEnum" default="sequential"/>
|
|
|
|
|
+ <xs:attribute name="persistent" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="WorkflowStepType">
|
|
<xs:complexType name="WorkflowStepType">
|
|
@@ -269,8 +806,21 @@
|
|
|
<xs:attribute name="window" type="xs:string" use="required"/>
|
|
<xs:attribute name="window" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="next" type="xs:string"/>
|
|
<xs:attribute name="next" type="xs:string"/>
|
|
|
<xs:attribute name="previous" type="xs:string"/>
|
|
<xs:attribute name="previous" type="xs:string"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="condition" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="timeout" type="xs:int"/>
|
|
|
|
|
+ <xs:attribute name="skippable" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
|
|
+ <xs:simpleType name="WorkflowTypeEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="sequential"/>
|
|
|
|
|
+ <xs:enumeration value="parallel"/>
|
|
|
|
|
+ <xs:enumeration value="conditional"/>
|
|
|
|
|
+ <xs:enumeration value="state-machine"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
<!-- Module Views -->
|
|
<!-- Module Views -->
|
|
|
<xs:complexType name="ModuleViewsType">
|
|
<xs:complexType name="ModuleViewsType">
|
|
|
<xs:sequence>
|
|
<xs:sequence>
|
|
@@ -280,6 +830,9 @@
|
|
|
|
|
|
|
|
<xs:complexType name="SimpleViewRefType">
|
|
<xs:complexType name="SimpleViewRefType">
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="load-priority" type="tns:PriorityEnum" default="normal"/>
|
|
|
|
|
+ <xs:attribute name="optional" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<!-- Module Dependencies -->
|
|
<!-- Module Dependencies -->
|
|
@@ -291,6 +844,10 @@
|
|
|
|
|
|
|
|
<xs:complexType name="ModuleRefType">
|
|
<xs:complexType name="ModuleRefType">
|
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="version" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="optional" type="xs:boolean" default="false"/>
|
|
|
|
|
+ <xs:attribute name="lazy-load" type="xs:boolean" default="false"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<!-- Main Navigation -->
|
|
<!-- Main Navigation -->
|
|
@@ -298,12 +855,31 @@
|
|
|
<xs:sequence>
|
|
<xs:sequence>
|
|
|
<xs:element name="nav-item" type="tns:NavItemType" maxOccurs="unbounded"/>
|
|
<xs:element name="nav-item" type="tns:NavItemType" maxOccurs="unbounded"/>
|
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="style" type="tns:NavigationStyleEnum" default="hierarchical"/>
|
|
|
|
|
+ <xs:attribute name="responsive" type="xs:boolean" default="true"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
<xs:complexType name="NavItemType">
|
|
<xs:complexType name="NavItemType">
|
|
|
<xs:attribute name="text" type="xs:string" use="required"/>
|
|
<xs:attribute name="text" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="view" type="xs:string" use="required"/>
|
|
<xs:attribute name="view" type="xs:string" use="required"/>
|
|
|
<xs:attribute name="action" type="xs:string" use="required"/>
|
|
<xs:attribute name="action" type="xs:string" use="required"/>
|
|
|
|
|
+ <!-- ENHANCEMENT: v1.3 additions -->
|
|
|
|
|
+ <xs:attribute name="icon" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="badge" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="permission" type="xs:string"/>
|
|
|
|
|
+ <xs:attribute name="order" type="xs:int" default="0"/>
|
|
|
</xs:complexType>
|
|
</xs:complexType>
|
|
|
|
|
|
|
|
|
|
+ <xs:simpleType name="NavigationStyleEnum">
|
|
|
|
|
+ <xs:restriction base="xs:string">
|
|
|
|
|
+ <xs:enumeration value="hierarchical"/>
|
|
|
|
|
+ <xs:enumeration value="flat"/>
|
|
|
|
|
+ <xs:enumeration value="breadcrumb"/>
|
|
|
|
|
+ <xs:enumeration value="tab"/>
|
|
|
|
|
+ <xs:enumeration value="sidebar"/>
|
|
|
|
|
+ <xs:enumeration value="drawer"/>
|
|
|
|
|
+ </xs:restriction>
|
|
|
|
|
+ </xs:simpleType>
|
|
|
|
|
+
|
|
|
</xs:schema>
|
|
</xs:schema>
|