Schema Variants

A guide to the different variants of the schema and the process that creates them.

The schema has a number of different variants that are all derived from the master event-logging.xsd schema in the root of this repository. The following variants are published as release artefacts:

Suffix Description
- The full schema for use by stroom to validate decorated events.
client The client schema for use by client systems and the event-logging Java library for sending un-decorated events. Lacks some <UserDetails> child elements, adds an <Event> root element to allow clients to send individual events and removes the Event/@Id attribute as this is for use on decorated events only.
safe A version of the schema for validating data from untrusted sources. It limits the number of occurrences of elements and the characters that can be used.

These variants are generated by the java application in event-logging-transformer-main/ which is configured by event-logging-transformer-main/pipelines/configuration.yml.

This Java application is run as part of the Gradle build. The generated schemas are output to event-logging-transformer-main/pipelines/generated/

Last modified November 29, 2023: Update oxygen_schema_docs.md (85e195a)