feat: implement project-level XSD registration and refactor base package
- Schema Validation (XSD): - Added new configuration UI for DynamicForm Tools to manage XSD schemas. - Implemented DynFormXsdScanner to automatically map local .xsd files to the ExternalResourceManager using a custom URI prefix. - Ensured XSD registration is properly scoped at the Project-level (rather than Application-level) using write-actions to comply with IDE threading policies. - Architecture & Refactoring: - Renamed base package from com.sdk.dynformTools to com.sdk.dynform across the entire project for structural consistency. - Converted Application-level settings/configurables to Project-level services. - Extracted and restored complex I18n folding and inlay hint logic that was previously overwritten, adapting it to use the new Project-level settings. - UI & Metadata: - Bumped plugin version to 3.2.0. - Rebranded settings page to "DynamicForm Tools". - Organized settings into logical "Internationalization" and "Schema Validation" groups.
This commit is contained in:
127
DevResources/xsd/ajax.xsd
Executable file
127
DevResources/xsd/ajax.xsd
Executable file
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema attributeFormDefault="unqualified"
|
||||
elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="DATASETS" type="DATASETSType"/>
|
||||
<xs:complexType name="DATASETSType">
|
||||
<xs:sequence>
|
||||
<xs:element type="DATASETType" name="DATASET" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="FieldDataType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AUTO"/>
|
||||
<xs:enumeration value="NUMBER"/>
|
||||
<xs:enumeration value="NUMERIC"/>
|
||||
<xs:enumeration value="VARCHAR"/>
|
||||
<xs:enumeration value="VARCHAR2"/>
|
||||
<xs:enumeration value="TEXT"/>
|
||||
<xs:enumeration value="DATE"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="FieldKind">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="VIEW"/>
|
||||
<xs:enumeration value="DATA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="YesNo">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Y"/>
|
||||
<xs:enumeration value="N"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="AlignmentType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="left"/>
|
||||
<xs:enumeration value="center"/>
|
||||
<xs:enumeration value="right"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="SQLType">
|
||||
<xs:all>
|
||||
<xs:element type="xs:string" name="SELECT"/>
|
||||
<xs:element type="xs:string" name="FROM"/>
|
||||
<xs:element type="xs:string" name="WHERE" minOccurs="0"/>
|
||||
<xs:element type="xs:string" name="FILTER" minOccurs="0"/>
|
||||
<xs:element type="xs:string" name="GROUP" minOccurs="0"/>
|
||||
<xs:element type="xs:string" name="HAVING" minOccurs="0"/>
|
||||
<xs:element type="xs:string" name="ORDER" minOccurs="0"/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- <xs:complexType name="SQLType">-->
|
||||
<!-- <xs:sequence>-->
|
||||
<!-- <xs:element type="xs:string" name="SELECT"/>-->
|
||||
<!-- <xs:element type="xs:string" name="FROM"/>-->
|
||||
<!-- <xs:element type="xs:string" name="WHERE"/>-->
|
||||
<!-- <xs:element type="xs:string" name="GROUP"/>-->
|
||||
<!-- <xs:element type="xs:string" name="ORDER"/>-->
|
||||
<!-- </xs:sequence>-->
|
||||
<!-- </xs:complexType>-->
|
||||
|
||||
<xs:complexType name="SUBDATASETType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string" name="NAME"/>
|
||||
<xs:attribute type="xs:string" name="DATASET-ID"/>
|
||||
<xs:attribute type="xs:string" name="MASTER-FIELDS"/>
|
||||
<xs:attribute type="xs:string" name="DETAIL-FIELDS"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="FIELD-GROUPType">
|
||||
<xs:sequence>
|
||||
<xs:element type="FIELDType" name="FIELD" maxOccurs="unbounded" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="SUBDATASETSType">
|
||||
<xs:sequence>
|
||||
<xs:element type="SUBDATASETType" name="SUBDATASET" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="FIELDType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string" name="NAME" use="optional"/>
|
||||
<xs:attribute type="xs:string" name="LABEL" use="optional"/>
|
||||
<xs:attribute type="xs:string" name="CAPTION" use="optional"/>
|
||||
<xs:attribute type="FieldDataType" name="TYPE" use="optional"/>
|
||||
<xs:attribute type="xs:string" name="SORT" use="optional"/>
|
||||
<xs:attribute type="FieldKind" name="KIND" use="optional"/>
|
||||
<xs:attribute type="YesNo" name="WARP" use="optional"/>
|
||||
<xs:attribute type="xs:string" name="WIDTH" use="optional"/>
|
||||
<xs:attribute type="AlignmentType" name="ALIGN" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="FIELDSType">
|
||||
<xs:sequence>
|
||||
<xs:element type="FIELDType" name="FIELD" maxOccurs="unbounded" minOccurs="0"/>
|
||||
<xs:element type="FIELD-GROUPType" name="DATA-FIELDS" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element type="FIELD-GROUPType" name="VIEW-FIELDS" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="DATASETType">
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="SCHEMA"/>
|
||||
<xs:element type="xs:string" name="TABLEDESC" minOccurs="0"/>
|
||||
<xs:element type="xs:integer" name="MAXROWS" minOccurs="0"/>
|
||||
<xs:element type="SQLType" name="SQL"/>
|
||||
<xs:element type="FIELDSType" name="FIELDS" minOccurs="0"/>
|
||||
<xs:element type="SUBDATASETSType" name="SUBDATASETS" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="ID" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
Reference in New Issue
Block a user