Schematron: The complete course
Abstract
Detailed technical coverage of ISO Schematron. It covers all of the major features of Schematron, including design considerations and best practices. Numerous hands-on exercises are used to reinforce the lessons.
Duration
2-3 days
Schedule
To schedule a class, please contact us at pwalmsley@datypic.com.
Topics covered
- Schematron: An overview
- What is Schematron?
- Comparison with other schema languages
- A simple Schematron example
- Schematron basics
- Patterns
- Rules
- Assertions and reports
- XPath expressions
- Axes
- Node tests
- Predicates
- XPath functions and operators
- Built-in functions: An overview
- Comparison operators
- Boolean operators
- Arithmetic operators
- Conditional expressions
- Quantified expressions
- Typical Assertions
- Checking for a particular value
- Checking for existence
- Checking for emptiness
- Checking for a particular data type
- Checking contents based on the value of an attribute
- If one exists, the other must exist
- If one exists, the other must not exist
- Typical Contexts
- A particular element or attribute
- An element or attribute with a given parent
- An element or attribute with a given child
- An element or attribute with a given value
- Combining multiple contexts
- Structuring your schema
- Separate patterns
- Distributing rules within patterns
- Distributing assertions/reports within rules
- Assert vs. report
- Using
include
- Best practices
- Dealing with namespaces
- Declaring namespaces
- Referencing qualified names
- Using variables
- The
let
element - Referencing variables
- Variables and scope
- The
- Error messages and diagnostics
- Writing useful error messages with
value-of
andname
- Using diagnostics
- Enhancing output using
icon
,fpi
,see
- Further explaining using
role
andsubject
- Structuring and styling output using
p
,span
andtitle
- Writing useful error messages with
- Phases
- Abstract patterns
- Abstract patterns
- Using parameters
- The
extends
element
- Generating useful output
- Understanding SVRL
- Writing tools to generate reports from SVRL