ruleset.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType
name="ruleType">
<xs:complexContent>
<xs:extension
base="baseRuleType">
<xs:sequence>
<xs:element name="rule-text"
type="ruleTextType"/>
<xs:element name="plain-text"
minOccurs="0">
<xs:annotation>
<xs:documentation>A plain text form of the rule text. This form is
guaranteed to include on ASCII alpha-numeric characters, spaces, tabs, carriage
returns and line
feeds.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension
base="xs:string">
<xs:attribute name="lang"
type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="rule-xml" type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>Reserved for Oracle use. This is the compiled XML form of
the rule. This schema is defined
elsewhere.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="participating-attributes"
type="participatingAttributesType"
minOccurs="0">
<xs:annotation>
<xs:documentation>The collection of attributes that participate in the
rule. Participation may be as a conclusion attribute, an intermediate conclusion
attribute or as a
condition.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="rule-type"
use="optional">
<xs:annotation>
<xs:documentation>Used to indicate that a rule is a shortcut rule. Can be
used in the future to identify different types of
rules.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="xs:string">
<xs:enumeration
value="shortcut"/>
<xs:enumeration
value="standard"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType
name="ruleTextType">
<xs:sequence>
<xs:any namespace="http://www.w3.org/1999/xhtml"
processContents="skip"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="format" use="optional"
default="text">
<xs:annotation>
<xs:documentation>Describes the original format of the rule in its source
document - eg. free-form paragraph style (text), tabular or graphical.
Only text and table are supported. Graph is reserved for future
use.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="xs:string">
<xs:enumeration
value="text"/>
<xs:enumeration
value="table"/>
<xs:enumeration
value="graph"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType
name="propertyDefinitionType">
<xs:sequence
minOccurs="0">
<xs:element
name="values">
<xs:complexType>
<xs:sequence minOccurs="0"
maxOccurs="unbounded">
<xs:element name="value"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name"
use="required">
<xs:annotation>
<xs:documentation>The name of the property. Must be unique for an object
type.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="applies-to"
use="required">
<xs:annotation>
<xs:documentation>The type of object to which a property definition
applies - project, rule, entity, attribute, relationship,
screen</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="xs:string">
<xs:enumeration
value="project"/>
<xs:enumeration
value="ruleset"/>
<xs:enumeration
value="rule"/>
<xs:enumeration
value="entity"/>
<xs:enumeration
value="attribute"/>
<xs:enumeration
value="relationship"/>
<xs:enumeration
value="screen"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="type"
use="required">
<xs:annotation>
<xs:documentation>The data type of the property - text, number, boolean or
list</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="xs:string">
<xs:enumeration
value="boolean"/>
<xs:enumeration
value="number"/>
<xs:enumeration
value="list"/>
<xs:enumeration
value="text"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="default-value" type="xs:string"
use="optional"/>
<xs:attribute name="allow-blank"
type="xs:boolean">
<xs:annotation>
<xs:documentation>True if an empty value for the property is
permitted.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType
name="propertyType">
<xs:simpleContent>
<xs:extension
base="xs:string">
<xs:attribute name="name"
use="required">
<xs:annotation>
<xs:documentation>The name part of the property. When combined with
the type of the element that owns the property (eg. project, ruleset, rule,
entity, attribute, relationship), selects a property-definition that specifies
the property's data type, default value and, for lists, allowed
values.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType
name="participatingAttributeType">
<xs:annotation>
<xs:documentation>An attribute that participates in a rule, either as a
concluded attribute or as a contributing attribute (ie. appearing in a
premise)</xs:documentation>
</xs:annotation>
<xs:attribute name="role"
use="required">
<xs:annotation>
<xs:documentation>The role of the attribute in rule - ie. either a
conclusion, an intermediate conclusion or a
premise.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="xs:string">
<xs:enumeration
value="conclusion"/>
<xs:enumeration
value="intermediate"/>
<xs:enumeration
value="premise"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="entity-name"
use="required">
<xs:annotation>
<xs:documentation>The name (unique identifier) of the participating
attribute's
entity.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="attribute-name"
use="required">
<xs:annotation>
<xs:documentation>The name (unique identifier) of the participating
attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="abbreviation" type="xs:string"
use="optional"/>
</xs:complexType>
<!--Collections-->
<xs:complexType
name="attributesType">
<xs:sequence>
<xs:element name="attribute" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:complexContent>
<xs:extension
base="attributeType"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType
name="attributeAliasesType">
<xs:sequence
maxOccurs="unbounded">
<xs:element name="alias"
type="attributeAliasType">
<xs:annotation>
<xs:documentation>An attribute that is bound to another
attribute.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType
name="entitiesType">
<xs:sequence
maxOccurs="unbounded">
<xs:element name="entity"
type="entityType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType
name="participatingAttributesType">
<xs:annotation>
<xs:documentation>A collection of attributes that participate in a
rule.</xs:documentation>
</xs:annotation>
<xs:sequence
maxOccurs="unbounded">
<xs:element name="participating-attribute"
type="participatingAttributeType">
<xs:annotation>
<xs:documentation>An attribute that participates in the rule.
Participation may be as a conclusion attribute, an intermediate conclusion
attribute or as a
condition.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType
name="propertyDefinitionsType">
<xs:annotation>
<xs:documentation>A collection of property definitions specifying a
property's type, allowed values, default value,
etc.</xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0"
maxOccurs="unbounded">
<xs:element name="property-definition"
type="propertyDefinitionType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType
name="propertiesType">
<xs:sequence minOccurs="0"
maxOccurs="unbounded">
<xs:element name="property"
minOccurs="0">
<xs:annotation>
<xs:documentation>The value of the
property.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension
base="propertyType"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType
name="relationshipsType">
<xs:sequence minOccurs="0"
maxOccurs="unbounded">
<xs:element name="relationship"
type="relationshipType"/>
</xs:sequence>
</xs:complexType>
<!--Other
types-->
<xs:complexType
name="definitionType">
<xs:annotation>
<xs:documentation>The definition of an
object.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension
base="xs:string">
<xs:attribute name="lang" type="xs:language"
use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType
name="questionFormType">
<xs:annotation>
<xs:documentation>Properties of the various forms that a boolean attribute
may take (eg. negative, uncertain,
question).</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension
base="xs:string">
<xs:attribute name="lang" type="xs:language"
use="optional"/>
<xs:attribute name="enabled" type="xs:boolean" use="optional"
default="false">
<xs:annotation>
<xs:documentation>If false, indicates that the default form should not be
overridden. Use to persist, but not immediately use, a potential override
form.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType
name="synchronizationIdType">
<xs:annotation>
<xs:documentation>May be used by a system or application that supports
generation and importing of Oracle Interchange Files to assign a persistent
mapping identifier to an Oracle rulebase artifact - eg. to support
round-tripping.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>