- 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.
118 lines
4.1 KiB
XML
Executable File
118 lines
4.1 KiB
XML
Executable File
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
|
|
<xs:simpleType name="FieldDataType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="NUMBER"/>
|
|
<xs:enumeration value="STRING"/>
|
|
<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:simpleType name="SelectorType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="checkbox"/>
|
|
<xs:enumeration value="radio"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="AdvSearchFlagType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="NO"/>
|
|
<xs:enumeration value="EQ"/>
|
|
<xs:enumeration value="LT"/>
|
|
<xs:enumeration value="GT"/>
|
|
<xs:enumeration value="BT"/>
|
|
<xs:enumeration value="LTE"/>
|
|
<xs:enumeration value="GTE"/>
|
|
<xs:enumeration value="LIKE"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:element name="LOVS" type="LOVSType"/>
|
|
<xs:complexType name="HEADERType">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute type="YesNo" name="NAVI"/>
|
|
<xs:attribute type="YesNo" name="SEARCH"/>
|
|
<xs:attribute type="SelectorType" name="SELECTOR"/>
|
|
</xs:extension>
|
|
</xs:simpleContent> </xs:complexType>
|
|
|
|
<xs:complexType name="LOVType">
|
|
<xs:sequence>
|
|
<xs:element type="HEADERType" name="HEADER"/>
|
|
<xs:element type="xs:string" name="FOOTER"/>
|
|
<xs:element type="xs:string" name="DESCRIPTION"/>
|
|
<xs:element type="xs:string" name="KEYFIELDS"/>
|
|
<xs:element type="xs:string" name="SORTFIELDS"/>
|
|
<xs:element type="xs:string" name="PAGESIZE"/>
|
|
<xs:element type="FIELDSType" name="FIELDS"/>
|
|
<xs:element name="SCRIPT" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType mixed="true">
|
|
<xs:sequence>
|
|
<xs:element type="xs:string" name="DECLARETION" minOccurs="0" maxOccurs="1"/>
|
|
<xs:element type="xs:string" name="INITIALIZE" minOccurs="0" maxOccurs="1"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="ID" use="required"/>
|
|
<xs:attribute type="xs:string" name="DATAID" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="FIELDType">
|
|
<xs:sequence>
|
|
<xs:element type="xs:string" name="HEADER"/>
|
|
<xs:element type="xs:string" name="TEMPLATE" minOccurs="0"/>
|
|
</xs:sequence>
|
|
<xs:attribute type="xs:string" name="NAME" use="required"/>
|
|
<xs:attribute type="xs:string" name="LABEL" use="required"/>
|
|
<xs:attribute type="FieldDataType" name="TYPE" use="optional"/>
|
|
<xs:attribute type="xs:string" name="WIDTH" use="optional"/>
|
|
<xs:attribute type="AlignmentType" name="ALIGN" use="optional"/>
|
|
<xs:attribute type="xs:string" name="FORMAT" use="optional"/>
|
|
<xs:attribute type="YesNo" name="SEARCH" use="optional"/>
|
|
<xs:attribute type="xs:string" name="SEARCH_ORIGIN" use="optional"/>
|
|
<xs:attribute type="AdvSearchFlagType" name="ADV_SEARCH" use="optional"/>
|
|
<xs:attribute type="xs:string" name="ADV_ORIGIN" use="optional"/>
|
|
<xs:attribute type="FieldDataType" name="ADV_TYPE" use="optional"/>
|
|
<xs:attribute type="YesNo" name="SORT" use="optional"/>
|
|
<xs:attribute type="xs:string" name="SORT_ORIGIN" use="optional"/>
|
|
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="FIELDSType">
|
|
<xs:sequence>
|
|
<xs:element type="FIELDType" name="FIELD" maxOccurs="unbounded" minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="LOVSType">
|
|
<xs:sequence>
|
|
<xs:element type="LOVType" name="LOV" maxOccurs="unbounded" minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:schema> |