⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drools-3.0.xsd

📁 jboss规则引擎
💻 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 + -