PeterCJ 8435308b02 Add XSD-based validation for the various XML files
And fix the themes and javascript.js functionlist that don’t match XSD.

Fix #16618, close #16619
2025-06-04 19:42:01 +02:00

58 lines
2.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="InternalCommands"/>
<xs:element name="Macros">
<xs:complexType>
<xs:sequence>
<xs:element name="Macro">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Action">
<xs:complexType>
<xs:attribute name="type" type="xs:integer" use="required"/>
<xs:attribute name="message" type="xs:integer" use="required"/>
<xs:attribute name="wParam" type="xs:unsignedShort" use="required"/>
<xs:attribute name="lParam" type="xs:integer" use="required"/>
<xs:attribute name="sParam" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="Ctrl" type="xs:string" use="required"/>
<xs:attribute name="Alt" type="xs:string" use="required"/>
<xs:attribute name="Shift" type="xs:string" use="required"/>
<xs:attribute name="Key" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UserDefinedCommands">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Command">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="Ctrl" type="xs:string" use="required"/>
<xs:attribute name="Alt" type="xs:string" use="required"/>
<xs:attribute name="Shift" type="xs:string" use="required"/>
<xs:attribute name="Key" type="xs:integer" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PluginCommands"/>
<xs:element name="ScintillaKeys"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>