PageSeeder documents can be validated using Schematron validation which is directly integrated in the main document interface. The screenshot shown further below (Fig. 1) is a PSML document validated using PageSeeder's in-built Best Practice schema.
This schema demonstrates some of the strengths of Schematron when compared to conventional XML schemas (W3C *.xsd files), these include:
- instead of cryptic parser messages designed for programmers, PageSeeder uses Schematron to bind natural language messages to the optimal context of a given audience. Whether expressed as warnings or success messages is up to the developer.
- Well-expressed Schematron messages that guide or educate make the validation process something that helps users instead of it being something that users do to help developers.
Although different to the approach used by conventional XML editing tools Schematron allows developers to validate for more constructs than W3C XML schemas and requires less time to implement.
Single file validation
PageSeeder provides a validation tab for all PageSeeder documents. It will use the Schematron schema specific to the document if any and fallback on PageSeeder's best practice schema.
A more powerful feature of PageSeeder is the ability to validate a entire collection of documents. This can be done by selecting specific documents from search results or by validating a folder.
Batch validation is very useful for QA or when the structure or semantics of documents needs to evolve.
For example, batch validation can be used for:
- Checking that assets match specific constraints (e.g. their dimension, resolution etc.) before being published
- Ensuring all cross references are resolved
- Diagnosing any structural issue that may not be supported in a publish process
- Ensuring domain specific semantics
Configuring a Schematron schema
The easiest way to configure a Schematron for a specific document type is to use the Document Types page in the Developer Tools.
There are several examples of Schematron rules in the Schematron code samples.
Created on , last edited on