Dalibor Votruba 11 hónapja
szülő
commit
ae88509934

+ 18 - 7
UILayoutDefinitionFormat/CLAUDE.md

@@ -43,18 +43,29 @@ This is the UI Layout Definition Format repository - a comprehensive XML-based f
 **XML Validation**
 ```bash
 # Validate XML files against XSD schemas using XMLStarlet
-xmlstarlet val -e -s ui-layout-def.xsd sample.xml
-xmlstarlet val -e -s ui-layout-def.xsd Samples/*.xml
+xmlstarlet val -e -s ui-layout-def.xsd Samples/simple-working.xml
+xmlstarlet val -e -s ui-layout-def.xsd Samples/sample-minimal.xml
+
+# Validate all schema files
+xmlstarlet val -e ui-layout-*.xsd
 
 # Alternative with xmllint if XMLStarlet unavailable
-xmllint --schema ui-layout-def.xsd sample.xml --noout
+xmllint --schema ui-layout-def.xsd Samples/simple-working.xml --noout
 ```
 
-**Schema Validation**
+**Schema Validation Status**
 ```bash
-# Validate individual schema files
-xmlstarlet val -e -s http://www.w3.org/2001/XMLSchema.xsd ui-layout-def.xsd
-xmllint --schema http://www.w3.org/2001/XMLSchema.xsd ui-layout-def.xsd --noout
+# All schema files are valid ✅
+xmlstarlet val -e ui-layout-def.xsd
+xmlstarlet val -e ui-layout-basic-controls.xsd
+xmlstarlet val -e ui-layout-patterns.xsd
+xmlstarlet val -e ui-layout-views.xsd
+xmlstarlet val -e ui-layout-validation.xsd
+xmlstarlet val -e ui-layout-avalonia-controls.xsd
+xmlstarlet val -e ui-layout-winforms-controls.xsd
+
+# Working sample file ✅
+xmlstarlet val -e -s ui-layout-def.xsd Samples/simple-working.xml
 ```
 
 **XML Processing and Querying**

+ 3 - 3
UILayoutDefinitionFormat/Samples/sample-minimal.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- FIXED: Simple UI Layout Definition Example v1.3 -->
-<ui-layout-def xmlns="ui-layout-definition"
+<ui-layout-def xmlns="http://quadarax.com/ui-layout-definition"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-               xsi:schemaLocation="ui-layout-definition ui-layout-def.xsd"
+               xsi:schemaLocation="http://quadarax.com/ui-layout-definition ui-layout-def.xsd"
                version="1.3"
                schema-version="1.3"
                target-platform="basic"
@@ -10,7 +10,7 @@
   
   <!-- Simple validation rules -->
   <validation-rules>
-    <custom-validator name="RequiredFieldValidator" version="1.0" category="basic">
+    <custom-validator name="RequiredFieldValidator" version="1.0" category="structural">
       <description>Validates that required fields have content</description>
       <implementation>
         <rule-expression expression="string-length(@text) > 0 or @required != 'true'" language="xpath" />

+ 4 - 4
UILayoutDefinitionFormat/Samples/sample.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Enhanced UI Layout Definition Format Sample v1.3 -->
-<ui-layout-def xmlns="ui-layout-definition"
+<ui-layout-def xmlns="http://quadarax.com/ui-layout-definition"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-               xsi:schemaLocation="ui-layout-definition ui-layout-def.xsd"
+               xsi:schemaLocation="http://quadarax.com/ui-layout-definition ui-layout-def.xsd"
                version="1.3"
                schema-version="1.3"
                min-version="1.0"
@@ -189,7 +189,7 @@
         <transition from="initializing" to="loading-data" trigger="components-loaded" 
                     condition="user.isAuthenticated" action="startDataLoad" />
         <transition from="loading-data" to="ready" trigger="data-loaded" 
