[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: ANN: 10 Laws of Schematron Design

  • From: Ihe Onwuka <ihe.onwuka@gmail.com>
  • To: stephengreenubl@gmail.com
  • Date: Thu, 9 Oct 2014 12:49:04 +0100

Re:  ANN: 10 Laws of Schematron Design
Moses never had to go through all this did he Roger?

On Thu, Oct 9, 2014 at 12:32 PM, Stephen D Green <stephengreenubl@gmail.com> wrote:
How about versioning of the schematron schema?

Cheers

Stephen D Green

On 08/10/2014, Costello, Roger L. <costello@mitre.org> wrote:
> Hi Folks,
> I think the below "10 Laws of Schematron Design" are good. I distilled them
> from examination of this [1]. I welcome your additions to these "Laws".
> /Roger
> -----------------------------------------------------------------------------------------------
> 1. Assign each business rule a unique identifier. For example, assign this
> rule:
>                Each Book must contain Title, Author, Date, ISBN, and
> Publisher
>                information.
> the ID: Books-ID-00015.
> 2. In each file place just one pattern element (i.e., the file doesn't have
> the schema element).
> 3. Give each pattern a unique identifier, e.g., <sch:pattern
> id="Books-ID-00015"
> 4. In each pattern element place one rule element and in the rule element
> place one assert element. Give the assert element the same ID as the pattern
> element, e.g., <sch:assert id="Books-ID-00015"
> 5. In the body of the assert element is a natural language description of
> rule. Start that description with the ID within brackets followed by [ERROR]
> followed by the natural language description, e.g.,
>                 <sch:assert test="..." id="Books-ID-00015">
>                      [Books-ID-0015][ERROR] Each Book must contain Title,
> Author,
>                       Date, ISBN, and Publisher information.
> 6. Give the filename the same name as the ID, e.g. Books-ID-00015.sch
> 7. Identifiers are all of the format Book-ID-XXXXX, with rule files named
> Books_ID_XXXXX.sch.
> Rationale for design guidelines 1-7: By following the guidelines there is
> complete traceability. Each business rule can be traced to exactly one
> Schematron implementation. Conversely, each Schematron implementation can be
> traced to exactly one business rule. Also, it is easy to change an
> implementation of a rule: simply replace the file containing the rule with
> another file that implements the same rule.
>
> 8. Create a Book Schematron Guide which describes every file, e.g.,
>
>
>
> 2.1 - Rules/Books/Books_ID_00015.sch
>
>
>
> Rule Description: Books-ID-00015 Each Book must contain Title, Author, Date,
> ISBN, and Publisher information.
>
>
>
> Code Description: If the context item is a Book, then ...
>
>
>
> Schematron Code: -- show the Schematron code here -
>
>
>
>
> 9. Create a top-level Schematron file. This file has no patterns or rules.
> It has the schema root element. It has all namespace declarations. It
> includes all of the other files. It defines any variables that will be
> needed in any of the files. It defines any (XSLT) functions that will be
> needed in any of the files. Validate instance documents against this file;
> the instance document will be validated against all the rules defined in all
> the files.
>
>
>
> Rationale for design guideline 9: No need to perform multiple Schematron
> validations; simply validate instances against this top-level Schematron
> file. There is a single, central place where namespaces and variables and
> functions are defined, so it is easy to adjust them, when needed.
>
>
> 10. Identify common information patterns in the business rules; define the
> pattern once (use Schematron abstract patterns and abstract rules); reuse
> the pattern wherever possible. Place the files that contain abstract
> patterns/rules in a "Lib" folder. Place the files that contain concrete
> (non-abstract) patterns/rules in a "Rules" folder and within there create
> subfolders, e.g., Books, Magazines, Articles.
> [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



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.