Two ways we organise rules here
(fir two projects)
1. Project one: test hundreds of thousands conversions from one family of dtds to another family of dislike schemas. So...Have one schema for.constraints that apply for all conversions between the families: the generic elements. Have one schema each for the specific constraints fir each input output pair: often these are.simple changes only. Categorise each assertion into sev1 sev2 etc.
2. Project two. Documents flowing through a pipeline of converters/enrichers. At each stage different failures are shiwstoppers, but we want complete results each time so 'phase' is not appropriate. So...have the role attribute with 'error' 'warning or 'caution' values. Workflow engine responds differently depending on role values.
Both projects have.multiple assertions per rule and multiple rules per pattern. Busy patterns are used so that phases can be used to quickly trim the constraints when maintaining schemas: so we can run on thousands of documents to confirm fixes or to scope out problems.
Cheers
Rick
Hi Folks,
Do you have lots of Schematron rules? If yes, how do you organize them?
I have been reviewing one community's approach to organizing lots of Schematron rules [1]. This community does the following:
a. Within each file have one pattern and in the pattern place one rule and within the rule place one assert.
b. Uniquely identify each pattern, e.g., <sch:pattern id="Books-ID-00015"
c. Give the assert element the same ID as the pattern element, e.g., <sch:assert id="Books-ID-0015"
d. Give the filename the same name as the ID, e.g. Books-ID-0015.sch
What is the rationale for organizing rules in this manner? Why uniquely identify each pattern and each assert? Why limit each file to one pattern, containing one rule, containing one assert?
I am not questioning that these are good design practices, I just want to understand their rationale.
/Roger
[1] http://www.dni.gov/files/documents/CIO/ICEA/Foxtrot/ISM_V10.zip
_______________________________________________________________________
XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.
[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php