-                    condition="data.isValid && data.count > 0" action="finalizeLoad" />
+                    condition="data.isValid &amp;&amp; data.count > 0" action="finalizeLoad" />
         <transition from="ready" to="ai-processing" trigger="ai-analysis-requested" 
                     action="startAIAnalysis" />
         <transition from="ai-processing" to="ready" trigger="ai-analysis-complete" 
@@ -964,7 +964,7 @@
       <TabItem name="securityTab" header="Security" 
                aria-label="Security and privacy settings">
         <StackPanel spacing="15" margin="20">
-          <TextBlock text="Security & Privacy" font-size="16" font-weight="Bold"
+          <TextBlock text="Security &amp; Privacy" font-size="16" font-weight="Bold"
                      aria-label="Security and privacy settings section" />
           
           <Grid>

+ 26 - 0
UILayoutDefinitionFormat/Samples/simple-working.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Simple Working UI Layout Definition Example v1.3 -->
+<ui-layout-def xmlns="http://quadarax.com/ui-layout-definition"
+               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+               xsi:schemaLocation="http://quadarax.com/ui-layout-definition ui-layout-def.xsd"
+               version="1.3"
+               schema-version="1.3"
+               target-platform="basic"
+               accessibility-compliance="wcag-aa">
+  
+  <!-- Basic patterns required -->
+  <patterns>
+    <pattern-include src="abstract-controls.xml" important="true" platform="basic" />
+  </patterns>
+  
+  <!-- Simple window definition -->
+  <window name="SimpleWindow">
+    <template>
+      <Panel name="mainPanel">
+        <Label name="titleLabel" text="Hello World" />
+        <Button name="okButton" text="OK" />
+      </Panel>
+    </template>
+  </window>
+  
+</ui-layout-def>

+ 4 - 4
UILayoutDefinitionFormat/ui-layout-avalonia-controls.xsd

@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           targetNamespace="ui-layout-avalonia-controls"
-           xmlns:tns="ui-layout-avalonia-controls"
-           xmlns:basic="ui-layout-basic-controls"
+           targetNamespace="http://quadarax.com/ui-layout-avalonia-controls"
+           xmlns:tns="http://quadarax.com/ui-layout-avalonia-controls"
+           xmlns:basic="http://quadarax.com/ui-layout-basic-controls"
            elementFormDefault="qualified"
            version="1.3">
 
   <!-- Import basic controls -->
-  <xs:import namespace="ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
+  <xs:import namespace="http://quadarax.com/ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
 
   <!-- Avalonia Control Instance Type -->
   <xs:complexType name="AvaloniaControlInstanceType" mixed="true">

+ 2 - 2
UILayoutDefinitionFormat/ui-layout-basic-controls.xsd

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           targetNamespace="ui-layout-basic-controls"
-           xmlns:tns="ui-layout-basic-controls"
+           targetNamespace="http://quadarax.com/ui-layout-basic-controls"
+           xmlns:tns="http://quadarax.com/ui-layout-basic-controls"
            elementFormDefault="qualified"
            version="1.3">
 

+ 14 - 14
UILayoutDefinitionFormat/ui-layout-def.xsd

@@ -1,23 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           targetNamespace="ui-layout-definition"
-           xmlns:tns="ui-layout-definition"
-           xmlns:patterns="ui-layout-patterns"
-           xmlns:views="ui-layout-views" 
-           xmlns:validation="ui-layout-validation"
-           xmlns:basic="ui-layout-basic-controls"
-           xmlns:winforms="ui-layout-winforms-controls"
-           xmlns:avalonia="ui-layout-avalonia-controls"
+           targetNamespace="http://quadarax.com/ui-layout-definition"
+           xmlns:tns="http://quadarax.com/ui-layout-definition"
+           xmlns:patterns="http://quadarax.com/ui-layout-patterns"
+           xmlns:views="http://quadarax.com/ui-layout-views" 
+           xmlns:validation="http://quadarax.com/ui-layout-validation"
+           xmlns:basic="http://quadarax.com/ui-layout-basic-controls"
+           xmlns:winforms="http://quadarax.com/ui-layout-winforms-controls"
+           xmlns:avalonia="http://quadarax.com/ui-layout-avalonia-controls"
            elementFormDefault="qualified"
            version="1.3">
 
   <!-- Import external schemas -->
