[rules-dev] On the validity of drools-5.2.xsd.

Mats Erik Andersson mats.andersson at gisladisker.se
Fri Aug 26 07:09:54 EDT 2011


Dear all,

below "drools-compiler/src/../META-INF/" lies the XML Schema
"drools-5.2.xsd". After a removing the namespace "drools",
which makes it an invalid schema, and the trivial update
of some XML rule files to rerer to "5.2" instead of "5.0",
there is a persistent problem that the logical model presently
encoded in "drools-5.2.xsd" still fails to validate

    test_ParseAccumulate.xml

    test_ParseLhs.xml

    test_ParseRule.xml

    test_SimpleRule1.xml

All of which are found in

    drools-compiler/src/test/resources/org/drools/compiler/xml/rules/

QUESTION: Are all XML rule files stored in that directory
          supposed to correct, and are as such supposed to
          be valid by whatever XML Schema is developed?

The answer to this question is instrumental for my prospects of
reformulating the schema into something usable and valid! If the
answer is "Yes", then the schema needs several changes, otherwise
any intended invalid ingredient in an XML rule file must be properly
documented, not tacitly be maintained in a status quo.


I can in passing pin-point one issue of the present schema, which
in itself does not resolve all problems, but might convince you that
not all matters are well with the present formulation.

The available schema prefers to use <xs:choice> whenever the human
logic indicates so. However, it also combines this with <xs:extension>
to construct composite types. This technique has a pitfall:

   * Extending a sequence by a second sequence, results in
     a combined sequence. (Expected by a layman.)

   * Extending a choice by a second choice, results in a (short)
     sequence of independent choices, choices which both have to be made!
     (Beware of unwanted consequences!)

The expectation that an extension of choices should produce a (larger)
combined choice is not the way the XML Schema implementation has
been done. This must be taken into account.

Please, do give me feed-back on my question, should you consider
yourself authoritative enough.


Best regards,
  Mats Andersson


More information about the rules-dev mailing list