Structured editing and validation

Overview

The PageSeeder editing model was a conceived after years of developing, implementing, supporting and using all major SGML and XML editing applications using a range of industry-based open document standards. The design objectives were to support the following:

  • Implement any type of document structure and semantics,
  • Support user defined validation messages,
  • Provide context sensitive help for document types,
  • Provide a range of editing models including:
    • page-based,
    • forms,
    • pro-forma templates,
    • spreadsheet / grid oriented.
  • Support for large documents and complex heading, paragraph and cross-reference numbering schemes.

Developers

All the template, configuration files and validation rules for a custom application can be created and maintained through standard IDE tools and Git clients. Deployment can be done through familiar build and testing tools and CI / CD pipelines.

Most templates and configuration files have XML schema defined and examples are available for a range of applications and document types.

Analysts

The PageSeeder document model means that changes to document types are instantly reflected across the system in the editing, search and publishing interface. This makes PageSeeder well-suited for rapid prototyping and proof-of-concept tasks.

The ability to quickly fork an application on the same or a different server helps to test or experiment.

Users

The ability to immediately comment on and update the online help enables users to support each other and improve the material necessary for getting maximum productivity and quality of content. Easy to add, user definable validation rules for formatting, structure and semantics make it easy to quickly address gaps in knowledge or training.

Semantics

Labels

Provide a way to add semantics to different parts of content. They can be configured for use in only designated areas or can be available anywhere.

  • Document
  • Link
  • Paragraph
  • Inline
  • Comment / task

Document types

Can be used for different purposes:

  • Proforma document – acting as a configuration of structured objects to be filled in by users, similar to a form or legal case report.
  • Object collection – predefined semantics to be assembled in any order, like a dictionary entry or a blog post.

Document types can assemble a range of functionality including validation, semantics, formatting, processing and structure.

Placeholders

Is an object that refers to a metadata property on a publication. It allows the reference to be updated at any time and can be resolved into the content for publishing. Placeholders are ideal for documents where some aspect might not be finalized until the end of a workflow, such as the legal name of a party to a contract.

Transclusions

A “transclusion” is a document, or document fragment, that has been embeded in another document that continues to reflect changes to the original object. An example use case for a transclusion is something like a copyright notice that might be used in different documents. Or a procedure that applies to different models of equipment. An update to the source will display in every transcluded instance.

This model makes the re-use of content more accessible and manageable.

Document Templates

Publications

A "publication" is a hierarchical collection of PSML component documents joined by "embed" or "transclude" type XRefs.

The core of the feature is a process that seamlessly resolves the publication components into a single document for presentation or numbering.

Numbering

Both <heading> and <para> elements support an attribute of @numbered that is available through the number icon in the editing interface. Any object where this attribute has a value of "true" will be subject to processing by the publication config.

Linking

For writers that create a lot of links, customizing the xref-config improves consistency and productivity by pre-configuring cross-reference (xrefs) targets into the user interface. This saves writers from having to set values with each link.

Schematron Support

Overview

Schematron enables developers to implement multiple validation regimes for any document set. For further information, see the article on Validating documents or the Schematron website.