Es posible que le resulte práctico dividir un gran conjunto de reglas en partes más pequeñas para facilitar el desarrollo o la reutilización paralelos. Cada conjunto de reglas puede contener sentencias Include para incluir otros conjuntos de reglas y clases. El elemento raíz en un elemento incluido debe ser:
Una clase de regla única o
Un conjunto de reglas entero, que él mismo puede contener sus propias sentencias Include que se procesarán de forma repetida.
Se soportan diferentes tipos de sentencias Include:
Incluye un archivo XML con una vía de acceso relativa al archivo que lo contiene; este mecanismo puede ser útil durante el desarrollo autónomo del conjunto de reglas por parte de los desarrolladores que utilizan un entorno de desarrollo basado en archivo;
Incluye un archivo XML que está presente en la ubicación mencionada en la vía de acceso de clases de tiempo de ejecución; este mecanismo puede ser útil para hacer referencia a conjuntos de reglas comunes que raramente cambian y se crean en la aplicación.
<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_Include"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
<!-- Esta clase de regla se define directamente en este conjunto de reglas -->
<Class name="Person">
<Attribute name="firstName">
<type>
<javaclass name="String"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
</Class>
<!-- Incluir un conjunto de reglas definido en otro archivo.
Cuando se ensamblan en un solo conjunto de reglas, los
nombres de todas las clases de regla deben ser exclusivos. -->
<Include>
<RelativePath value="./HelloWorld.xml"/>
</Include>
</RuleSet>
Consulte Consolidador de conjunto de reglas CER para saber cómo contraer un conjunto de reglas que contiene inclusiones RelativePath en un solo archivo de conjunto de reglas.