📄 drools-3.0.xsd
字号:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:drools="http://drools.org/drools-3.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="http://drools.org/drools-3.0">
<xs:element name="package">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="drools:import"/>
<xs:element ref="drools:global"/>
<xs:element ref="drools:function"/>
<xs:element ref="drools:rule"/>
<xs:element ref="drools:query"/>
</xs:choice>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="rule">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="drools:rule-attribute"/>
<xs:element ref="drools:lhs"/>
<xs:element ref="drools:rhs"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- All rules must have unique names -->
<xs:key name="ruleName">
<xs:selector xpath="drools:rule"/>
<xs:field xpath="@name"/>
</xs:key>
</xs:element>
<xs:element name="query">
<xs:complexType>
<xs:sequence>
<xs:element ref="drools:lhs"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<!-- All rules must have unique names -->
<xs:key name="queryName">
<xs:selector xpath="drools:query"/>
<xs:field xpath="@name"/>
</xs:key>
</xs:element>
<xs:element name="rule-attribute">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="import">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="global">
<xs:complexType>
<xs:attribute name="type" type="xs:string" use="required"/>
<xs:attribute name="identifier" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="function">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="drools:parameter"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="return-type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="parameter">
<xs:complexType>
<xs:attribute name="type" type="xs:string" use="required"/>
<xs:attribute name="identifier" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="rhs" type="xs:string"/>
<xs:element name="lhs">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="drools:and"/>
<xs:element ref="drools:or"/>
<xs:element ref="drools:not"/>
<xs:element ref="drools:exists"/>
<xs:element ref="drools:eval"/>
<xs:element ref="drools:column"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="and">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="drools:and"/>
<xs:element ref="drools:or"/>
<xs:element ref="drools:not"/>
<xs:element ref="drools:exists"/>
<xs:element ref="drools:eval"/>
<xs:element ref="drools:column"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="or">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="drools:and"/>
<xs:element ref="drools:or"/>
<xs:element ref="drools:not"/>
<xs:element ref="drools:exists"/>
<xs:element ref="drools:eval"/>
<xs:element ref="drools:column"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="not">
<xs:complexType>
<xs:sequence>
<xs:element ref="drools:column"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="exists">
<xs:complexType>
<xs:sequence>
<xs:element ref="drools:column"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="eval" type="xs:string" />
<xs:element name="column">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="drools:field-binding"/>
<xs:element ref="drools:literal"/>
<xs:element ref="drools:predicate"/>
<xs:element ref="drools:return-value"/>
<xs:element ref="drools:bound-variable"/>
</xs:choice>
<xs:attribute name="identifier" type="xs:string" use="optional"/>
<xs:attribute name="object-type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="field-binding">
<xs:complexType>
<xs:attribute name="field-name" type="xs:string" use="required"/>
<xs:attribute name="identifier" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="literal">
<xs:complexType>
<xs:attribute name="field-name" type="xs:string" use="required"/>
<xs:attribute name="evaluator" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="predicate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="field-name" type="xs:string" use="required"/>
<xs:attribute name="identifier" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="return-value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="field-name" type="xs:string" use="required"/>
<xs:attribute name="evaluator" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="bound-variable">
<xs:complexType>
<xs:attribute name="field-name" type="xs:string" use="required"/>
<xs:attribute name="evaluator" type="xs:string" use="required"/>
<xs:attribute name="identifier" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -