Edit online

Editing Schematron Schemas

Schematron is a simple and powerful Structural Schema Language for making assertions about patterns found in XML documents. It relies almost entirely on XPath query patterns for defining rules and checks. Schematron validation rules allow you to specify a meaningful error message. This error message is provided to you if an error is encountered during the validation stage.

There are numerous online resources out there to help you get started with writing Schematron rules. Here are just a few that might help you:

Oxygen XML Developer assists you in editing Schematron documents with schema-based content completion, syntax highlight, search and refactor actions, and dedicated icons for the Outline view. You can create a new Schematron schema using one of the Schematron templates available in the New document wizard.

For information about applying and detecting Schematron schemas, see Associating a Schema to XML Documents.

Validating XML Documents Against Schematron

The Skeleton XSLT processor is used for validation and conforms with ISO Schematron or Schematron 1.5. It allows you to validate XML documents against Schematron schemas or against combined RELAX NG / W3C XML Schema and Schematron.

How to Specify the Query Language Binding

You can specify the query language binding to be used in the Schematron schema by doing the following:

Multi-Lingual Support in Schematron Messages

You can specify the desired language for the validation messages in the Schematron Preferences page. The Schematron validation messages can be presented in multiple languages by defining the language for each message using the Schematron <diagnostics> element.

For example, you can define a diagnostic for each language and reference the ID of the diagnostics in the <assert> element. You can specify the language of the diagnostic message by adding the xml:lang attribute on the sch:diagnostic element or on its parent:
<sch:assert test="bone" diagnostics="d_en d_de">
  A dog should have a bone.
</sch:assert>
….
<sch:diagnostics>
  <sch:diagnostic id="d_en" xml:lang="en">
    A dog should have a bone.
  </sch:diagnostic>
  <sch:diagnostic id="d_de" xml:lang="de">
    Das Hund muss ein Bein haben.
  </sch:diagnostic>
</sch:diagnostics>

How to Customize Color Schemes in Schematron

The Schematron editor renders the XPath expressions with dedicated color schemes. To customize the coloring schemes, open the Preferences dialog box (Options > Preferences) and go to Editor > Syntax Highlight.

Schematron Transformation Scenario

When you create a Schematron document, Oxygen XML Developer provides a built-in transformation scenario. You can use this scenario to obtain the XSLT style-sheet corresponding to the Schematron schema. You can apply this XSLT stylesheet to XML documents to obtain the Schematron validation results.

Using Schematron with AI

An Oxygen AI Positron Assistant add-on is available that provides support for helping writers generate content by using the Oxygen AI Positron service. This add-on also contributes two XPath extension functions that can be used from custom Schematron schemas to rephrase content or to perform validation checks on existing content. The ai:transform-content(instruction, content) function can be used to automatically transform content using AI and the ai:verify-content(instruction, content) function can be used to automatically validate content using AI.

For more details, see Oxygen AI Positron Assistant: Custom Schematron Validation Rules.

Resources

For more information about the Schematron support in Oxygen XML Developer, watch our video demonstrations: