Added xsd support
This commit is contained in:
74
software-rules.xsd.txt
Normal file
74
software-rules.xsd.txt
Normal file
@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://example.com/software-rules"
|
||||
xmlns:tns="http://example.com/software-rules"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<!-- Root element -->
|
||||
<xs:element name="SoftwareRules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Rule" type="tns:RuleType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="version" type="xs:string" use="required"/>
|
||||
<xs:attribute name="lastUpdated" type="xs:date" use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<!-- Complex type for Rule -->
|
||||
<xs:complexType name="RuleType">
|
||||
<xs:sequence>
|
||||
<xs:element name="ruleId" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="ruleName" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="category" type="tns:CategoryType" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="priority" type="tns:PriorityType" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="status" type="tns:StatusType" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="condition" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="action" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="errorMessage" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="appliesTo" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="createdBy" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="createdDate" type="xs:date" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="modifiedBy" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="modifiedDate" type="xs:date" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="tags" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="riskLevel" type="xs:integer" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="automationEnabled" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="enabled" type="xs:boolean" default="true"/>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Enumeration for Category -->
|
||||
<xs:simpleType name="CategoryType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Security"/>
|
||||
<xs:enumeration value="Performance"/>
|
||||
<xs:enumeration value="DataValidation"/>
|
||||
<xs:enumeration value="BusinessLogic"/>
|
||||
<xs:enumeration value="Compliance"/>
|
||||
<xs:enumeration value="UserAccess"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Enumeration for Priority -->
|
||||
<xs:simpleType name="PriorityType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Critical"/>
|
||||
<xs:enumeration value="High"/>
|
||||
<xs:enumeration value="Medium"/>
|
||||
<xs:enumeration value="Low"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Enumeration for Status -->
|
||||
<xs:simpleType name="StatusType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Active"/>
|
||||
<xs:enumeration value="Inactive"/>
|
||||
<xs:enumeration value="Testing"/>
|
||||
<xs:enumeration value="Deprecated"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
Reference in New Issue
Block a user