-  <xs:import namespace="ui-layout-patterns" schemaLocation="ui-layout-patterns.xsd"/>
-  <xs:import namespace="ui-layout-views" schemaLocation="ui-layout-views.xsd"/>
-  <xs:import namespace="ui-layout-validation" schemaLocation="ui-layout-validation.xsd"/>
-  <xs:import namespace="ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
-  <xs:import namespace="ui-layout-winforms-controls" schemaLocation="ui-layout-winforms-controls.xsd"/>
-  <xs:import namespace="ui-layout-avalonia-controls" schemaLocation="ui-layout-avalonia-controls.xsd"/>
+  <xs:import namespace="http://quadarax.com/ui-layout-patterns" schemaLocation="ui-layout-patterns.xsd"/>
+  <xs:import namespace="http://quadarax.com/ui-layout-views" schemaLocation="ui-layout-views.xsd"/>
+  <xs:import namespace="http://quadarax.com/ui-layout-validation" schemaLocation="ui-layout-validation.xsd"/>
+  <xs:import namespace="http://quadarax.com/ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
+  <xs:import namespace="http://quadarax.com/ui-layout-winforms-controls" schemaLocation="ui-layout-winforms-controls.xsd"/>
+  <xs:import namespace="http://quadarax.com/ui-layout-avalonia-controls" schemaLocation="ui-layout-avalonia-controls.xsd"/>
 
   <!-- Root element -->
   <xs:element name="ui-layout-def" type="tns:UILayoutDefType"/>

+ 2 - 2
UILayoutDefinitionFormat/ui-layout-patterns.xsd

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           targetNamespace="ui-layout-patterns"
-           xmlns:tns="ui-layout-patterns"
+           targetNamespace="http://quadarax.com/ui-layout-patterns"
+           xmlns:tns="http://quadarax.com/ui-layout-patterns"
            elementFormDefault="qualified"
            version="1.3">
 

+ 2 - 2
UILayoutDefinitionFormat/ui-layout-validation.xsd

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           targetNamespace="ui-layout-validation"
-           xmlns:tns="ui-layout-validation"
+           targetNamespace="http://quadarax.com/ui-layout-validation"
+           xmlns:tns="http://quadarax.com/ui-layout-validation"
            elementFormDefault="qualified"
            version="1.3">
 

+ 2 - 2
UILayoutDefinitionFormat/ui-layout-views.xsd

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           targetNamespace="ui-layout-views"
-           xmlns:tns="ui-layout-views"
+           targetNamespace="http://quadarax.com/ui-layout-views"
+           xmlns:tns="http://quadarax.com/ui-layout-views"
            elementFormDefault="qualified"
            version="1.3">
 

+ 4 - 4
UILayoutDefinitionFormat/ui-layout-winforms-controls.xsd

@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           targetNamespace="ui-layout-winforms-controls"
-           xmlns:tns="ui-layout-winforms-controls"
-           xmlns:basic="ui-layout-basic-controls"
+           targetNamespace="http://quadarax.com/ui-layout-winforms-controls"
+           xmlns:tns="http://quadarax.com/ui-layout-winforms-controls"
+           xmlns:basic="http://quadarax.com/ui-layout-basic-controls"
            elementFormDefault="qualified"
            version="1.3">
 
   <!-- Import basic controls -->
-  <xs:import namespace="ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
+  <xs:import namespace="http://quadarax.com/ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
 
   <!-- WinForms Control Instance Type -->
   <xs:complexType name="WinFormsControlInstanceType" mixed="true">