A number of RuleML and LegalRuleML attributes have values which should be treated as CURIEs. That is, they should be evaluated to IRIs according to a prefix mapping, which is defined by the element.
The XSLT at xslt/lrml-xml/normalizer/lrml_normal_canonicalizer.xslt performs CURIE evaluation, in addition to some other modifications, as preparation for applying the parsing XSLT that produces RDF (xslt/lrml-rdf/triplifyMerger-ids.xsl)
This evaluation also applies to the values of @refID within and , which are not constrained to be IRIs or CURIEs. The choice of xs:string for the datatype of the prefix mapping (also called @refID) enables this usage, allowing CURIE-like abbreviation to be used within and , as illustrated in examples/compactified/ex1-curies-compact.lrml for identifiers of Akoma Ntoso.
Conformance to the additional constraint Section 5.18 point 1 may be checked by applying the XSLT transformation xslt/lrml-xml/normalizer/lrml_prefix_evaluation.xslt, and validating the output. This transformation is abstract-syntax preserving. Conformance to the additional constraint Section 5.18 point 2 may be checked through the XLST transformation xslt/lrml-xml/validator/lrml_validator-sequential-indexing.xslt.
This transformation is abstract-syntax preserving when applied following the xslt/lrml-xml/validator/lrml_ validator-sequential-indexing.xslt transformation.
Appendix F.Comprehensive Examples
F.1 Section 29 of the Australian “National Consumer Credit Protection Act 2009” (Act No. 134 of 2009).
In this section we illustrate the use of LegalRuleML by modeling a fragment of Section 29 of the Australian “National Consumer Credit Protection Act 2009” (Act No. 134 of 2009). The fragment, entitled “Prohibition on engaging in credit activities without a licence”, states:
A person must not engage in a credit activity if the person does not hold a licence authorising the person to engage in the credit activity. Civil penalty: 2,000 penalty units. [. . . ] Criminal penalty: 200 penalty units, or 2 years imprisonment, or both.
In the norm, we see that the penalties are stated as separate statements. Accordingly the best way to capture the structure is to use
elements for them. There is a general statement of a prohibition in '...must not...' along with an implied statement of a permission under certain circumstances. A preference order is implied, the general statement over the particular circumstances. We paraphrase the statements as:
A person is prohibited from engaging in credit activity.
A person is permitted to engage in a credit activity if the person holds a licence.
Based on the observation and paraphrases above we can model the norm with the following rules (and auxiliary statements).
This norm can be represented in LegalRuleML as follows38:
the block above is for declaring the source of the legal provisions and to give it a key to refer to it. An Associations block links legal provisions with the rules (and other statements) that model them
In this case, the norm referred to by the key ls1 is modelled by a set of statements, namely ps1, ps2, pen1, pen2, rep1, and rep2. The LegalRuleML statements for representing the statements ps1, pen2, rep1, and rep2 are given in the code below.