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.