Pārlūkot izejas kodu

extends to v.1.3

Dalibor Votruba 11 mēneši atpakaļ
vecāks
revīzija
00fbb054fe

+ 293 - 362
UILayoutDefinitionFormat/readme.md

@@ -1,28 +1,27 @@
 # UI Layout Definition Format
 
-**Version:** 1.2  
-**Documentation Version:** 1.2  
+**Version:** 1.3  
+**Documentation Version:** 1.3  
 **Author:** Dalibor Votruba  
 **URL:** [quadarax.com/ui-layout-def](https://quadarax.com/ui-layout-def)
 
-A comprehensive XML-based format for describing user interface layouts with inheritance, pattern definitions, view organization, external includes, platform-specific extensions, data binding, and accessibility support. This format enables cross-platform UI generation with strict validation and modular component libraries.
+A comprehensive XML-based format for describing user interface layouts with inheritance, pattern definitions, view organization, external includes, platform-specific extensions, and advanced validation. This format enables cross-platform UI generation with strict validation, modular component libraries, and modern development practices.
 
 ## Table of Contents
 
 - [Overview](#overview)
-- [What's New in v1.2](#whats-new-in-v12)
+- [What's New in v1.3](#whats-new-in-v13)
 - [Core Concepts](#core-concepts)
 - [Document Structure](#document-structure)
 - [View Definitions](#view-definitions)
 - [Pattern Definitions](#pattern-definitions)
-- [Data Binding Support](#data-binding-support)
-- [Accessibility Features](#accessibility-features)
 - [Wireframe Inheritance](#wireframe-inheritance)
 - [Window Definitions](#window-definitions)
 - [External Includes](#external-includes)
 - [Window Includes](#window-includes)
 - [Validation System](#validation-system)
 - [Platform Support](#platform-support)
+- [Advanced Features](#advanced-features)
 - [Examples](#examples)
 - [Best Practices](#best-practices)
 - [Migration Guide](#migration-guide)
@@ -35,71 +34,83 @@ The UI Layout Definition Format provides a standardized way to define user inter
 - **Separation of Concerns**: Pattern definitions separate from usage
 - **Inheritance**: Base wireframes and views with specific overrides
 - **External Includes**: Modular design with external pattern, view, validation, and window files
-- **Data Binding**: MVVM-style data binding with validation and converters
-- **Accessibility**: WCAG compliance and screen reader support
-- **Validation**: Strict constraints ensure consistent, valid UIs
-- **Cross-Platform**: Platform-specific control libraries
-- **Enterprise Ready**: Comprehensive business view patterns
+- **Advanced Validation**: Comprehensive rule system with custom validators and profiles
+- **Cross-Platform**: Platform-specific control libraries with unified abstractions
+- **Modern Features**: State management, accessibility, performance optimization, testing support
 
-## What's New in v1.2
+## What's New in v1.3
 
 ### Major Enhancements
 
-1. **Enhanced Data Binding Support**
-   - MVVM-style property binding with two-way support
-   - Validation rules and converters
-   - Command binding for actions
-   - Context-aware data binding
-
-2. **Comprehensive Accessibility Features**
-   - WCAG A/AA/AAA compliance levels
-   - Screen reader support with ARIA attributes
-   - Keyboard navigation patterns
-   - High contrast and visual accessibility
-
-3. **Window Includes Support**
-   - Separate window definitions into external files
-   - Improved organization for large applications
-   - Better team collaboration capabilities
-
-4. **Enhanced Schema Validation**
-   - More comprehensive XSD schema with proper namespaces
-   - Better error reporting and validation
-   - Support for all platform-specific controls
-
-5. **Expanded Platform Support**
-   - Full Avalonia UI control library with modern controls
-   - Enhanced WinForms control definitions
-   - Web and mobile control patterns
-   - KDE/Qt control support
-
-6. **Advanced Business View Features**
-   - Entity-relationship modeling in views
-   - Enhanced communication patterns
-   - Workflow support for process-driven views
-   - Module view organization
-   - Dependency injection patterns
-
-7. **Enhanced Control Library**
-   - Abstract control definitions with inheritance
-   - Platform-specific specializations
-   - Data binding and accessibility at control level
-   - Comprehensive attribute validation
-
-### Breaking Changes from v1.1
-
-- Enhanced schema validation may require updates to existing documents
-- Some control attributes have been refined for better platform compatibility
-- Window include structure requires specific file organization
-- Data binding syntax has been formalized
+1. **Advanced State Management**
+   - Redux and MobX pattern support
+   - Hierarchical and concurrent state machines
+   - Persistence strategies (session, local, remote, distributed)
+   - State transitions with conditions and actions
+
+2. **Comprehensive Accessibility Framework**
+   - WCAG 2.1 AA/AAA compliance tracking
+   - Section 508 and ADA support
+   - Screen reader optimization
+   - Voice control and eye-tracking integration
+   - High contrast and magnification support
+
+3. **Performance Optimization System**
+   - Performance metrics and targets
+   - Lazy loading and virtualization
+   - Memory and CPU monitoring
+   - Auto-optimization suggestions
+   - Frame rate optimization
+
+4. **Security and Data Protection**
+   - GDPR compliance features
+   - Vulnerability protection patterns
+   - Data encryption and anonymization
+   - Permission-based access control
+   - Security audit trails
+
+5. **Enhanced Testing Framework**
+   - Automated test generation
+   - Multiple testing strategies (unit, integration, UI, e2e)
+   - Accessibility testing automation
+   - Performance testing integration
+   - Cross-browser compatibility testing
+
+6. **Advanced Localization**
+   - RTL (Right-to-Left) language support
+   - Cultural adaptation features
+   - Resource bundle management
+   - Dynamic language switching
+   - Localization quality tracking
+
+7. **Modern UI Controls**
+   - Advanced Avalonia 11.0+ controls
+   - Enhanced WinForms .NET 6+ support
+   - Touch and gesture support
+   - Animation and transition systems
+   - Responsive design patterns
+
+8. **Validation System 2.0**
+   - Custom validator framework
+   - Validation profiles and inheritance
+   - Auto-fix suggestions
+   - Performance-optimized validation
+   - Integration testing for rules
+
+### Breaking Changes from v1.2
+
+- Enhanced schema validation requires updates to custom validators
+- Some deprecated attributes removed (see migration guide)
+- New required accessibility attributes for certain control types
+- Updated namespace declarations for external schemas
 
 ## Core Concepts
 
 ### 1. View-First Design
-Views represent logical business functions (ProductView, OrderView) that group related windows and define shared data context and behaviors.
+Views represent logical business functions (ProductView, OrderView) that group related windows and define shared data context, state management, and behaviors.
 
 ### 2. Patterns-First Design
-All controls and structures must be defined in the `<patterns>` section before use in windows.
+All controls and structures must be defined in the `<patterns>` section before use in windows, with comprehensive validation and platform-specific extensions.
 
 ### 3. External Includes
 Modular design allows splitting definitions across multiple files:
@@ -108,371 +119,291 @@ Modular design allows splitting definitions across multiple files:
 - Validation includes for rule sets
 - Window includes for UI definitions
 
-### 4. Data Binding Architecture
-- Property binding with validation
-- Command binding for user actions
-- Converter support for data transformation
-- Context-aware binding scopes
+### 4. Advanced State Management
+Support for modern state management patterns including Redux, MobX, and state machines with persistence and synchronization.
 
 ### 5. Accessibility-First Design
-- Built-in WCAG compliance support
-- Screen reader optimization
-- Keyboard navigation patterns
-- Visual accessibility features
+Built-in support for WCAG compliance, screen readers, voice control, and adaptive technologies.
 
-### 6. Inheritance Hierarchy
-- Views can inherit from other views
-- Controls can inherit from other controls
-- Windows can inherit from wireframe layouts
-- Attributes can be overridden at any level
+### 6. Performance Optimization
+Integrated performance monitoring, lazy loading, virtualization, and optimization suggestions.
 
-### 7. Slot-Based Composition
-Wireframes use slots as placeholders that windows can fill with specific content.
-
-### 8. Constraint Validation
-Comprehensive validation rules ensure UI consistency and platform compliance.
+### 7. Security by Design
+Comprehensive security framework with vulnerability protection, data encryption, and audit trails.
 
 ## Document Structure
 
 ```xml
 <?xml version="1.0" encoding="UTF-8"?>
 <ui-layout-def xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-               xmlns="ui-layout-definition"
                xsi:schemaLocation="ui-layout-definition ui-layout-def.xsd"
-               version="1.2"
-               schema-version="1.2"
-               target-platform="basic|winforms|avalonia|kde|web|mobile"
-               accessibility-compliance="none|basic|wcag-a|wcag-aa|wcag-aaa">
+               version="1.3"
+               schema-version="1.3"
+               target-platform="avalonia"
+               accessibility-compliance="wcag-aa">
   
-  <!-- Optional: Validation rules with external includes -->
+  <!-- Enhanced validation rules with custom validators -->
   <validation-rules>
-    <validation-include src="..." important="true/false" min-version="1.0" max-version="2.0" />
-    <rule name="...">...</rule>
+    <validation-include src="wcag-validation.xml" important="true" />
+    <validation-include src="performance-rules.xml" important="true" />
+    <validation-include src="security-rules.xml" important="true" />
+    <custom-validator name="BusinessRuleValidator">...</custom-validator>
+    <validation-profile name="ProductionProfile">...</validation-profile>
   </validation-rules>
   
-  <!-- Required: Pattern definitions with external includes -->
+  <!-- Enhanced pattern definitions -->
   <patterns>
-    <pattern-include src="..." important="true/false" platform="basic|winforms|avalonia" min-version="1.0" max-version="2.0" />
-    <control name="..." type="..." category="..." inherits="...">...</control>
-    <structure name="..." type="..." category="..." inherits="...">...</structure>
-    <wireframe name="..." type="...">...</wireframe>
+    <pattern-include src="avalonia-controls.xml" important="true" platform="avalonia" />
+    <pattern-include src="accessibility-controls.xml" important="true" />
+    <pattern-include src="performance-controls.xml" important="false" />
   </patterns>
   
-  <!-- View definitions with external includes -->
+  <!-- Advanced view definitions -->
   <views>
-    <view-include src="..." important="true/false" min-version="1.0" max-version="2.0" />
-    <view name="..." type="..." category="..." inherits="...">...</view>
+    <view-include src="business-views.xml" important="true" />
+    <view name="EnhancedView" type="ai-assisted" category="ai-enhanced">
+      <state-management pattern="redux" persistence="distributed" />
+      <accessibility level="aaa" tested="true" />
+      <performance target-load-time="1000" memory-limit="100MB" />
+      <security level="high" audit-required="true" />
+      <localization default-culture="en-US" rtl-support="true" />
+      <testing coverage-target="95" strategy="e2e" />
+    </view>
   </views>
   
-  <!-- Window includes -->
+  <!-- Window includes with conditional loading -->
   <window-includes>
-    <window-include src="..." important="true/false" platform="..." min-version="1.0" max-version="2.0" />
+    <window-include src="main-windows.xml" important="true" />
+    <window-include src="accessibility-windows.xml" important="false" />
   </window-includes>
   
-  <!-- Window definitions (can be in external files) -->
-  <window name="..." title="..." wireframe="..." view="..." target-platform="..." schema-version="1.2">
-    <!-- Data binding configuration -->
+  <!-- Enhanced window definitions -->
+  <window name="ModernWindow" title="Enhanced Application" 
+          target-platform="avalonia" schema-version="1.3">
     <data-binding>
-      <data-context source="..." type="..." mode="TwoWay" />
-      <view-model class="..." assembly="..." namespace="..." />
-      <binding-properties>
-        <property control="..." property="..." binding-path="..." mode="..." validation-rule="..." converter="..." />
-      </binding-properties>
+      <data-context source="ModernViewModel" mode="TwoWay" />
     </data-binding>
-    
-    <!-- Accessibility configuration -->
     <accessibility compliance-level="wcag-aa">
-      <screen-reader window-title="..." description="..." landmark-role="..." />
-      <keyboard-navigation tab-order-start="1" focus-trap="false" escape-closes="true" />
-      <color-contrast high-contrast-support="true" minimum-ratio="4.5" />
+      <screen-reader window-title="Modern Application" />
+      <keyboard-navigation focus-trap="true" />
     </accessibility>
-    
-    <!-- Window content -->
-    <slot-overrides>
-      <!-- Slot content with enhanced controls -->
-    </slot-overrides>
+    <!-- Window content with modern controls -->
   </window>
   
 </ui-layout-def>
 ```
 
-## Data Binding Support
-
-### Enhanced Control Attributes
-All controls now support comprehensive data binding:
+## Advanced Features
 
-```xml
-<control name="EnhancedTextBox" type="input" category="basic" inherits="TextBox">
-  <attributes>
-    <!-- Data Binding Support -->
-    <attribute name="data-context" type="string" default="" />
-    <attribute name="binding-path" type="string" default="" />
-    <attribute name="command-binding" type="string" default="" />
-    <attribute name="validation-rule" type="string" default="" />
-    <attribute name="converter" type="string" default="" />
-    <attribute name="binding-mode" type="enum" values="OneWay,TwoWay,OneTime,OneWayToSource" default="TwoWay" />
-    
-    <!-- Enhanced input features -->
-    <attribute name="input-type" type="enum" values="text,email,url,tel,number,search" default="text" />
-    <attribute name="auto-complete" type="enum" values="off,on,name,email,username" default="off" />
-    <attribute name="validation-pattern" type="string" default="" />
-    <attribute name="required" type="bool" default="false" />
-  </attributes>
-  <behavior>
-    <event name="validation-error" />
-    <event name="validation-success" />
-  </behavior>
-</control>
-```
+### State Management
 
-### Window-Level Data Binding
 ```xml
-<window name="ProductEditDialog" title="Edit Product">
-  <data-binding>
-    <data-context source="ProductEditViewModel" type="ViewModels.ProductEditViewModel" mode="TwoWay" />
-    <view-model class="ProductEditViewModel" assembly="MyApp.ViewModels" namespace="MyApp.ViewModels" />
-    <binding-properties>
-      <property control="nameTextBox" property="text" binding-path="Product.Name" mode="TwoWay" validation-rule="RequiredValidator" />
-      <property control="priceTextBox" property="text" binding-path="Product.Price" mode="TwoWay" converter="CurrencyConverter" />
-      <property control="saveButton" property="enabled" binding-path="CanSave" mode="OneWay" />
-    </binding-properties>
-  </data-binding>
-</window>
+<view name="ReactiveView" type="real-time" category="analytics">
+  <state-management pattern="redux" persistence="distributed">
+    <state name="loading" initial="true" data-snapshot="LoadingState" />
+    <state name="loaded" final="false" data-snapshot="LoadedState" />
+    <transition from="loading" to="loaded" trigger="data-received" 
+                condition="data.isValid" action="processData" />
+  </state-management>
+</view>
 ```
 
-## Accessibility Features
+### Accessibility Framework
 
-### Control-Level Accessibility
 ```xml
-<control name="AccessibleButton" type="action" category="basic" inherits="Button">
-  <attributes>
-    <!-- Accessibility Support -->
-    <attribute name="aria-label" type="string" default="" />
-    <attribute name="aria-description" type="string" default="" />
-    <attribute name="aria-role" type="string" default="" />
-    <attribute name="tab-index" type="int" default="0" />
-    <attribute name="access-key" type="string" default="" />
-    <attribute name="high-contrast-support" type="bool" default="true" />
-    <attribute name="screen-reader-text" type="string" default="" />
-  </attributes>
-</control>
+<accessibility compliance-level="wcag-aa">
+  <compliance standard="wcag" level="aa" verified="true" />
+  <feature name="screen-reader" type="screen-reader" required="true" />
+  <feature name="voice-control" type="voice-control" required="false" />
+  <feature name="high-contrast" type="high-contrast" required="true" />
+</accessibility>
 ```
 
-### Window-Level Accessibility
+### Performance Optimization
+
 ```xml
-<window name="MainWindow" title="Application">
-  <accessibility compliance-level="wcag-aa">
-    <screen-reader window-title="Main Application Window" 
-                   description="Primary interface for data management"
-                   landmark-role="main" />
-    <keyboard-navigation tab-order-start="1" focus-trap="false" escape-closes="false" />
-    <color-contrast high-contrast-support="true" minimum-ratio="4.5" />
-  </accessibility>
-</window>
+<performance target-load-time="1000" memory-limit="100MB">
+  <metric name="first-contentful-paint" type="load-time" target="800ms" critical="true" />
+  <optimization technique="lazy-loading" impact="high" />
+  <optimization technique="virtualization" impact="medium" />
+</performance>
 ```
 
-## Platform Support
-
-### Enhanced Platform Integration
+### Security Framework
 
-**Windows Forms**
-- Complete DataGridView, ToolStrip, and dialog support
-- Generate view classes with proper MVVM binding
-- Create dependency injection containers
-- Generate navigation services
-
-**Avalonia UI**
-- Full modern control set including Grid, StackPanel, DataGrid
-- Cross-platform compatibility
-- Modern UI patterns and styling
-- MVVM architecture support with command binding
-
-**Qt / KDE**
-- Qt widget system integration
-- KDE desktop integration patterns
-- Cross-platform Qt navigation
-
-**Web / HTML**
-- Generate MVC views or React components
-- Support for SPA routing
-- Progressive web app patterns
-- Responsive design support
-
-### Platform-Specific Control Libraries
-
-The format includes comprehensive control libraries for each platform:
-
-- **abstract-controls.xml** - Base control definitions with enhanced features
-- **winform-controls.xml** - Complete WinForms control set
-- **avalonia-controls.xml** - Modern Avalonia UI controls
-- **web-controls.xml** - Web-specific controls
-- **kde-controls.xml** - KDE/Qt controls
-
-## Enhanced Business Views
-
-### Entity Relationship Patterns
 ```xml
-<view name="OrderView" type="business-entity" category="core">
-  <dependencies>
-    <view-ref name="OrderItemView" relationship="detail" required="true">
-      <interaction type="manage-items" context="current-order" />
-    </view-ref>
-    <view-ref name="CustomerView" relationship="reference" required="false">
-      <interaction type="view-customer" context="customer-id" />
-    </view-ref>
-    <view-ref name="ProductView" relationship="lookup" required="false">
-      <interaction type="select-product" returns="product-id" />
-    </view-ref>
-  </dependencies>
-  
-  <communication>
-    <publishes>
-      <event name="order-created" data="order-id" />
-      <event name="order-processed" data="order-id" />
-    </publishes>
-    <subscribes>
-      <event name="customer-changed" source="CustomerView" handler="update-customer-info" />
-      <event name="inventory-updated" source="ProductView" handler="check-availability" />
-    </subscribes>
-  </communication>
-</view>
+<security level="high" audit-required="true">
+  <permission name="data-read" type="read" required="true" scope="view" />
+  <permission name="data-write" type="write" required="false" scope="data" />
+  <vulnerability-protection type="xss" protection="input-sanitization" severity="high" />
+  <data-protection encryption="true" gdpr-compliant="true" />
+</security>
 ```
 
-## Advanced Features
-
-### Comprehensive Control Definitions
-The format now includes advanced controls with rich attribute sets:
+### Testing Integration
 
-- **ProgressBar** with indeterminate mode and styling
-- **DatePicker** with calendar integration
-- **NumericUpDown** with validation and formatting
-- **Slider** with tick marks and value display
-- **Enhanced DataGridView** with sorting, filtering, and virtualization
-
-### Enhanced Validation System
 ```xml
-<validation-rules>
-  <!-- Data binding validation -->
-  <rule name="data-binding-validation">
-    <description>Data binding must be valid and type-safe</description>
-    <constraint>Binding paths must reference valid properties</constraint>
-    <constraint>Binding modes must be appropriate for property types</constraint>
-  </rule>
-  
-  <!-- Accessibility validation -->
-  <rule name="accessibility-compliance">
-    <description>Controls must meet accessibility requirements</description>
-    <constraint>Interactive controls must have aria-label or accessible text</constraint>
-    <constraint>Color contrast must meet minimum ratios</constraint>
-  </rule>
-</validation-rules>
+<testing coverage-target="95" strategy="e2e">
+  <test-scenario name="user-login" type="functional" priority="high" automated="true">
+    <step action="enter-username" expected="username-field-filled" />
+    <step action="enter-password" expected="password-field-filled" />
+    <step action="click-login" expected="dashboard-displayed" />
+  </test-scenario>
+  <automation framework="playwright" selector-strategy="accessibility" />
+</testing>
 ```
 
-## File Organization
+### Localization Support
 
-### Recommended Project Structure
-```
-project/
-├── main.xml                        # Main document with includes
-├── patterns/
-│   ├── abstract-controls.xml       # Enhanced base control definitions
-│   ├── winform-controls.xml        # Complete WinForms controls
-│   ├── avalonia-controls.xml       # Modern Avalonia controls
-│   ├── web-controls.xml            # Web-specific controls
-│   └── kde-controls.xml            # KDE/Qt controls
-├── views/
-│   ├── business-views.xml          # Business entity view patterns
-│   └── admin-views.xml             # Administrative views
-├── windows/
-│   ├── main-windows.xml            # Primary application windows
-│   ├── dialog-windows.xml          # Modal dialogs and popups
-│   └── admin-windows.xml           # Administrative interfaces
-├── validation/
-│   ├── base-validation.xml         # Core validation rules
-│   ├── view-validation.xml         # View-specific rules
-│   └── accessibility-rules.xml     # Accessibility compliance
-└── samples/
-    ├── sample.xml                  # Comprehensive example
-    ├── sample-minimal.xml          # Minimal example
-    └── platform-config-sample.xml # Platform-specific example
+```xml
+<localization default-culture="en-US" rtl-support="true">
+  <supported-culture code="ar-SA" name="Arabic (Saudi Arabia)" completion="85" />
+  <supported-culture code="he-IL" name="Hebrew (Israel)" completion="90" />
+  <resource-bundle name="MainResources" path="Resources/Main" type="resx" />
+</localization>
 ```
 
-## Schema Files
-
-The format includes comprehensive XSD schema files:
-
-- **ui-layout-def.xsd** - Main schema with imports
-- **ui-layout-basic-controls.xsd** - Basic control definitions
-- **ui-layout-winforms-controls.xsd** - WinForms-specific controls  
-- **ui-layout-avalonia-controls.xsd** - Avalonia-specific controls
-- **ui-layout-patterns.xsd** - Pattern definition schema
-- **ui-layout-views.xsd** - View definition schema
-- **ui-layout-validation.xsd** - Validation rule schema
-
-## Best Practices
-
-### 1. Data Binding Strategy
-- Use two-way binding for user input controls
-- Implement validation rules for data integrity
-- Use converters for data transformation
-- Bind commands to user actions
-
-### 2. Accessibility Design
-- Always provide aria-label for interactive controls
-- Ensure proper tab order and keyboard navigation
-- Test with screen readers
-- Maintain appropriate color contrast
-
-### 3. View Organization
-- **Single Responsibility**: Each view should handle one business concept
-- **Dependency Injection**: Use view dependencies rather than tight coupling
-- **Data Context**: Define clear data scopes (view, shared, global)
-- **Communication**: Use events for loose coupling between views
-
-### 4. Platform Compatibility
-- Define abstract controls for common functionality
-- Use platform-specific includes for specialized features
-- Test on all target platforms
-- Maintain compatibility matrices
-
-### 5. Include Management
-- Mark critical includes as `important="true"`
-- Use version constraints for compatibility
-- Document include dependencies
-- Test with missing optional includes
-
-## Examples
+## Platform Support
 
-See the included sample files for comprehensive examples:
+### Enhanced Platform Integration
 
-- **sample.xml** - Full-featured application with advanced patterns
-- **platform-config-sample.xml** - Platform-specific configuration with data binding
-- **sample-minimal.xml** - Minimal working example
-- **business-views.xml** - Business entity view patterns
-- **abstract-controls.xml** - Enhanced control definitions
+**Avalonia UI 11.0+**
+- Full Avalonia 11 control set with modern features
+- Advanced theming and styling support
+- Cross-platform graphics and animations
+- Touch and gesture recognition
+- Performance optimizations and virtualization
+
+**Windows Forms .NET 6+**
+- Modern .NET 6+ WinForms support
+- High DPI awareness and scaling
+- Accessibility improvements
+- Enhanced data binding
+- WebView2 integration
+
+**Web Technologies**
+- Progressive Web App (PWA) support
+- Modern CSS Grid and Flexbox layouts
+- Web Components architecture
+- Accessibility standards compliance
+- Performance optimization techniques
+
+**Mobile Platforms**
+- Responsive design patterns
+- Touch-first interactions
+- Platform-specific optimizations
+- Native control integration
+- Performance monitoring
 
 ## Migration Guide
 
-### From Version 1.1 to 1.2
+### From Version 1.2 to 1.3
 
-#### Backward Compatibility
-Version 1.2 maintains full backward compatibility with 1.1 documents. Existing documents will work without modification.
+#### Automatic Migration Support
+Version 1.3 includes an automatic migration tool that can upgrade most 1.2 documents:
 
-#### New Features Available
-1. **Enhanced Data Binding**: Add MVVM-style binding to existing controls
-2. **Accessibility Support**: Add WCAG compliance to existing windows
-3. **Window Includes**: Organize windows in separate files
-4. **Enhanced Schema**: Better validation and error reporting
-5. **Extended Platform Support**: More control libraries available
+```bash
+ui-layout-migrate --from 1.2 --to 1.3 --input myapp.xml --output myapp-v13.xml
+```
 
-#### Migration Steps
-1. **Update Schema Reference**: Change version to "1.2" and add schema-version="1.2"
-2. **Optional: Add Data Binding**: Enhance controls with binding attributes
-3. **Optional: Add Accessibility**: Include accessibility configuration
-4. **Optional: Reorganize Windows**: Move windows to separate files
-5. **Optional: Add Platform Controls**: Include platform-specific patterns
-6. **Update Validation**: Add new validation rule includes
+#### Required Changes
+
+1. **Update Schema References**
+   ```xml
+   <!-- Old -->
+   <ui-layout-def version="1.2">
+   
+   <!-- New -->
+   <ui-layout-def version="1.3" schema-version="1.3">
+   ```
+
+2. **Add Accessibility Compliance**
+   ```xml
+   <ui-layout-def accessibility-compliance="wcag-aa">
+   ```
+
+3. **Update Control Declarations**
+   - Add `schema-version="1.3"` to custom controls
+   - Update deprecated attribute names
+   - Add accessibility attributes where required
+
+4. **Enhanced Validation Rules**
+   - Custom validators need implementation updates
+   - New validation profiles should be configured
+   - Performance and security rules are now included
+
+#### Optional Enhancements
+
+1. **Add State Management**
+   ```xml
+   <state-management pattern="redux" persistence="session">
+   ```
+
+2. **Enable Performance Monitoring**
+   ```xml
+   <performance target-load-time="2000" memory-limit="200MB">
+   ```
+
+3. **Configure Testing**
+   ```xml
+   <testing coverage-target="80" strategy="integration">
+   ```
+
+4. **Add Localization Support**
+   ```xml
+   <localization default-culture="en-US">
+   ```
+
+#### Compatibility Matrix
+
+| Feature | v1.2 | v1.3 | Migration Required |
+|---------|------|------|-------------------|
+| Basic Controls | ✓ | ✓ | No |
+| Window Includes | ✓ | ✓ | No |
+| View Definitions | ✓ | ✓ | Optional |
+| State Management | ✗ | ✓ | New Feature |
+| Accessibility | Basic | Enhanced | Recommended |
+| Performance | ✗ | ✓ | New Feature |
+| Security | Basic | Enhanced | Recommended |
+| Testing | ✗ | ✓ | New Feature |
+| Localization | Basic | Enhanced | Optional |
+
+### Breaking Changes
+
+1. **Removed Deprecated Attributes**
+   - `legacy-mode` attribute removed
+   - `compatibility-level` replaced with `schema-version`
+
+2. **Enhanced Validation Requirements**
+   - Accessibility attributes now required for interactive controls
+   - Performance targets recommended for data-heavy views
+
+3. **Updated Namespace Requirements**
+   - New namespace imports required for advanced features
+   - External schema references updated
+
+### Best Practices for Migration
+
+1. **Incremental Migration**
+   - Migrate core functionality first
+   - Add advanced features incrementally
+   - Test each migration step thoroughly
+
+2. **Validation First**
+   - Run validation before and after migration
+   - Address all validation errors before proceeding
+   - Use validation profiles for consistent results
+
+3. **Testing Integration**
+   - Add basic test scenarios during migration
+   - Implement accessibility testing early
+   - Use automated migration testing tools
+
+4. **Performance Optimization**
+   - Profile application performance before migration
+   - Set realistic performance targets
+   - Monitor improvements after migration
 
 ---
 
-*This format specification enables consistent, validated, cross-platform UI definitions with powerful view organization, data binding, accessibility support, external includes, inheritance, and modular design capabilities. The comprehensive control libraries and business view patterns make it suitable for enterprise application development.*
+*This format specification v1.3 enables modern, accessible, performant, and secure cross-platform UI definitions with advanced development practices, comprehensive validation, and state-of-the-art tooling support.*

+ 513 - 3
UILayoutDefinitionFormat/ui-layout-avalonia-controls.xsd

@@ -4,7 +4,7 @@
            xmlns:tns="ui-layout-avalonia-controls"
            xmlns:basic="ui-layout-basic-controls"
            elementFormDefault="qualified"
-           version="1.2">
+           version="1.3">
 
   <!-- Import basic controls -->
   <xs:import namespace="ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
@@ -12,9 +12,25 @@
   <!-- Avalonia Control Instance Type -->
   <xs:complexType name="AvaloniaControlInstanceType" mixed="true">
     <xs:group ref="tns:AvaloniaControlContentGroup" minOccurs="0" maxOccurs="unbounded"/>
+    <!-- ENHANCEMENT: v1.3 Avalonia-specific attributes -->
+    <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
+    <xs:attribute name="avalonia-version" type="xs:string" default="11.0"/>
+    <xs:attribute name="theme-variant" type="tns:ThemeVariantEnum" default="default"/>
+    <xs:attribute name="design-mode" type="xs:boolean" default="false"/>
     <xs:anyAttribute processContents="lax"/>
   </xs:complexType>
 
+  <!-- ENHANCEMENT: Theme Variant Enumeration -->
+  <xs:simpleType name="ThemeVariantEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="default"/>
+      <xs:enumeration value="light"/>
+      <xs:enumeration value="dark"/>
+      <xs:enumeration value="high-contrast"/>
+      <xs:enumeration value="custom"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- Avalonia Control Content Group -->
   <xs:group name="AvaloniaControlContentGroup">
     <xs:choice>
@@ -24,36 +40,48 @@
       <!-- Avalonia-Specific Controls -->
       <xs:element name="AvaloniaButton" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="RepeatButton" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="ToggleButton" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="SplitButton" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="StackPanel" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="Grid" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="DockPanel" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="WrapPanel" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="Canvas" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="UniformGrid" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="RelativePanel" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="AvaloniaTextBox" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="NumericUpDown" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="AutoCompleteBox" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="AvaloniaComboBox" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="CalendarDatePicker" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="TimePicker" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="DatePickerPresenter" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="Slider" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="RangeSlider" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="AvaloniaLabel" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="TextBlock" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="SelectableTextBlock" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="ProgressBar" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="AvaloniaListView" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="DataGrid" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="AvaloniaTreeView" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="TreeDataGrid" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="Border" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="ScrollViewer" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="Expander" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="TabControl" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="SplitView" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="MenuBar" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="NativeMenuBar" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="ContextMenu" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="ToolTip" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="FlyoutBase" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Flyout" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="MenuFlyout" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="Window" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="UserControl" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="ContentControl" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="HeaderedContentControl" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="MediaElement" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="MaskedTextBox" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="ColorPicker" type="tns:AvaloniaControlInstanceType"/>
@@ -61,6 +89,31 @@
       <xs:element name="Viewbox" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="NotificationCard" type="tns:AvaloniaControlInstanceType"/>
       
+      <!-- ENHANCEMENT: v1.3 new Avalonia controls -->
+      <xs:element name="InfoBar" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="TeachingTip" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="ToggleSwitch" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Rating" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="RefreshContainer" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="SwipeView" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="NavigationView" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Breadcrumb" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="PullToRefresh" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="ItemsRepeater" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="VirtualizingStackPanel" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Carousel" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="FlipView" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="SmoothScrollViewer" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Popup" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="OverlayPopupHost" type="tns:AvaloniaControlInstanceType"/>
+      
+      <!-- Avalonia Graphics and Drawing -->
+      <xs:element name="Canvas" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Shapes" type="tns:ShapesType"/>
+      <xs:element name="Geometry" type="tns:GeometryType"/>
+      <xs:element name="Transform" type="tns:TransformType"/>
+      <xs:element name="Animation" type="tns:AnimationType"/>
+      
       <!-- Avalonia Structure Elements -->
       <xs:element name="AvaloniaFormField" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="AvaloniaButtonBar" type="tns:AvaloniaControlInstanceType"/>
@@ -74,6 +127,8 @@
       <xs:element name="TabItem" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="MenuItem" type="tns:AvaloniaControlInstanceType"/>
       <xs:element name="NativeMenuItem" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="NavigationViewItem" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="BreadcrumbItem" type="tns:AvaloniaControlInstanceType"/>
       
       <!-- Avalonia Data Grid Columns -->
       <xs:element name="DataGridColumn" type="tns:AvaloniaControlInstanceType"/>
@@ -87,15 +142,295 @@
       <xs:element name="tabs" type="tns:TabsType"/>
       <xs:element name="pane" type="tns:PaneType"/>
       <xs:element name="content" type="tns:ContentType"/>
+      <xs:element name="resources" type="tns:ResourcesType"/>
+      <xs:element name="styles" type="tns:StylesType"/>
+      <xs:element name="triggers" type="tns:TriggersType"/>
+      
+      <!-- ENHANCEMENT: v1.3 new supporting elements -->
+      <xs:element name="gestures" type="tns:GesturesType"/>
+      <xs:element name="interactions" type="tns:InteractionsType"/>
+      <xs:element name="behaviors" type="tns:BehaviorsType"/>
     </xs:choice>
   </xs:group>
 
+  <!-- ENHANCEMENT: Shapes Type -->
+  <xs:complexType name="ShapesType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="Rectangle" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Ellipse" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Line" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Polyline" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Polygon" type="tns:AvaloniaControlInstanceType"/>
+      <xs:element name="Path" type="tns:AvaloniaControlInstanceType"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <!-- ENHANCEMENT: Geometry Type -->
+  <xs:complexType name="GeometryType">
+    <xs:choice>
+      <xs:element name="RectangleGeometry" type="tns:RectangleGeometryType"/>
+      <xs:element name="EllipseGeometry" type="tns:EllipseGeometryType"/>
+      <xs:element name="LineGeometry" type="tns:LineGeometryType"/>
+      <xs:element name="PathGeometry" type="tns:PathGeometryType"/>
+      <xs:element name="CombinedGeometry" type="tns:CombinedGeometryType"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <xs:complexType name="RectangleGeometryType">
+    <xs:attribute name="rect" type="xs:string" use="required"/>
+    <xs:attribute name="radius-x" type="xs:double" default="0"/>
+    <xs:attribute name="radius-y" type="xs:double" default="0"/>
+  </xs:complexType>
+
+  <xs:complexType name="EllipseGeometryType">
+    <xs:attribute name="center" type="xs:string" use="required"/>
+    <xs:attribute name="radius-x" type="xs:double" use="required"/>
+    <xs:attribute name="radius-y" type="xs:double" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="LineGeometryType">
+    <xs:attribute name="start-point" type="xs:string" use="required"/>
+    <xs:attribute name="end-point" type="xs:string" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="PathGeometryType">
+    <xs:attribute name="data" type="xs:string" use="required"/>
+    <xs:attribute name="fill-rule" type="tns:FillRuleEnum" default="EvenOdd"/>
+  </xs:complexType>
+
+  <xs:complexType name="CombinedGeometryType">
+    <xs:attribute name="geometry1" type="xs:string" use="required"/>
+    <xs:attribute name="geometry2" type="xs:string" use="required"/>
+    <xs:attribute name="combine-mode" type="tns:CombineModeEnum" use="required"/>
+  </xs:complexType>
+
+  <xs:simpleType name="FillRuleEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="EvenOdd"/>
+      <xs:enumeration value="NonZero"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="CombineModeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Union"/>
+      <xs:enumeration value="Intersect"/>
+      <xs:enumeration value="Xor"/>
+      <xs:enumeration value="Exclude"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Transform Type -->
+  <xs:complexType name="TransformType">
+    <xs:choice>
+      <xs:element name="TranslateTransform" type="tns:TranslateTransformType"/>
+      <xs:element name="RotateTransform" type="tns:RotateTransformType"/>
+      <xs:element name="ScaleTransform" type="tns:ScaleTransformType"/>
+      <xs:element name="SkewTransform" type="tns:SkewTransformType"/>
+      <xs:element name="MatrixTransform" type="tns:MatrixTransformType"/>
+      <xs:element name="TransformGroup" type="tns:TransformGroupType"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <xs:complexType name="TranslateTransformType">
+    <xs:attribute name="x" type="xs:double" default="0"/>
+    <xs:attribute name="y" type="xs:double" default="0"/>
+  </xs:complexType>
+
+  <xs:complexType name="RotateTransformType">
+    <xs:attribute name="angle" type="xs:double" use="required"/>
+    <xs:attribute name="center-x" type="xs:double" default="0"/>
+    <xs:attribute name="center-y" type="xs:double" default="0"/>
+  </xs:complexType>
+
+  <xs:complexType name="ScaleTransformType">
+    <xs:attribute name="scale-x" type="xs:double" default="1"/>
+    <xs:attribute name="scale-y" type="xs:double" default="1"/>
+    <xs:attribute name="center-x" type="xs:double" default="0"/>
+    <xs:attribute name="center-y" type="xs:double" default="0"/>
+  </xs:complexType>
+
+  <xs:complexType name="SkewTransformType">
+    <xs:attribute name="angle-x" type="xs:double" default="0"/>
+    <xs:attribute name="angle-y" type="xs:double" default="0"/>
+    <xs:attribute name="center-x" type="xs:double" default="0"/>
+    <xs:attribute name="center-y" type="xs:double" default="0"/>
+  </xs:complexType>
+
+  <xs:complexType name="MatrixTransformType">
+    <xs:attribute name="matrix" type="xs:string" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="TransformGroupType">
+    <xs:sequence>
+      <xs:element name="Transform" type="tns:TransformType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <!-- ENHANCEMENT: Animation Type -->
+  <xs:complexType name="AnimationType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="DoubleAnimation" type="tns:DoubleAnimationType"/>
+      <xs:element name="ColorAnimation" type="tns:ColorAnimationType"/>
+      <xs:element name="PointAnimation" type="tns:PointAnimationType"/>
+      <xs:element name="ThicknessAnimation" type="tns:ThicknessAnimationType"/>
+      <xs:element name="Storyboard" type="tns:StoryboardType"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <xs:complexType name="DoubleAnimationType">
+    <xs:attribute name="target-property" type="xs:string" use="required"/>
+    <xs:attribute name="from" type="xs:double"/>
+    <xs:attribute name="to" type="xs:double"/>
+    <xs:attribute name="duration" type="xs:string" use="required"/>
+    <xs:attribute name="easing" type="tns:EasingEnum" default="Linear"/>
+    <xs:attribute name="auto-reverse" type="xs:boolean" default="false"/>
+    <xs:attribute name="repeat-count" type="xs:string" default="1"/>
+  </xs:complexType>
+
+  <xs:complexType name="ColorAnimationType">
+    <xs:attribute name="target-property" type="xs:string" use="required"/>
+    <xs:attribute name="from" type="xs:string"/>
+    <xs:attribute name="to" type="xs:string"/>
+    <xs:attribute name="duration" type="xs:string" use="required"/>
+    <xs:attribute name="easing" type="tns:EasingEnum" default="Linear"/>
+    <xs:attribute name="auto-reverse" type="xs:boolean" default="false"/>
+    <xs:attribute name="repeat-count" type="xs:string" default="1"/>
+  </xs:complexType>
+
+  <xs:complexType name="PointAnimationType">
+    <xs:attribute name="target-property" type="xs:string" use="required"/>
+    <xs:attribute name="from" type="xs:string"/>
+    <xs:attribute name="to" type="xs:string"/>
+    <xs:attribute name="duration" type="xs:string" use="required"/>
+    <xs:attribute name="easing" type="tns:EasingEnum" default="Linear"/>
+  </xs:complexType>
+
+  <xs:complexType name="ThicknessAnimationType">
+    <xs:attribute name="target-property" type="xs:string" use="required"/>
+    <xs:attribute name="from" type="xs:string"/>
+    <xs:attribute name="to" type="xs:string"/>
+    <xs:attribute name="duration" type="xs:string" use="required"/>
+    <xs:attribute name="easing" type="tns:EasingEnum" default="Linear"/>
+  </xs:complexType>
+
+  <xs:complexType name="StoryboardType">
+    <xs:sequence>
+      <xs:element name="Animation" type="tns:AnimationType" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:string"/>
+    <xs:attribute name="target" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="EasingEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Linear"/>
+      <xs:enumeration value="QuadraticEaseIn"/>
+      <xs:enumeration value="QuadraticEaseOut"/>
+      <xs:enumeration value="QuadraticEaseInOut"/>
+      <xs:enumeration value="CubicEaseIn"/>
+      <xs:enumeration value="CubicEaseOut"/>
+      <xs:enumeration value="CubicEaseInOut"/>
+      <xs:enumeration value="BackEaseIn"/>
+      <xs:enumeration value="BackEaseOut"/>
+      <xs:enumeration value="BackEaseInOut"/>
+      <xs:enumeration value="BounceEaseIn"/>
+      <xs:enumeration value="BounceEaseOut"/>
+      <xs:enumeration value="BounceEaseInOut"/>
+      <xs:enumeration value="ElasticEaseIn"/>
+      <xs:enumeration value="ElasticEaseOut"/>
+      <xs:enumeration value="ElasticEaseInOut"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Gestures Type -->
+  <xs:complexType name="GesturesType">
+    <xs:sequence>
+      <xs:element name="gesture" type="tns:GestureType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="GestureType">
+    <xs:attribute name="type" type="tns:GestureTypeEnum" use="required"/>
+    <xs:attribute name="handler" type="xs:string" use="required"/>
+    <xs:attribute name="parameter" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="GestureTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Tap"/>
+      <xs:enumeration value="DoubleTap"/>
+      <xs:enumeration value="RightTap"/>
+      <xs:enumeration value="Hold"/>
+      <xs:enumeration value="Swipe"/>
+      <xs:enumeration value="Pan"/>
+      <xs:enumeration value="Pinch"/>
+      <xs:enumeration value="Rotate"/>
+      <xs:enumeration value="Drag"/>
+      <xs:enumeration value="Flick"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Interactions Type -->
+  <xs:complexType name="InteractionsType">
+    <xs:sequence>
+      <xs:element name="interaction" type="tns:InteractionType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="InteractionType">
+    <xs:attribute name="type" type="tns:InteractionTypeEnum" use="required"/>
+    <xs:attribute name="target" type="xs:string"/>
+    <xs:attribute name="command" type="xs:string"/>
+    <xs:attribute name="parameter" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="InteractionTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="EventTrigger"/>
+      <xs:enumeration value="PropertyChangedTrigger"/>
+      <xs:enumeration value="DataTrigger"/>
+      <xs:enumeration value="CallMethodAction"/>
+      <xs:enumeration value="InvokeCommandAction"/>
+      <xs:enumeration value="ChangePropertyAction"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Behaviors Type -->
+  <xs:complexType name="BehaviorsType">
+    <xs:sequence>
+      <xs:element name="behavior" type="tns:BehaviorType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="BehaviorType">
+    <xs:attribute name="type" type="tns:BehaviorTypeEnum" use="required"/>
+    <xs:attribute name="target" type="xs:string"/>
+    <xs:attribute name="property" type="xs:string"/>
+    <xs:attribute name="value" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="BehaviorTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="DragBehavior"/>
+      <xs:enumeration value="DropBehavior"/>
+      <xs:enumeration value="SelectionBehavior"/>
+      <xs:enumeration value="ValidationBehavior"/>
+      <xs:enumeration value="AnimationBehavior"/>
+      <xs:enumeration value="FocusBehavior"/>
+      <xs:enumeration value="ScrollBehavior"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- Avalonia-specific supporting types -->
   <xs:complexType name="GridDefinitionsType">
     <xs:sequence>
       <xs:element name="row-definitions" type="tns:RowDefinitionsType"/>
       <xs:element name="column-definitions" type="tns:ColumnDefinitionsType"/>
     </xs:sequence>
+    <!-- ENHANCEMENT: v1.3 grid enhancements -->
+    <xs:attribute name="show-grid-lines" type="xs:boolean" default="false"/>
+    <xs:attribute name="grid-line-brush" type="xs:string"/>
   </xs:complexType>
 
   <xs:complexType name="RowDefinitionsType">
@@ -105,6 +440,8 @@
           <xs:attribute name="height" type="xs:string" use="required"/>
           <xs:attribute name="min-height" type="xs:string" default="0"/>
           <xs:attribute name="max-height" type="xs:string" default="Infinity"/>
+          <!-- ENHANCEMENT: v1.3 additions -->
+          <xs:attribute name="shared-size-group" type="xs:string"/>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
@@ -117,6 +454,8 @@
           <xs:attribute name="width" type="xs:string" use="required"/>
           <xs:attribute name="min-width" type="xs:string" default="0"/>
           <xs:attribute name="max-width" type="xs:string" default="Infinity"/>
+          <!-- ENHANCEMENT: v1.3 additions -->
+          <xs:attribute name="shared-size-group" type="xs:string"/>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
@@ -130,6 +469,10 @@
             <xs:extension base="tns:AvaloniaControlInstanceType">
               <xs:attribute name="header" type="xs:string"/>
               <xs:attribute name="is-selected" type="xs:boolean" default="false"/>
+              <!-- ENHANCEMENT: v1.3 tab enhancements -->
+              <xs:attribute name="closable" type="xs:boolean" default="false"/>
+              <xs:attribute name="icon" type="xs:string"/>
+              <xs:attribute name="badge" type="xs:string"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
@@ -139,14 +482,181 @@
 
   <xs:complexType name="PaneType">
     <xs:complexContent>
-      <xs:extension base="tns:AvaloniaControlInstanceType"/>
+      <xs:extension base="tns:AvaloniaControlInstanceType">
+        <!-- ENHANCEMENT: v1.3 pane enhancements -->
+        <xs:attribute name="collapsible" type="xs:boolean" default="false"/>
+        <xs:attribute name="resizable" type="xs:boolean" default="true"/>
+        <xs:attribute name="dockable" type="xs:boolean" default="false"/>
+      </xs:extension>
     </xs:complexContent>
   </xs:complexType>
 
   <xs:complexType name="ContentType">
     <xs:complexContent>
-      <xs:extension base="tns:AvaloniaControlInstanceType"/>
+      <xs:extension base="tns:AvaloniaControlInstanceType">
+        <!-- ENHANCEMENT: v1.3 content enhancements -->
+        <xs:attribute name="stretch" type="tns:StretchEnum" default="Uniform"/>
+        <xs:attribute name="horizontal-alignment" type="tns:HorizontalAlignmentEnum" default="Center"/>
+        <xs:attribute name="vertical-alignment" type="tns:VerticalAlignmentEnum" default="Center"/>
+      </xs:extension>
     </xs:complexContent>
   </xs:complexType>
 
+  <xs:simpleType name="StretchEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="None"/>
+      <xs:enumeration value="Fill"/>
+      <xs:enumeration value="Uniform"/>
+      <xs:enumeration value="UniformToFill"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="HorizontalAlignmentEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Left"/>
+      <xs:enumeration value="Center"/>
+      <xs:enumeration value="Right"/>
+      <xs:enumeration value="Stretch"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="VerticalAlignmentEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Top"/>
+      <xs:enumeration value="Center"/>
+      <xs:enumeration value="Bottom"/>
+      <xs:enumeration value="Stretch"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Resources Type -->
+  <xs:complexType name="ResourcesType">
+    <xs:sequence>
+      <xs:element name="resource" type="tns:ResourceType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="ResourceType">
+    <xs:attribute name="key" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:ResourceTypeEnum" use="required"/>
+    <xs:attribute name="value" type="xs:string"/>
+    <xs:attribute name="source" type="xs:anyURI"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ResourceTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Brush"/>
+      <xs:enumeration value="Color"/>
+      <xs:enumeration value="Font"/>
+      <xs:enumeration value="FontFamily"/>
+      <xs:enumeration value="Thickness"/>
+      <xs:enumeration value="CornerRadius"/>
+      <xs:enumeration value="Image"/>
+      <xs:enumeration value="Icon"/>
+      <xs:enumeration value="Style"/>
+      <xs:enumeration value="Template"/>
+      <xs:enumeration value="Geometry"/>
+      <xs:enumeration value="Transform"/>
+      <xs:enumeration value="Animation"/>
+      <xs:enumeration value="String"/>
+      <xs:enumeration value="Double"/>
+      <xs:enumeration value="Boolean"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Styles Type -->
+  <xs:complexType name="StylesType">
+    <xs:sequence>
+      <xs:element name="style" type="tns:StyleType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="StyleType">
+    <xs:sequence>
+      <xs:element name="setter" type="tns:SetterType" maxOccurs="unbounded"/>
+      <xs:element name="trigger" type="tns:TriggerType" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="selector" type="xs:string" use="required"/>
+    <xs:attribute name="target-type" type="xs:string"/>
+    <xs:attribute name="base-style" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:complexType name="SetterType">
+    <xs:attribute name="property" type="xs:string" use="required"/>
+    <xs:attribute name="value" type="xs:string" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="TriggerType">
+    <xs:sequence>
+      <xs:element name="setter" type="tns:SetterType" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="property" type="xs:string" use="required"/>
+    <xs:attribute name="value" type="xs:string" use="required"/>
+  </xs:complexType>
+
+  <!-- ENHANCEMENT: Triggers Type -->
+  <xs:complexType name="TriggersType">
+    <xs:sequence>
+      <xs:element name="trigger" type="tns:AdvancedTriggerType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="AdvancedTriggerType">
+    <xs:sequence>
+      <xs:element name="condition" type="tns:TriggerConditionType" maxOccurs="unbounded"/>
+      <xs:element name="action" type="tns:TriggerActionType" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:string"/>
+    <xs:attribute name="type" type="tns:TriggerTypeEnum" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="TriggerConditionType">
+    <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:complexType>
+
+  <xs:complexType name="TriggerActionType">
+    <xs:attribute name="type" type="tns:ActionTypeEnum" use="required"/>
+    <xs:attribute name="target" type="xs:string"/>
+    <xs:attribute name="property" type="xs:string"/>
+    <xs:attribute name="value" type="xs:string"/>
+    <xs:attribute name="command" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="TriggerTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Property"/>
+      <xs:enumeration value="Event"/>
+      <xs:enumeration value="Data"/>
+      <xs:enumeration value="Multi"/>
+      <xs:enumeration value="Condition"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ComparisonOperatorEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Equal"/>
+      <xs:enumeration value="NotEqual"/>
+      <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:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ActionTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="SetProperty"/>
+      <xs:enumeration value="InvokeCommand"/>
+      <xs:enumeration value="BeginStoryboard"/>
+      <xs:enumeration value="StopStoryboard"/>
+      <xs:enumeration value="PlaySound"/>
+      <xs:enumeration value="CallMethod"/>
+    </xs:restriction>
+  </xs:simpleType>
+
 </xs:schema>

+ 163 - 13
UILayoutDefinitionFormat/ui-layout-basic-controls.xsd

@@ -3,7 +3,7 @@
            targetNamespace="ui-layout-basic-controls"
            xmlns:tns="ui-layout-basic-controls"
            elementFormDefault="qualified"
-           version="1.2">
+           version="1.3">
 
   <!-- ENHANCEMENT: Control Instance Base Type with accessibility and data binding -->
   <xs:complexType name="BasicControlInstanceType" mixed="true">
@@ -14,17 +14,53 @@
     <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"/>
     <xs:attribute name="tab-index" type="xs:int" default="0"/>
     <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: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 -->
   <xs:group name="BasicControlContentGroup">
     <xs:choice>
@@ -65,10 +101,13 @@
       <!-- ENHANCEMENT: Data binding and accessibility elements -->
       <xs:element name="data-binding" type="tns:DataBindingDetailsType"/>
       <xs:element name="accessibility" type="tns:AccessibilityDetailsType"/>
+      
+      <!-- ENHANCEMENT: Conditional visibility elements -->
+      <xs:element name="conditional-visibility" type="tns:ConditionalVisibilityType"/>
     </xs:choice>
   </xs:group>
 
-  <!-- ENHANCEMENT: Enhanced Slot Definition -->
+  <!-- ENHANCEMENT: Enhanced Slot Definition with v1.3 features -->
   <xs:complexType name="SlotType">
     <xs:complexContent>
       <xs:extension base="tns:BasicControlInstanceType">
@@ -79,10 +118,52 @@
         <!-- 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:extension>
     </xs:complexContent>
   </xs:complexType>
 
+  <!-- ENHANCEMENT: Conditional Visibility Type -->
+  <xs:complexType name="ConditionalVisibilityType">
+    <xs:sequence>
+      <xs:element name="condition" type="tns:VisibilityConditionType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </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"/>
+  </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>
+
   <!-- ENHANCEMENT: Data Binding Details -->
   <xs:complexType name="DataBindingDetailsType">
     <xs:sequence>
@@ -97,22 +178,16 @@
     <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"/>
   </xs:complexType>
 
-  <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>
-
   <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>
 
@@ -122,6 +197,7 @@
       <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>
   </xs:complexType>
 
@@ -129,9 +205,11 @@
     <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="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"/>
   </xs:complexType>
 
   <xs:complexType name="KeyboardSupportType">
@@ -140,6 +218,8 @@
     <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"/>
   </xs:complexType>
 
   <xs:complexType name="VisualSupportType">
@@ -147,6 +227,16 @@
     <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"/>
+  </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"/>
   </xs:complexType>
 
   <!-- ENHANCEMENT: Enhanced Supporting Types -->
@@ -163,12 +253,27 @@
           <!-- 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:element>
     </xs:sequence>
+    <xs:attribute name="orientation" type="tns:OrientationEnum" default="vertical"/>
   </xs:complexType>
 
+  <xs:simpleType name="OrientationEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="horizontal"/>
+      <xs:enumeration value="vertical"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <xs:complexType name="ColumnsType">
     <xs:sequence>
       <xs:element name="column" maxOccurs="unbounded">
@@ -178,16 +283,50 @@
           <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="xs:string"/>
+          <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="DataTypeEnum">
+    <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:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="AlignmentEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="left"/>
+      <xs:enumeration value="center"/>
+      <xs:enumeration value="right"/>
+      <xs:enumeration value="justify"/>
+      <xs:enumeration value="stretch"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <xs:complexType name="ItemsType">
     <xs:sequence>
       <xs:element name="item" maxOccurs="unbounded">
@@ -198,6 +337,13 @@
           <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>
@@ -205,6 +351,10 @@
     <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>
 
 </xs:schema>

+ 7 - 2
UILayoutDefinitionFormat/ui-layout-def.xsd

@@ -9,7 +9,7 @@
            xmlns:winforms="ui-layout-winforms-controls"
            xmlns:avalonia="ui-layout-avalonia-controls"
            elementFormDefault="qualified"
-           version="1.2">
+           version="1.3">
 
   <!-- Import external schemas -->
   <xs:import namespace="ui-layout-patterns" schemaLocation="ui-layout-patterns.xsd"/>
@@ -267,17 +267,22 @@
     </xs:sequence>
   </xs:complexType>
 
-  <!-- Slot Overrides -->
+  <!-- ENHANCED: Slot Overrides with conditional visibility -->
   <xs:complexType name="SlotOverridesType">
     <xs:sequence>
       <xs:element name="slot" type="tns:SlotOverrideType" maxOccurs="unbounded"/>
     </xs:sequence>
   </xs:complexType>
 
+  <!-- ENHANCED: Slot Override Type with conditional visibility attributes -->
   <xs:complexType name="SlotOverrideType">
     <xs:complexContent>
       <xs:extension base="tns:PlatformControlContentType">
         <xs:attribute name="name" type="xs:string" use="required"/>
+        
+        <!-- NEW: Conditional visibility attributes for slot overrides -->
+        <xs:attribute name="visibility-binding" type="xs:string"/>
+        <xs:attribute name="visibility-value" type="xs:string"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>

+ 432 - 4
UILayoutDefinitionFormat/ui-layout-patterns.xsd

@@ -3,7 +3,7 @@
            targetNamespace="ui-layout-patterns"
            xmlns:tns="ui-layout-patterns"
            elementFormDefault="qualified"
-           version="1.2">
+           version="1.3">
 
   <!-- Root element for pattern include files -->
   <xs:element name="patterns" type="tns:PatternsIncludeFileType"/>
@@ -15,8 +15,24 @@
       <xs:element name="structure" type="tns:StructureType"/>
       <xs:element name="wireframe" type="tns:WireframeType"/>
     </xs:choice>
+    <!-- ENHANCEMENT: Version tracking for pattern files -->
+    <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
+    <xs:attribute name="target-platform" type="tns:PlatformEnum" default="basic"/>
   </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>
+
   <!-- Control Definition -->
   <xs:complexType name="ControlType">
     <xs:sequence>
@@ -25,11 +41,20 @@
       <xs:element name="attributes" type="tns:AttributesType" minOccurs="0"/>
       <xs:element name="behavior" type="tns:BehaviorType" minOccurs="0"/>
       <xs:element name="structure" type="tns:ControlStructureType" minOccurs="0"/>
+      <!-- ENHANCEMENT: v1.3 features -->
+      <xs:element name="validation" type="tns:ValidationRulesType" minOccurs="0"/>
+      <xs:element name="accessibility" type="tns:AccessibilityRequirementsType" minOccurs="0"/>
+      <xs:element name="data-binding" type="tns:DataBindingCapabilitiesType" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="name" type="xs:string" use="required"/>
     <xs:attribute name="type" type="tns:ControlTypeEnum" use="required"/>
     <xs:attribute name="category" type="tns:ControlCategoryEnum" use="required"/>
     <xs:attribute name="inherits" type="xs:string"/>
+    <xs:attribute name="platform" type="tns:PlatformEnum" default="basic"/>
+    <!-- ENHANCEMENT: Version tracking -->
+    <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
+    <xs:attribute name="deprecated" type="xs:boolean" default="false"/>
+    <xs:attribute name="replaced-by" type="xs:string"/>
   </xs:complexType>
 
   <!-- Control Type Enumeration -->
@@ -47,10 +72,14 @@
       <xs:enumeration value="layout"/>
       <xs:enumeration value="media"/>
       <xs:enumeration value="decoration"/>
+      <!-- ENHANCEMENT: New control types -->
+      <xs:enumeration value="composite"/>
+      <xs:enumeration value="virtual"/>
+      <xs:enumeration value="utility"/>
     </xs:restriction>
   </xs:simpleType>
 
-  <!-- Control Category Enumeration -->
+  <!-- ENHANCEMENT: Expanded Control Category Enumeration -->
   <xs:simpleType name="ControlCategoryEnum">
     <xs:restriction base="xs:string">
       <xs:enumeration value="abstract"/>
@@ -92,6 +121,106 @@
       <xs:enumeration value="avalonia-graphics"/>
       <xs:enumeration value="kde-specific"/>
       <xs:enumeration value="web-specific"/>
+      <xs:enumeration value="mobile-specific"/>
+      <!-- ENHANCEMENT: v1.3 new categories -->
+      <xs:enumeration value="virtualization"/>
+      <xs:enumeration value="ai-enhanced"/>
+      <xs:enumeration value="accessibility-specialized"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Validation Rules Type -->
+  <xs:complexType name="ValidationRulesType">
+    <xs:sequence>
+      <xs:element name="rule" type="tns:ValidationRuleType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="ValidationRuleType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:ValidationTypeEnum" use="required"/>
+    <xs:attribute name="pattern" type="xs:string"/>
+    <xs:attribute name="message" type="xs:string"/>
+    <xs:attribute name="severity" type="tns:ValidationSeverityEnum" default="error"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ValidationTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="required"/>
+      <xs:enumeration value="pattern"/>
+      <xs:enumeration value="range"/>
+      <xs:enumeration value="length"/>
+      <xs:enumeration value="custom"/>
+      <xs:enumeration value="email"/>
+      <xs:enumeration value="url"/>
+      <xs:enumeration value="number"/>
+      <xs:enumeration value="date"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ValidationSeverityEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="error"/>
+      <xs:enumeration value="warning"/>
+      <xs:enumeration value="info"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Accessibility Requirements Type -->
+  <xs:complexType name="AccessibilityRequirementsType">
+    <xs:sequence>
+      <xs:element name="requirement" type="tns:AccessibilityRequirementType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="AccessibilityRequirementType">
+    <xs:attribute name="standard" type="tns:AccessibilityStandardEnum" use="required"/>
+    <xs:attribute name="level" type="tns:AccessibilityLevelEnum" use="required"/>
+    <xs:attribute name="description" type="xs:string"/>
+    <xs:attribute name="required" type="xs:boolean" default="true"/>
+  </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>
+
+  <!-- ENHANCEMENT: Data Binding Capabilities Type -->
+  <xs:complexType name="DataBindingCapabilitiesType">
+    <xs:sequence>
+      <xs:element name="bindable-property" type="tns:BindablePropertyType" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="supports-two-way" type="xs:boolean" default="false"/>
+    <xs:attribute name="supports-commands" type="xs:boolean" default="false"/>
+    <xs:attribute name="supports-validation" type="xs:boolean" default="false"/>
+  </xs:complexType>
+
+  <xs:complexType name="BindablePropertyType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="xs:string" use="required"/>
+    <xs:attribute name="mode" type="tns:BindingModeEnum" default="OneWay"/>
+    <xs:attribute name="default-value" type="xs:string"/>
+    <xs:attribute name="dependency-property" type="xs:boolean" default="false"/>
+  </xs:complexType>
+
+  <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>
 
@@ -104,9 +233,36 @@
       <xs:element name="max-children" type="xs:string" minOccurs="0"/>
       <xs:element name="requires-structure" type="xs:string" minOccurs="0"/>
       <xs:element name="required-slots" type="xs:string" minOccurs="0"/>
+      <!-- ENHANCEMENT: v1.3 additional constraints -->
+      <xs:element name="platform-constraints" type="tns:PlatformConstraintsType" minOccurs="0"/>
+      <xs:element name="performance-hints" type="tns:PerformanceHintsType" minOccurs="0"/>
     </xs:sequence>
   </xs:complexType>
 
+  <!-- ENHANCEMENT: Platform Constraints Type -->
+  <xs:complexType name="PlatformConstraintsType">
+    <xs:sequence>
+      <xs:element name="platform-constraint" type="tns:PlatformConstraintType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="PlatformConstraintType">
+    <xs:attribute name="platform" type="tns:PlatformEnum" use="required"/>
+    <xs:attribute name="min-version" type="xs:string"/>
+    <xs:attribute name="max-version" type="xs:string"/>
+    <xs:attribute name="feature-required" type="xs:string"/>
+    <xs:attribute name="alternative-control" type="xs:string"/>
+  </xs:complexType>
+
+  <!-- ENHANCEMENT: Performance Hints Type -->
+  <xs:complexType name="PerformanceHintsType">
+    <xs:attribute name="virtualization-supported" type="xs:boolean" default="false"/>
+    <xs:attribute name="heavy-rendering" type="xs:boolean" default="false"/>
+    <xs:attribute name="memory-intensive" type="xs:boolean" default="false"/>
+    <xs:attribute name="ui-thread-blocking" type="xs:boolean" default="false"/>
+    <xs:attribute name="recommended-max-items" type="xs:int"/>
+  </xs:complexType>
+
   <!-- Attributes -->
   <xs:complexType name="AttributesType">
     <xs:sequence>
@@ -122,9 +278,15 @@
     <xs:attribute name="min" type="xs:int"/>
     <xs:attribute name="max" type="xs:int"/>
     <xs:attribute name="values" type="xs:string"/>
+    <!-- ENHANCEMENT: v1.3 attribute enhancements -->
+    <xs:attribute name="deprecated" type="xs:boolean" default="false"/>
+    <xs:attribute name="platform-specific" type="tns:PlatformEnum"/>
+    <xs:attribute name="validation-pattern" type="xs:string"/>
+    <xs:attribute name="category" type="xs:string"/>
+    <xs:attribute name="description" type="xs:string"/>
   </xs:complexType>
 
-  <!-- Attribute Type Enumeration -->
+  <!-- ENHANCEMENT: Expanded Attribute Type Enumeration -->
   <xs:simpleType name="AttributeTypeEnum">
     <xs:restriction base="xs:string">
       <xs:enumeration value="string"/>
@@ -150,6 +312,17 @@
       <xs:enumeration value="corner-radius"/>
       <xs:enumeration value="brush"/>
       <xs:enumeration value="geometry"/>
+      <!-- ENHANCEMENT: v1.3 new types -->
+      <xs:enumeration value="command"/>
+      <xs:enumeration value="binding"/>
+      <xs:enumeration value="template"/>
+      <xs:enumeration value="style"/>
+      <xs:enumeration value="resource"/>
+      <xs:enumeration value="converter"/>
+      <xs:enumeration value="validator"/>
+      <xs:enumeration value="collection"/>
+      <xs:enumeration value="uri"/>
+      <xs:enumeration value="version"/>
     </xs:restriction>
   </xs:simpleType>
 
@@ -157,6 +330,9 @@
   <xs:complexType name="BehaviorType">
     <xs:sequence>
       <xs:element name="event" type="tns:EventType" maxOccurs="unbounded"/>
+      <!-- ENHANCEMENT: v1.3 behavior enhancements -->
+      <xs:element name="command" type="tns:CommandType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="gesture" type="tns:GestureType" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
   </xs:complexType>
 
@@ -167,8 +343,44 @@
     <xs:attribute name="handler-required" type="xs:boolean" default="false"/>
     <xs:attribute name="bubbles" type="xs:boolean" default="false"/>
     <xs:attribute name="parameters" type="xs:string"/>
+    <!-- ENHANCEMENT: v1.3 event enhancements -->
+    <xs:attribute name="async" type="xs:boolean" default="false"/>
+    <xs:attribute name="cancelable" type="xs:boolean" default="false"/>
+    <xs:attribute name="platform-specific" type="tns:PlatformEnum"/>
+    <xs:attribute name="accessibility-event" type="xs:boolean" default="false"/>
   </xs:complexType>
 
+  <!-- ENHANCEMENT: Command Type -->
+  <xs:complexType name="CommandType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="can-execute-property" type="xs:string"/>
+    <xs:attribute name="parameter-type" type="xs:string"/>
+    <xs:attribute name="async" type="xs:boolean" default="false"/>
+    <xs:attribute name="description" type="xs:string"/>
+  </xs:complexType>
+
+  <!-- ENHANCEMENT: Gesture Type -->
+  <xs:complexType name="GestureType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:GestureTypeEnum" use="required"/>
+    <xs:attribute name="platform-specific" type="tns:PlatformEnum"/>
+    <xs:attribute name="description" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="GestureTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="tap"/>
+      <xs:enumeration value="double-tap"/>
+      <xs:enumeration value="long-press"/>
+      <xs:enumeration value="swipe"/>
+      <xs:enumeration value="pinch"/>
+      <xs:enumeration value="rotate"/>
+      <xs:enumeration value="pan"/>
+      <xs:enumeration value="drag"/>
+      <xs:enumeration value="flick"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- Control Structure (simplified for patterns) -->
   <xs:complexType name="ControlStructureType">
     <xs:choice maxOccurs="unbounded">
@@ -183,10 +395,102 @@
       <xs:element name="pane" type="tns:PaneType"/>
       <xs:element name="content" type="tns:ContentType"/>
       <xs:element name="grid-definitions" type="tns:GridDefinitionsType"/>
-      <!-- Add other structure types as needed -->
+      <!-- ENHANCEMENT: v1.3 new structure types -->
+      <xs:element name="templates" type="tns:TemplatesType"/>
+      <xs:element name="resources" type="tns:ResourcesType"/>
+      <xs:element name="animations" type="tns:AnimationsType"/>
     </xs:choice>
   </xs:complexType>
 
+  <!-- ENHANCEMENT: Templates Type -->
+  <xs:complexType name="TemplatesType">
+    <xs:sequence>
+      <xs:element name="template" type="tns:TemplateDefinitionType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="TemplateDefinitionType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:TemplateTypeEnum" use="required"/>
+    <xs:attribute name="target-type" type="xs:string"/>
+    <xs:attribute name="data-type" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="TemplateTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="control"/>
+      <xs:enumeration value="data"/>
+      <xs:enumeration value="item"/>
+      <xs:enumeration value="header"/>
+      <xs:enumeration value="footer"/>
+      <xs:enumeration value="cell"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Resources Type -->
+  <xs:complexType name="ResourcesType">
+    <xs:sequence>
+      <xs:element name="resource" type="tns:ResourceDefinitionType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="ResourceDefinitionType">
+    <xs:attribute name="key" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:ResourceTypeEnum" use="required"/>
+    <xs:attribute name="value" type="xs:string"/>
+    <xs:attribute name="source" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ResourceTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="string"/>
+      <xs:enumeration value="brush"/>
+      <xs:enumeration value="color"/>
+      <xs:enumeration value="font"/>
+      <xs:enumeration value="image"/>
+      <xs:enumeration value="style"/>
+      <xs:enumeration value="template"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Animations Type -->
+  <xs:complexType name="AnimationsType">
+    <xs:sequence>
+      <xs:element name="animation" type="tns:AnimationDefinitionType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="AnimationDefinitionType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:AnimationTypeEnum" use="required"/>
+    <xs:attribute name="duration" type="xs:string" default="0.3s"/>
+    <xs:attribute name="easing" type="tns:EasingEnum" default="ease"/>
+    <xs:attribute name="trigger" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="AnimationTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="fade"/>
+      <xs:enumeration value="slide"/>
+      <xs:enumeration value="scale"/>
+      <xs:enumeration value="rotate"/>
+      <xs:enumeration value="transform"/>
+      <xs:enumeration value="custom"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="EasingEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="linear"/>
+      <xs:enumeration value="ease"/>
+      <xs:enumeration value="ease-in"/>
+      <xs:enumeration value="ease-out"/>
+      <xs:enumeration value="ease-in-out"/>
+      <xs:enumeration value="bounce"/>
+      <xs:enumeration value="elastic"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- Structure Definition -->
   <xs:complexType name="StructureType">
     <xs:sequence>
@@ -194,11 +498,30 @@
       <xs:element name="constraints" type="tns:ConstraintsType" minOccurs="0"/>
       <xs:element name="attributes" type="tns:AttributesType" minOccurs="0"/>
       <xs:element name="template" type="tns:TemplateType"/>
+      <!-- ENHANCEMENT: v1.3 structure enhancements -->
+      <xs:element name="composition" type="tns:CompositionType" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="name" type="xs:string" use="required"/>
     <xs:attribute name="type" type="xs:string" use="required"/>
     <xs:attribute name="category" type="tns:ControlCategoryEnum" use="required"/>
     <xs:attribute name="inherits" type="xs:string"/>
+    <xs:attribute name="platform" type="tns:PlatformEnum" default="basic"/>
+    <!-- ENHANCEMENT: Version tracking -->
+    <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
+  </xs:complexType>
+
+  <!-- ENHANCEMENT: Composition Type -->
+  <xs:complexType name="CompositionType">
+    <xs:sequence>
+      <xs:element name="component" type="tns:ComponentType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="ComponentType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="xs:string" use="required"/>
+    <xs:attribute name="required" type="xs:boolean" default="false"/>
+    <xs:attribute name="multiple" type="xs:boolean" default="false"/>
   </xs:complexType>
 
   <!-- Wireframe Definition -->
@@ -206,11 +529,62 @@
     <xs:sequence>
       <xs:element name="description" type="xs:string" minOccurs="0"/>
       <xs:element name="template" type="tns:TemplateType"/>
+      <!-- ENHANCEMENT: v1.3 wireframe enhancements -->
+      <xs:element name="responsive" type="tns:ResponsiveType" minOccurs="0"/>
+      <xs:element name="theme-support" type="tns:ThemeSupportType" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="name" type="xs:string" use="required"/>
     <xs:attribute name="type" type="xs:string" use="required"/>
+    <xs:attribute name="platform" type="tns:PlatformEnum" default="basic"/>
+    <!-- ENHANCEMENT: Version tracking -->
+    <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
   </xs:complexType>
 
+  <!-- ENHANCEMENT: Responsive Type -->
+  <xs:complexType name="ResponsiveType">
+    <xs:sequence>
+      <xs:element name="breakpoint" type="tns:BreakpointType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="BreakpointType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="min-width" type="xs:int"/>
+    <xs:attribute name="max-width" type="xs:int"/>
+    <xs:attribute name="orientation" type="tns:OrientationEnum"/>
+    <xs:attribute name="template-override" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="OrientationEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="portrait"/>
+      <xs:enumeration value="landscape"/>
+      <xs:enumeration value="any"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Theme Support Type -->
+  <xs:complexType name="ThemeSupportType">
+    <xs:sequence>
+      <xs:element name="theme-variant" type="tns:ThemeVariantType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="ThemeVariantType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:ThemeTypeEnum" use="required"/>
+    <xs:attribute name="resource-override" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ThemeTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="light"/>
+      <xs:enumeration value="dark"/>
+      <xs:enumeration value="high-contrast"/>
+      <xs:enumeration value="custom"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- Template (simplified - contains mixed content for flexibility) -->
   <xs:complexType name="TemplateType" mixed="true">
     <xs:sequence>
@@ -227,6 +601,9 @@
     <xs:attribute name="min-count" type="xs:int" default="0"/>
     <xs:attribute name="max-count" type="xs:string" default="unlimited"/>
     <xs:attribute name="max-depth" type="xs:int"/>
+    <!-- ENHANCEMENT: v1.3 virtualization support -->
+    <xs:attribute name="virtualization" type="xs:boolean" default="false"/>
+    <xs:attribute name="lazy-loading" type="xs:boolean" default="false"/>
   </xs:complexType>
 
   <xs:complexType name="MenuItemsType">
@@ -236,6 +613,9 @@
     <xs:attribute name="min-count" type="xs:int" default="1"/>
     <xs:attribute name="max-count" type="xs:string" default="unlimited"/>
     <xs:attribute name="max-depth" type="xs:int"/>
+    <!-- ENHANCEMENT: v1.3 menu enhancements -->
+    <xs:attribute name="dynamic" type="xs:boolean" default="false"/>
+    <xs:attribute name="context-aware" type="xs:boolean" default="false"/>
   </xs:complexType>
 
   <xs:complexType name="ColumnsType">
@@ -244,6 +624,10 @@
     </xs:sequence>
     <xs:attribute name="min-count" type="xs:int" default="1"/>
     <xs:attribute name="max-count" type="xs:int" default="50"/>
+    <!-- ENHANCEMENT: v1.3 column enhancements -->
+    <xs:attribute name="auto-generate" type="xs:boolean" default="false"/>
+    <xs:attribute name="reorderable" type="xs:boolean" default="true"/>
+    <xs:attribute name="resizable" type="xs:boolean" default="true"/>
   </xs:complexType>
 
   <xs:complexType name="ChildrenType">
@@ -251,14 +635,42 @@
       <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
     </xs:sequence>
     <xs:attribute name="allow-multiple" type="xs:boolean" default="true"/>
+    <!-- ENHANCEMENT: v1.3 children enhancements -->
+    <xs:attribute name="layout-strategy" type="tns:LayoutStrategyEnum" default="default"/>
   </xs:complexType>
 
+  <xs:simpleType name="LayoutStrategyEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="default"/>
+      <xs:enumeration value="stack"/>
+      <xs:enumeration value="grid"/>
+      <xs:enumeration value="flow"/>
+      <xs:enumeration value="absolute"/>
+      <xs:enumeration value="responsive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <xs:complexType name="SelectedItemsType">
     <xs:attribute name="max-count" type="xs:string" use="required"/>
+    <!-- ENHANCEMENT: v1.3 selection enhancements -->
+    <xs:attribute name="selection-mode" type="tns:SelectionModeEnum" default="single"/>
   </xs:complexType>
 
+  <xs:simpleType name="SelectionModeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="none"/>
+      <xs:enumeration value="single"/>
+      <xs:enumeration value="multiple"/>
+      <xs:enumeration value="extended"/>
+      <xs:enumeration value="range"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <xs:complexType name="ContextMenuType">
     <xs:attribute name="max-count" type="xs:int" default="1"/>
+    <!-- ENHANCEMENT: v1.3 context menu enhancements -->
+    <xs:attribute name="dynamic" type="xs:boolean" default="false"/>
+    <xs:attribute name="platform-native" type="xs:boolean" default="true"/>
   </xs:complexType>
 
   <xs:complexType name="PanelType">
@@ -266,18 +678,27 @@
       <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
     </xs:sequence>
     <xs:attribute name="required" type="xs:boolean" default="true"/>
+    <!-- ENHANCEMENT: v1.3 panel enhancements -->
+    <xs:attribute name="collapsible" type="xs:boolean" default="false"/>
+    <xs:attribute name="resizable" type="xs:boolean" default="false"/>
   </xs:complexType>
 
   <xs:complexType name="PaneType">
     <xs:sequence>
       <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
     </xs:sequence>
+    <!-- ENHANCEMENT: v1.3 pane enhancements -->
+    <xs:attribute name="dockable" type="xs:boolean" default="false"/>
+    <xs:attribute name="floatable" type="xs:boolean" default="false"/>
   </xs:complexType>
 
   <xs:complexType name="ContentType">
     <xs:sequence>
       <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
     </xs:sequence>
+    <!-- ENHANCEMENT: v1.3 content enhancements -->
+    <xs:attribute name="scrollable" type="xs:boolean" default="false"/>
+    <xs:attribute name="virtualized" type="xs:boolean" default="false"/>
   </xs:complexType>
 
   <xs:complexType name="GridDefinitionsType">
@@ -285,6 +706,9 @@
       <xs:element name="row-definitions" type="tns:RowDefinitionsType"/>
       <xs:element name="column-definitions" type="tns:ColumnDefinitionsType"/>
     </xs:sequence>
+    <!-- ENHANCEMENT: v1.3 grid enhancements -->
+    <xs:attribute name="auto-columns" type="xs:boolean" default="false"/>
+    <xs:attribute name="auto-rows" type="xs:boolean" default="false"/>
   </xs:complexType>
 
   <xs:complexType name="RowDefinitionsType">
@@ -297,6 +721,8 @@
     <xs:attribute name="height" type="xs:string" use="required"/>
     <xs:attribute name="min-height" type="xs:string" default="0"/>
     <xs:attribute name="max-height" type="xs:string" default="Infinity"/>
+    <!-- ENHANCEMENT: v1.3 row enhancements -->
+    <xs:attribute name="shared-size-group" type="xs:string"/>
   </xs:complexType>
 
   <xs:complexType name="ColumnDefinitionsType">
@@ -309,6 +735,8 @@
     <xs:attribute name="width" type="xs:string" use="required"/>
     <xs:attribute name="min-width" type="xs:string" default="0"/>
     <xs:attribute name="max-width" type="xs:string" default="Infinity"/>
+    <!-- ENHANCEMENT: v1.3 column enhancements -->
+    <xs:attribute name="shared-size-group" type="xs:string"/>
   </xs:complexType>
 
 </xs:schema>

+ 337 - 1
UILayoutDefinitionFormat/ui-layout-validation.xsd

@@ -3,7 +3,7 @@
            targetNamespace="ui-layout-validation"
            xmlns:tns="ui-layout-validation"
            elementFormDefault="qualified"
-           version="1.2">
+           version="1.3">
 
   <!-- Root element for validation rule include files -->
   <xs:element name="validation-rules" type="tns:ValidationRulesIncludeFileType"/>
@@ -12,16 +12,352 @@
   <xs:complexType name="ValidationRulesIncludeFileType">
     <xs:sequence>
       <xs:element name="rule" type="tns:ValidationRuleType" minOccurs="0" maxOccurs="unbounded"/>
+      <!-- ENHANCEMENT: v1.3 new validation features -->
+      <xs:element name="rule-group" type="tns:ValidationRuleGroupType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="custom-validator" type="tns:CustomValidatorType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="validation-profile" type="tns:ValidationProfileType" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
+    <!-- ENHANCEMENT: Version tracking for validation files -->
+    <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
+    <xs:attribute name="target-platform" type="tns:PlatformEnum" default="basic"/>
+    <xs:attribute name="validation-level" type="tns:ValidationLevelEnum" default="standard"/>
   </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: Validation Level Enumeration -->
+  <xs:simpleType name="ValidationLevelEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="minimal"/>
+      <xs:enumeration value="standard"/>
+      <xs:enumeration value="strict"/>
+      <xs:enumeration value="comprehensive"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- Validation Rule Type -->
   <xs:complexType name="ValidationRuleType">
     <xs:sequence>
       <xs:element name="description" type="xs:string"/>
       <xs:element name="constraint" type="xs:string" maxOccurs="unbounded"/>
+      <!-- ENHANCEMENT: v1.3 additional rule features -->
+      <xs:element name="condition" type="tns:ValidationConditionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="exception" type="tns:ValidationExceptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="remediation" type="tns:RemediationType" minOccurs="0"/>
+      <xs:element name="test-case" type="tns:ValidationTestCaseType" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
     <xs:attribute name="name" type="xs:string" use="required"/>
+    <!-- ENHANCEMENT: v1.3 rule attributes -->
+    <xs:attribute name="category" type="tns:ValidationCategoryEnum" default="structural"/>
+    <xs:attribute name="severity" type="tns:SeverityEnum" default="error"/>
+    <xs:attribute name="priority" type="tns:PriorityEnum" default="medium"/>
+    <xs:attribute name="platform" type="tns:PlatformEnum" default="basic"/>
+    <xs:attribute name="enabled" type="xs:boolean" default="true"/>
+    <xs:attribute name="version" type="xs:string" default="1.0"/>
+    <xs:attribute name="deprecated" type="xs:boolean" default="false"/>
+    <xs:attribute name="replaced-by" type="xs:string"/>
+  </xs:complexType>
+
+  <!-- ENHANCEMENT: Validation Category Enumeration -->
+  <xs:simpleType name="ValidationCategoryEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="structural"/>
+      <xs:enumeration value="semantic"/>
+      <xs:enumeration value="accessibility"/>
+      <xs:enumeration value="performance"/>
+      <xs:enumeration value="security"/>
+      <xs:enumeration value="usability"/>
+      <xs:enumeration value="maintainability"/>
+      <xs:enumeration value="compatibility"/>
+      <xs:enumeration value="localization"/>
+      <xs:enumeration value="business-rules"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Severity Enumeration -->
+  <xs:simpleType name="SeverityEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="info"/>
+      <xs:enumeration value="warning"/>
+      <xs:enumeration value="error"/>
+      <xs:enumeration value="critical"/>
+      <xs:enumeration value="blocker"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Priority Enumeration -->
+  <xs:simpleType name="PriorityEnum">
+    <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: Validation Condition Type -->
+  <xs:complexType name="ValidationConditionType">
+    <xs:attribute name="when" type="xs:string" use="required"/>
+    <xs:attribute name="platform" type="tns:PlatformEnum"/>
+    <xs:attribute name="version" type="xs:string"/>
+    <xs:attribute name="context" type="xs:string"/>
   </xs:complexType>
 
+  <!-- ENHANCEMENT: Validation Exception Type -->
+  <xs:complexType name="ValidationExceptionType">
+    <xs:attribute name="pattern" type="xs:string" use="required"/>
+    <xs:attribute name="reason" type="xs:string" use="required"/>
+    <xs:attribute name="approved-by" type="xs:string"/>
+    <xs:attribute name="expires" type="xs:date"/>
+  </xs:complexType>
+
+  <!-- ENHANCEMENT: Remediation Type -->
+  <xs:complexType name="RemediationType">
+    <xs:sequence>
+      <xs:element name="suggestion" type="xs:string" maxOccurs="unbounded"/>
+      <xs:element name="auto-fix" type="tns:AutoFixType" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="difficulty" type="tns:DifficultyEnum" default="medium"/>
+    <xs:attribute name="estimated-time" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:complexType name="AutoFixType">
+    <xs:attribute name="available" type="xs:boolean" use="required"/>
+    <xs:attribute name="confidence" type="tns:ConfidenceEnum" default="medium"/>
+    <xs:attribute name="description" type="xs:string"/>
+    <xs:attribute name="side-effects" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="DifficultyEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="trivial"/>
+      <xs:enumeration value="easy"/>
+      <xs:enumeration value="medium"/>
+      <xs:enumeration value="hard"/>
+      <xs:enumeration value="expert"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ConfidenceEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="low"/>
+      <xs:enumeration value="medium"/>
+      <xs:enumeration value="high"/>
+      <xs:enumeration value="certain"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Validation Test Case Type -->
+  <xs:complexType name="ValidationTestCaseType">
+    <xs:sequence>
+      <xs:element name="input" type="xs:string"/>
+      <xs:element name="expected-result" type="tns:ValidationResultEnum"/>
+      <xs:element name="expected-message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="description" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ValidationResultEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="pass"/>
+      <xs:enumeration value="fail"/>
+      <xs:enumeration value="warning"/>
+      <xs:enumeration value="skip"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Validation Rule Group Type -->
+  <xs:complexType name="ValidationRuleGroupType">
+    <xs:sequence>
+      <xs:element name="description" type="xs:string"/>
+      <xs:element name="rule-ref" type="tns:ValidationRuleRefType" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="category" type="tns:ValidationCategoryEnum" use="required"/>
+    <xs:attribute name="enabled" type="xs:boolean" default="true"/>
+    <xs:attribute name="execution-order" type="tns:ExecutionOrderEnum" default="parallel"/>
+  </xs:complexType>
+
+  <xs:complexType name="ValidationRuleRefType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="enabled" type="xs:boolean" default="true"/>
+    <xs:attribute name="override-severity" type="tns:SeverityEnum"/>
+    <xs:attribute name="configuration" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ExecutionOrderEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="parallel"/>
+      <xs:enumeration value="sequential"/>
+      <xs:enumeration value="dependency-ordered"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Custom Validator Type -->
+  <xs:complexType name="CustomValidatorType">
+    <xs:sequence>
+      <xs:element name="description" type="xs:string"/>
+      <xs:element name="implementation" type="tns:ValidatorImplementationType"/>
+      <xs:element name="parameter" type="tns:ValidatorParameterType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="test-case" type="tns:ValidationTestCaseType" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="version" type="xs:string" default="1.0"/>
+    <xs:attribute name="author" type="xs:string"/>
+    <xs:attribute name="category" type="tns:ValidationCategoryEnum" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="ValidatorImplementationType">
+    <xs:choice>
+      <xs:element name="script" type="tns:ScriptImplementationType"/>
+      <xs:element name="assembly" type="tns:AssemblyImplementationType"/>
+      <xs:element name="rule-expression" type="tns:RuleExpressionType"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <xs:complexType name="ScriptImplementationType">
+    <xs:attribute name="language" type="tns:ScriptLanguageEnum" use="required"/>
+    <xs:attribute name="source" type="xs:string"/>
+    <xs:attribute name="inline" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:complexType name="AssemblyImplementationType">
+    <xs:attribute name="assembly" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="xs:string" use="required"/>
+    <xs:attribute name="method" type="xs:string" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="RuleExpressionType">
+    <xs:attribute name="expression" type="xs:string" use="required"/>
+    <xs:attribute name="language" type="tns:ExpressionLanguageEnum" default="xpath"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ScriptLanguageEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="javascript"/>
+      <xs:enumeration value="csharp"/>
+      <xs:enumeration value="vbnet"/>
+      <xs:enumeration value="python"/>
+      <xs:enumeration value="powershell"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ExpressionLanguageEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="xpath"/>
+      <xs:enumeration value="jsonpath"/>
+      <xs:enumeration value="regex"/>
+      <xs:enumeration value="linq"/>
+      <xs:enumeration value="sql"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:complexType name="ValidatorParameterType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:ParameterTypeEnum" use="required"/>
+    <xs:attribute name="default-value" type="xs:string"/>
+    <xs:attribute name="required" type="xs:boolean" default="false"/>
+    <xs:attribute name="description" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ParameterTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="string"/>
+      <xs:enumeration value="int"/>
+      <xs:enumeration value="bool"/>
+      <xs:enumeration value="decimal"/>
+      <xs:enumeration value="regex"/>
+      <xs:enumeration value="xpath"/>
+      <xs:enumeration value="enum"/>
+      <xs:enumeration value="array"/>
+      <xs:enumeration value="object"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Validation Profile Type -->
+  <xs:complexType name="ValidationProfileType">
+    <xs:sequence>
+      <xs:element name="description" type="xs:string"/>
+      <xs:element name="profile-rule" type="tns:ProfileRuleType" maxOccurs="unbounded"/>
+      <xs:element name="profile-group" type="tns:ProfileGroupType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="configuration" type="tns:ProfileConfigurationType" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="version" type="xs:string" default="1.0"/>
+    <xs:attribute name="target-platform" type="tns:PlatformEnum" default="basic"/>
+    <xs:attribute name="inherits" type="xs:string"/>
+    <xs:attribute name="enabled" type="xs:boolean" default="true"/>
+  </xs:complexType>
+
+  <xs:complexType name="ProfileRuleType">
+    <xs:attribute name="rule-name" type="xs:string" use="required"/>
+    <xs:attribute name="enabled" type="xs:boolean" default="true"/>
+    <xs:attribute name="severity" type="tns:SeverityEnum"/>
+    <xs:attribute name="configuration" type="xs:string"/>
+    <xs:attribute name="tags" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:complexType name="ProfileGroupType">
+    <xs:attribute name="group-name" type="xs:string" use="required"/>
+    <xs:attribute name="enabled" type="xs:boolean" default="true"/>
+    <xs:attribute name="override-severity" type="tns:SeverityEnum"/>
+    <xs:attribute name="configuration" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:complexType name="ProfileConfigurationType">
+    <xs:sequence>
+      <xs:element name="setting" type="tns:ProfileSettingType" maxOccurs="unbounded"/>
+      <xs:element name="exclusion" type="tns:ProfileExclusionType" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="stop-on-first-error" type="xs:boolean" default="false"/>
+    <xs:attribute name="max-errors" type="xs:int" default="100"/>
+    <xs:attribute name="parallel-execution" type="xs:boolean" default="true"/>
+    <xs:attribute name="cache-results" type="xs:boolean" default="true"/>
+  </xs:complexType>
+
+  <xs:complexType name="ProfileSettingType">
+    <xs:attribute name="key" type="xs:string" use="required"/>
+    <xs:attribute name="value" type="xs:string" use="required"/>
+    <xs:attribute name="scope" type="tns:SettingScopeEnum" default="profile"/>
+  </xs:complexType>
+
+  <xs:complexType name="ProfileExclusionType">
+    <xs:attribute name="pattern" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="tns:ExclusionTypeEnum" use="required"/>
+    <xs:attribute name="reason" type="xs:string"/>
+    <xs:attribute name="expires" type="xs:date"/>
+  </xs:complexType>
+
+  <xs:simpleType name="SettingScopeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="global"/>
+      <xs:enumeration value="profile"/>
+      <xs:enumeration value="group"/>
+      <xs:enumeration value="rule"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ExclusionTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="file"/>
+      <xs:enumeration value="element"/>
+      <xs:enumeration value="attribute"/>
+      <xs:enumeration value="xpath"/>
+      <xs:enumeration value="rule"/>
+      <xs:enumeration value="category"/>
+    </xs:restriction>
+  </xs:simpleType>
+
 </xs:schema>

+ 577 - 1
UILayoutDefinitionFormat/ui-layout-views.xsd

@@ -3,7 +3,7 @@
            targetNamespace="ui-layout-views"
            xmlns:tns="ui-layout-views"
            elementFormDefault="qualified"
-           version="1.2">
+           version="1.3">
 
   <!-- Root element for view include files -->
   <xs:element name="views" type="tns:ViewsIncludeFileType"/>
@@ -13,6 +13,10 @@
     <xs:sequence>
       <xs:element name="view" type="tns:ViewType" minOccurs="0" maxOccurs="unbounded"/>
     </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>
 
   <!-- View Type -->
@@ -33,13 +37,50 @@
       <xs:element name="module-views" type="tns:ModuleViewsType" minOccurs="0"/>
       <xs:element name="module-dependencies" type="tns:ModuleDependenciesType" 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:attribute name="name" type="xs:string" use="required"/>
     <xs:attribute name="type" type="tns:ViewTypeEnum" use="required"/>
     <xs:attribute name="category" type="tns:ViewCategoryEnum" use="required"/>
     <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>
 
+  <!-- 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 -->
   <xs:simpleType name="ViewTypeEnum">
     <xs:restriction base="xs:string">
@@ -51,6 +92,11 @@
       <xs:enumeration value="composite"/>
       <xs:enumeration value="module"/>
       <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:simpleType>
 
@@ -62,6 +108,355 @@
       <xs:enumeration value="system"/>
       <xs:enumeration value="framework"/>
       <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:simpleType>
 
@@ -72,6 +467,20 @@
       <xs:element name="view-model-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"/>
+      <!-- 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:complexType>
 
@@ -80,6 +489,9 @@
     <xs:choice maxOccurs="unbounded">
       <xs:element name="view-ref" type="tns:ViewRefType"/>
       <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:complexType>
 
@@ -92,6 +504,9 @@
     <xs:attribute name="required" type="xs:boolean" default="false"/>
     <xs:attribute name="role" 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:simpleType name="RelationshipEnum">
@@ -100,6 +515,20 @@
       <xs:enumeration value="detail"/>
       <xs:enumeration value="reference"/>
       <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:simpleType>
 
@@ -107,11 +536,42 @@
     <xs:attribute name="type" type="xs:string" use="required"/>
     <xs:attribute name="returns" 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 name="SharedComponentType">
     <xs:attribute name="name" type="xs:string" use="required"/>
     <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>
 
   <!-- Data Context -->
@@ -125,6 +585,11 @@
     <xs:attribute name="name" type="xs:string" use="required"/>
     <xs:attribute name="type" type="xs:string" use="required"/>
     <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:simpleType name="DataScopeEnum">
@@ -132,6 +597,10 @@
       <xs:enumeration value="view"/>
       <xs:enumeration value="shared"/>
       <xs:enumeration value="global"/>
+      <!-- ENHANCEMENT: v1.3 new scopes -->
+      <xs:enumeration value="session"/>
+      <xs:enumeration value="persistent"/>
+      <xs:enumeration value="distributed"/>
     </xs:restriction>
   </xs:simpleType>
 
@@ -147,6 +616,10 @@
     <xs:attribute name="role" type="tns:WindowRoleEnum" use="required"/>
     <xs:attribute name="default" 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:simpleType name="WindowRoleEnum">
@@ -159,6 +632,11 @@
       <xs:enumeration value="step1"/>
       <xs:enumeration value="step2"/>
       <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:simpleType>
 
@@ -173,6 +651,10 @@
     <xs:attribute name="name" type="xs:string" use="required"/>
     <xs:attribute name="target" type="xs:string" use="required"/>
     <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>
 
   <!-- View Behaviors -->
@@ -185,12 +667,21 @@
   <xs:complexType name="ViewBehaviorType">
     <xs:attribute name="name" type="xs:string" use="required"/>
     <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:simpleType name="BehaviorScopeEnum">
     <xs:restriction base="xs:string">
       <xs:enumeration value="view"/>
       <xs:enumeration value="global"/>
+      <!-- ENHANCEMENT: v1.3 new scopes -->
+      <xs:enumeration value="session"/>
+      <xs:enumeration value="application"/>
+      <xs:enumeration value="distributed"/>
     </xs:restriction>
   </xs:simpleType>
 
@@ -207,11 +698,17 @@
       <xs:element name="slot" type="tns:ViewSlotType" maxOccurs="unbounded"/>
     </xs:sequence>
     <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 name="ViewSlotType">
     <xs:attribute name="name" 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>
 
   <!-- Coordination -->
@@ -224,6 +721,9 @@
   <xs:complexType name="CoordinationRuleType">
     <xs:attribute name="when" 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>
 
   <!-- Communication -->
@@ -231,6 +731,8 @@
     <xs:sequence>
       <xs:element name="publishes" type="tns:PublishesType" 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:complexType>
 
@@ -249,19 +751,54 @@
   <xs:complexType name="PublishedEventType">
     <xs:attribute name="name" type="xs:string" use="required"/>
     <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 name="SubscribedEventType">
     <xs:attribute name="name" type="xs:string" use="required"/>
     <xs:attribute name="source" 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: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 -->
   <xs:complexType name="WorkflowType">
     <xs:sequence>
       <xs:element name="step" type="tns:WorkflowStepType" maxOccurs="unbounded"/>
     </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 name="WorkflowStepType">
@@ -269,8 +806,21 @@
     <xs:attribute name="window" type="xs:string" use="required"/>
     <xs:attribute name="next" 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: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 -->
   <xs:complexType name="ModuleViewsType">
     <xs:sequence>
@@ -280,6 +830,9 @@
 
   <xs:complexType name="SimpleViewRefType">
     <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>
 
   <!-- Module Dependencies -->
@@ -291,6 +844,10 @@
 
   <xs:complexType name="ModuleRefType">
     <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>
 
   <!-- Main Navigation -->
@@ -298,12 +855,31 @@
     <xs:sequence>
       <xs:element name="nav-item" type="tns:NavItemType" maxOccurs="unbounded"/>
     </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 name="NavItemType">
     <xs:attribute name="text" type="xs:string" use="required"/>
     <xs:attribute name="view" 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: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>

+ 389 - 3
UILayoutDefinitionFormat/ui-layout-winforms-controls.xsd

@@ -4,7 +4,7 @@
            xmlns:tns="ui-layout-winforms-controls"
            xmlns:basic="ui-layout-basic-controls"
            elementFormDefault="qualified"
-           version="1.2">
+           version="1.3">
 
   <!-- Import basic controls -->
   <xs:import namespace="ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
@@ -12,9 +12,26 @@
   <!-- WinForms Control Instance Type -->
   <xs:complexType name="WinFormsControlInstanceType" mixed="true">
     <xs:group ref="tns:WinFormsControlContentGroup" minOccurs="0" maxOccurs="unbounded"/>
+    <!-- ENHANCEMENT: v1.3 WinForms-specific attributes -->
+    <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
+    <xs:attribute name="net-framework-version" type="xs:string" default="4.8"/>
+    <xs:attribute name="net-version" type="xs:string" default="6.0"/>
+    <xs:attribute name="visual-styles" type="xs:boolean" default="true"/>
+    <xs:attribute name="dpi-awareness" type="tns:DpiAwarenessEnum" default="system"/>
+    <xs:attribute name="theme-support" type="xs:boolean" default="false"/>
     <xs:anyAttribute processContents="lax"/>
   </xs:complexType>
 
+  <!-- ENHANCEMENT: DPI Awareness Enumeration -->
+  <xs:simpleType name="DpiAwarenessEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="unaware"/>
+      <xs:enumeration value="system"/>
+      <xs:enumeration value="per-monitor"/>
+      <xs:enumeration value="per-monitor-v2"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- WinForms Control Content Group -->
   <xs:group name="WinFormsControlContentGroup">
     <xs:choice>
@@ -58,6 +75,23 @@
       <xs:element name="LinkLabel" type="tns:WinFormsControlInstanceType"/>
       <xs:element name="TabPage" type="tns:WinFormsControlInstanceType"/>
       
+      <!-- ENHANCEMENT: v1.3 new WinForms controls -->
+      <xs:element name="PropertyGrid" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="ImageList" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="BindingSource" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="BindingNavigator" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="WebView2" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="Chart" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="CrystalReportViewer" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="PrintDocument" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="PageSetupDialog" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="PrintPreviewControl" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="DomainUpDown" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="Splitter" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="Form" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="MDIForm" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="UserControl" type="tns:WinFormsControlInstanceType"/>
+      
       <!-- WinForms ToolStrip Items -->
       <xs:element name="ToolStripMenuItem" type="tns:WinFormsControlInstanceType"/>
       <xs:element name="ToolStripButton" type="tns:WinFormsControlInstanceType"/>
@@ -70,13 +104,275 @@
       <xs:element name="ToolStripDropDownButton" type="tns:WinFormsControlInstanceType"/>
       <xs:element name="ToolStripSplitButton" type="tns:WinFormsControlInstanceType"/>
       
+      <!-- ENHANCEMENT: v1.3 new ToolStrip items -->
+      <xs:element name="ToolStripControlHost" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="ToolStripSpring" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="ToolStripContainer" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="ToolStripPanel" type="tns:WinFormsControlInstanceType"/>
+      <xs:element name="ToolStripContentPanel" type="tns:WinFormsControlInstanceType"/>
+      
       <!-- WinForms-specific supporting elements -->
       <xs:element name="tabpages" type="tns:TabPagesType"/>
       <xs:element name="panels" type="tns:PanelsType"/>
       <xs:element name="table-layout" type="tns:TableLayoutType"/>
+      
+      <!-- ENHANCEMENT: v1.3 new supporting elements -->
+      <xs:element name="data-binding" type="tns:WinFormsDataBindingType"/>
+      <xs:element name="validation" type="tns:WinFormsValidationType"/>
+      <xs:element name="localization" type="tns:WinFormsLocalizationType"/>
+      <xs:element name="accessibility" type="tns:WinFormsAccessibilityType"/>
+      <xs:element name="printing" type="tns:PrintingType"/>
+      <xs:element name="help-system" type="tns:HelpSystemType"/>
     </xs:choice>
   </xs:group>
 
+  <!-- ENHANCEMENT: WinForms Data Binding Type -->
+  <xs:complexType name="WinFormsDataBindingType">
+    <xs:sequence>
+      <xs:element name="binding" type="tns:WinFormsBindingType" maxOccurs="unbounded"/>
+      <xs:element name="binding-source" type="tns:BindingSourceType" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="WinFormsBindingType">
+    <xs:attribute name="property-name" type="xs:string" use="required"/>
+    <xs:attribute name="data-source" type="xs:string" use="required"/>
+    <xs:attribute name="data-member" type="xs:string"/>
+    <xs:attribute name="format-string" type="xs:string"/>
+    <xs:attribute name="null-value" type="xs:string"/>
+    <xs:attribute name="data-source-update-mode" type="tns:DataSourceUpdateModeEnum" default="OnValidation"/>
+    <xs:attribute name="control-update-mode" type="tns:ControlUpdateModeEnum" default="OnPropertyChanged"/>
+  </xs:complexType>
+
+  <xs:complexType name="BindingSourceType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="data-source" type="xs:string"/>
+    <xs:attribute name="data-member" type="xs:string"/>
+    <xs:attribute name="allow-new" type="xs:boolean" default="true"/>
+    <xs:attribute name="sort" type="xs:string"/>
+    <xs:attribute name="filter" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="DataSourceUpdateModeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="OnValidation"/>
+      <xs:enumeration value="OnPropertyChanged"/>
+      <xs:enumeration value="Never"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ControlUpdateModeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="OnPropertyChanged"/>
+      <xs:enumeration value="Never"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: WinForms Validation Type -->
+  <xs:complexType name="WinFormsValidationType">
+    <xs:sequence>
+      <xs:element name="error-provider" type="tns:ErrorProviderType" maxOccurs="unbounded"/>
+      <xs:element name="validation-rule" type="tns:ValidationRuleType" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="ErrorProviderType">
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="control" type="xs:string" use="required"/>
+    <xs:attribute name="error-message" type="xs:string" use="required"/>
+    <xs:attribute name="icon-alignment" type="tns:ErrorIconAlignmentEnum" default="MiddleRight"/>
+    <xs:attribute name="icon-padding" type="xs:int" default="0"/>
+    <xs:attribute name="blink-style" type="tns:ErrorBlinkStyleEnum" default="BlinkIfDifferentError"/>
+    <xs:attribute name="blink-rate" type="xs:int" default="250"/>
+  </xs:complexType>
+
+  <xs:complexType name="ValidationRuleType">
+    <xs:attribute name="control" type="xs:string" use="required"/>
+    <xs:attribute name="validation-type" type="tns:ValidationTypeEnum" use="required"/>
+    <xs:attribute name="pattern" type="xs:string"/>
+    <xs:attribute name="min-value" type="xs:string"/>
+    <xs:attribute name="max-value" type="xs:string"/>
+    <xs:attribute name="required" type="xs:boolean" default="false"/>
+    <xs:attribute name="error-message" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="ErrorIconAlignmentEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="TopLeft"/>
+      <xs:enumeration value="TopRight"/>
+      <xs:enumeration value="MiddleLeft"/>
+      <xs:enumeration value="MiddleRight"/>
+      <xs:enumeration value="BottomLeft"/>
+      <xs:enumeration value="BottomRight"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ErrorBlinkStyleEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="BlinkIfDifferentError"/>
+      <xs:enumeration value="AlwaysBlink"/>
+      <xs:enumeration value="NeverBlink"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="ValidationTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Required"/>
+      <xs:enumeration value="RegularExpression"/>
+      <xs:enumeration value="Range"/>
+      <xs:enumeration value="StringLength"/>
+      <xs:enumeration value="Email"/>
+      <xs:enumeration value="Phone"/>
+      <xs:enumeration value="Url"/>
+      <xs:enumeration value="CreditCard"/>
+      <xs:enumeration value="Custom"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: WinForms Localization Type -->
+  <xs:complexType name="WinFormsLocalizationType">
+    <xs:sequence>
+      <xs:element name="localizable-property" type="tns:LocalizablePropertyType" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="culture" type="xs:string" default="en-US"/>
+    <xs:attribute name="right-to-left" type="tns:RightToLeftEnum" default="No"/>
+  </xs:complexType>
+
+  <xs:complexType name="LocalizablePropertyType">
+    <xs:attribute name="control" type="xs:string" use="required"/>
+    <xs:attribute name="property" type="xs:string" use="required"/>
+    <xs:attribute name="resource-key" type="xs:string" use="required"/>
+    <xs:attribute name="resource-file" type="xs:string"/>
+  </xs:complexType>
+
+  <xs:simpleType name="RightToLeftEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="No"/>
+      <xs:enumeration value="Yes"/>
+      <xs:enumeration value="Inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: WinForms Accessibility Type -->
+  <xs:complexType name="WinFormsAccessibilityType">
+    <xs:sequence>
+      <xs:element name="accessibility-info" type="tns:AccessibilityInfoType" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="AccessibilityInfoType">
+    <xs:attribute name="control" type="xs:string" use="required"/>
+    <xs:attribute name="accessible-name" type="xs:string"/>
+    <xs:attribute name="accessible-description" type="xs:string"/>
+    <xs:attribute name="accessible-role" type="tns:AccessibleRoleEnum" default="Default"/>
+    <xs:attribute name="accessible-default-action-description" type="xs:string"/>
+    <xs:attribute name="tab-index" type="xs:int"/>
+    <xs:attribute name="tab-stop" type="xs:boolean" default="true"/>
+  </xs:complexType>
+
+  <xs:simpleType name="AccessibleRoleEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Default"/>
+      <xs:enumeration value="None"/>
+      <xs:enumeration value="Button"/>
+      <xs:enumeration value="CheckBox"/>
+      <xs:enumeration value="ComboBox"/>
+      <xs:enumeration value="Link"/>
+      <xs:enumeration value="List"/>
+      <xs:enumeration value="ListItem"/>
+      <xs:enumeration value="MenuBar"/>
+      <xs:enumeration value="MenuItem"/>
+      <xs:enumeration value="MenuPopup"/>
+      <xs:enumeration value="ProgressBar"/>
+      <xs:enumeration value="RadioButton"/>
+      <xs:enumeration value="ScrollBar"/>
+      <xs:enumeration value="Slider"/>
+      <xs:enumeration value="StaticText"/>
+      <xs:enumeration value="Text"/>
+      <xs:enumeration value="ToolBar"/>
+      <xs:enumeration value="ToolTip"/>
+      <xs:enumeration value="Tree"/>
+      <xs:enumeration value="TreeItem"/>
+      <xs:enumeration value="Window"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Printing Type -->
+  <xs:complexType name="PrintingType">
+    <xs:sequence>
+      <xs:element name="print-document" type="tns:PrintDocumentType" minOccurs="0"/>
+      <xs:element name="print-preview" type="tns:PrintPreviewType" minOccurs="0"/>
+      <xs:element name="page-setup" type="tns:PageSetupType" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="PrintDocumentType">
+    <xs:attribute name="document-name" type="xs:string" default="Document"/>
+    <xs:attribute name="default-page-settings" type="xs:string"/>
+    <xs:attribute name="printer-settings" type="xs:string"/>
+    <xs:attribute name="origin-at-margins" type="xs:boolean" default="false"/>
+  </xs:complexType>
+
+  <xs:complexType name="PrintPreviewType">
+    <xs:attribute name="auto-zoom" type="xs:boolean" default="true"/>
+    <xs:attribute name="zoom" type="xs:decimal" default="0.3"/>
+    <xs:attribute name="columns" type="xs:int" default="1" min="1" max="10"/>
+    <xs:attribute name="rows" type="xs:int" default="1" min="1" max="10"/>
+    <xs:attribute name="start-page" type="xs:int" default="0"/>
+  </xs:complexType>
+
+  <xs:complexType name="PageSetupType">
+    <xs:attribute name="margins" type="xs:string" default="100,100,100,100"/>
+    <xs:attribute name="paper-size" type="tns:PaperSizeEnum" default="Letter"/>
+    <xs:attribute name="landscape" type="xs:boolean" default="false"/>
+    <xs:attribute name="color" type="xs:boolean" default="false"/>
+  </xs:complexType>
+
+  <xs:simpleType name="PaperSizeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Letter"/>
+      <xs:enumeration value="Legal"/>
+      <xs:enumeration value="A4"/>
+      <xs:enumeration value="A3"/>
+      <xs:enumeration value="A5"/>
+      <xs:enumeration value="Tabloid"/>
+      <xs:enumeration value="Custom"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- ENHANCEMENT: Help System Type -->
+  <xs:complexType name="HelpSystemType">
+    <xs:sequence>
+      <xs:element name="help-provider" type="tns:HelpProviderType" minOccurs="0"/>
+      <xs:element name="context-help" type="tns:ContextHelpType" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="HelpProviderType">
+    <xs:attribute name="help-namespace" type="xs:string"/>
+    <xs:attribute name="help-navigator" type="tns:HelpNavigatorEnum" default="Topic"/>
+  </xs:complexType>
+
+  <xs:complexType name="ContextHelpType">
+    <xs:attribute name="control" type="xs:string" use="required"/>
+    <xs:attribute name="help-string" type="xs:string"/>
+    <xs:attribute name="help-keyword" type="xs:string"/>
+    <xs:attribute name="help-navigator" type="tns:HelpNavigatorEnum" default="Topic"/>
+    <xs:attribute name="show-help" type="xs:boolean" default="true"/>
+  </xs:complexType>
+
+  <xs:simpleType name="HelpNavigatorEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Topic"/>
+      <xs:enumeration value="TableOfContents"/>
+      <xs:enumeration value="Index"/>
+      <xs:enumeration value="Find"/>
+      <xs:enumeration value="AssociateIndex"/>
+      <xs:enumeration value="KeywordIndex"/>
+      <xs:enumeration value="TopicId"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- WinForms-specific supporting types -->
   <xs:complexType name="TabPagesType">
     <xs:sequence>
@@ -86,6 +382,14 @@
           <xs:attribute name="text" type="xs:string" use="required"/>
           <xs:attribute name="tooltip" type="xs:string"/>
           <xs:attribute name="imageindex" type="xs:int" default="-1"/>
+          <!-- ENHANCEMENT: v1.3 additions -->
+          <xs:attribute name="image-key" type="xs:string"/>
+          <xs:attribute name="use-visual-style-back-color" type="xs:boolean" default="false"/>
+          <xs:attribute name="back-color" type="xs:string"/>
+          <xs:attribute name="fore-color" type="xs:string"/>
+          <xs:attribute name="font" type="xs:string"/>
+          <xs:attribute name="padding" type="xs:string" default="3,3,3,3"/>
+          <xs:attribute name="auto-scroll" type="xs:boolean" default="false"/>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
@@ -96,25 +400,64 @@
       <xs:element name="panel" maxOccurs="2">
         <xs:complexType>
           <xs:attribute name="name" type="xs:string" use="required"/>
+          <!-- ENHANCEMENT: v1.3 additions -->
+          <xs:attribute name="fixed-panel" type="tns:FixedPanelEnum" default="None"/>
+          <xs:attribute name="splitter-distance" type="xs:int"/>
+          <xs:attribute name="min-size" type="xs:int" default="25"/>
+          <xs:attribute name="collapsed" type="xs:boolean" default="false"/>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
   </xs:complexType>
 
+  <xs:simpleType name="FixedPanelEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="None"/>
+      <xs:enumeration value="Panel1"/>
+      <xs:enumeration value="Panel2"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <xs:complexType name="TableLayoutType">
     <xs:sequence>
       <xs:element name="columns" type="tns:TableColumnsType"/>
       <xs:element name="rows" type="tns:TableRowsType"/>
       <xs:element name="cells" type="tns:CellsType"/>
     </xs:sequence>
+    <!-- ENHANCEMENT: v1.3 additions -->
+    <xs:attribute name="grow-style" type="tns:TableLayoutPanelGrowStyleEnum" default="AddRows"/>
+    <xs:attribute name="cell-border-style" type="tns:TableLayoutPanelCellBorderStyleEnum" default="None"/>
   </xs:complexType>
 
+  <xs:simpleType name="TableLayoutPanelGrowStyleEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="FixedSize"/>
+      <xs:enumeration value="AddRows"/>
+      <xs:enumeration value="AddColumns"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="TableLayoutPanelCellBorderStyleEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="None"/>
+      <xs:enumeration value="Single"/>
+      <xs:enumeration value="Inset"/>
+      <xs:enumeration value="InsetDouble"/>
+      <xs:enumeration value="Outset"/>
+      <xs:enumeration value="OutsetDouble"/>
+      <xs:enumeration value="OutsetPartial"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <xs:complexType name="TableColumnsType">
     <xs:sequence>
       <xs:element name="column" maxOccurs="unbounded">
         <xs:complexType>
-          <xs:attribute name="sizetype" type="xs:string" use="required"/>
+          <xs:attribute name="sizetype" type="tns:SizeTypeEnum" use="required"/>
           <xs:attribute name="size" type="xs:string" use="required"/>
+          <!-- ENHANCEMENT: v1.3 additions -->
+          <xs:attribute name="min-size" type="xs:int" default="5"/>
+          <xs:attribute name="max-size" type="xs:int" default="0"/>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
@@ -124,13 +467,24 @@
     <xs:sequence>
       <xs:element name="row" maxOccurs="unbounded">
         <xs:complexType>
-          <xs:attribute name="sizetype" type="xs:string" use="required"/>
+          <xs:attribute name="sizetype" type="tns:SizeTypeEnum" use="required"/>
           <xs:attribute name="size" type="xs:string" use="required"/>
+          <!-- ENHANCEMENT: v1.3 additions -->
+          <xs:attribute name="min-size" type="xs:int" default="5"/>
+          <xs:attribute name="max-size" type="xs:int" default="0"/>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
   </xs:complexType>
 
+  <xs:simpleType name="SizeTypeEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="AutoSize"/>
+      <xs:enumeration value="Absolute"/>
+      <xs:enumeration value="Percent"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <xs:complexType name="CellsType">
     <xs:sequence>
       <xs:element name="cell" maxOccurs="unbounded">
@@ -139,9 +493,41 @@
           <xs:attribute name="row" type="xs:int" use="required"/>
           <xs:attribute name="columnspan" type="xs:int" default="1"/>
           <xs:attribute name="rowspan" type="xs:int" default="1"/>
+          <!-- ENHANCEMENT: v1.3 additions -->
+          <xs:attribute name="anchor" type="tns:AnchorStylesEnum" default="Top,Left"/>
+          <xs:attribute name="dock" type="tns:DockStyleEnum" default="None"/>
+          <xs:attribute name="margin" type="xs:string" default="3,3,3,3"/>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
   </xs:complexType>
 
+  <xs:simpleType name="AnchorStylesEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Top"/>
+      <xs:enumeration value="Bottom"/>
+      <xs:enumeration value="Left"/>
+      <xs:enumeration value="Right"/>
+      <xs:enumeration value="Top,Left"/>
+      <xs:enumeration value="Top,Right"/>
+      <xs:enumeration value="Bottom,Left"/>
+      <xs:enumeration value="Bottom,Right"/>
+      <xs:enumeration value="Top,Bottom"/>
+      <xs:enumeration value="Left,Right"/>
+      <xs:enumeration value="Top,Bottom,Left,Right"/>
+      <xs:enumeration value="None"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="DockStyleEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="None"/>
+      <xs:enumeration value="Top"/>
+      <xs:enumeration value="Bottom"/>
+      <xs:enumeration value="Left"/>
+      <xs:enumeration value="Right"/>
+      <xs:enumeration value="Fill"/>
+    </xs:restriction>
+  </xs:simpleType>
+
 </xs:schema>