Skip to main content
ShakewellContact

Explainer

S1000D Schemas: Which XSD Each Data Module Uses

S1000D is not one schema. It is twenty-six of them, one for each kind of data module and support object, and knowing which one a module uses is the first step in reading, validating, or converting it.

The Answer

One Schema per Module Type

S1000D Issue 7 publishes 26 XML schema files. Twenty-one define data module types, from descriptions and procedures to parts data and wiring; five define the other objects a program exchanges, such as publication modules and data management lists. Two more support files cover XLink and the xml namespace.

Every data module schema has the same outer shape: identification and status, then a content section. What changes is the single element inside that content section, and that element is what makes a module descriptive, procedural, or anything else.

Data Modules

The Twenty-One Data Module Schemas

The content element is quoted from each Issue 7 schema.

SchemaContent elementWhat it holds
descript.xsddescriptionDescriptive information: how a system is built and how it works.
proced.xsdprocedureProcedures: the steps of a maintenance or operating task.
fault.xsdfaultReporting or faultIsolationFault reporting and fault isolation.
ipd.xsdillustratedPartsCatalogIllustrated parts data: the parts catalog.
crew.xsdcrewCrew and operator information: operation rather than maintenance.
schedul.xsdmaintPlanningMaintenance planning: scheduled tasks and their intervals.
wrngdata.xsdwiringDataWiring data: wires, harnesses, connectors.
wrngflds.xsdwiringFieldsDescriptions of the fields used in wiring data.
comrep.xsdcommonRepositoryCommon information repositories: parts, tools, zones, warnings, and more.
checklist.xsdcheckListChecklists.
process.xsdprocessProcess data modules: procedures with logic, for interactive viewers.
learning.xsdlearningLearning content.
scocontent.xsdscoContentSCORM content packages for e-learning.
sb.xsdsbService bulletins.
frontmatter.xsdfrontMatterFront matter for publications.
container.xsdcontainerContainer data modules.
brex.xsdbrexBusiness rules exchange: a project's rules in checkable form.
brdoc.xsdbrDocBusiness rules documents: the rules in readable form.
appliccrossreftable.xsdapplicCrossRefTableThe applicability cross-reference table (ACT).
condcrossreftable.xsdcondCrossRefTableThe conditions cross-reference table (CCT).
prdcrossreftable.xsdproductCrossRefTableThe products cross-reference table (PCT).

Everything Else

The Other Five

pm.xsd
Publication modules: the structure of a publication.
dml.xsd
Data management lists: the DMRL and the CSDB status list.
ddn.xsd
Data dispatch notes, which accompany an exchange of data.
comment.xsd
Comments raised against data modules and publications.
icnmetadata.xsd
Metadata files for illustrations and other ICN objects.

Several have their own explainers here: publication modules, the DMRL, ICNs, common information repositories, process data modules, and illustrated parts data.

Mechanics

How a Module Points at Its Schema

The schemas declare no target namespace, so a data module names its schema with xsi:noNamespaceSchemaLocation and the schema's published address. A descriptive module written to Issue 5.0 opens like this:

<dmodule xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_5-0/xml_schema_flat/descript.xsd">

The folder in the address carries the issue: S1000D_4-2, S1000D_5-0, S1000D_6, S1000D_7. That makes the schema location the quickest way to tell which issue a module was written to, and the first thing to change, deliberately, in an issue upgrade.

The schemas are published flat: each file is one self-contained XSD, with no includes to resolve. For how that differs from the DTDs that SGML-era documentation used, see DTD vs XSD.

By Issue

What Changed, and When

The schema set settled early. Issue 4.1 added the common information repository, front matter, service bulletin, and SCORM content schemas, and dropped Issue 4.0's techrep.xsd. Issue 4.2 added business rules documents and ICN metadata. Issues 5.0, 6, and 7 publish the same set of files.

The same files do not mean the same contents. The Issue 7 announcement lists updates to the XML schemas, the data dictionary, and the default BREX, and the ICN metadata schema's root element is now icnMetadataFile. Our issues comparison covers the wider differences.

Schema and BREX

Valid Is Not the Same as Compliant

The schemas define what the specification allows. A project allows far less: a subset of elements, a fixed set of information codes, its own SNS. Those decisions live in the BREX, itself a data module with its own schema. A module can pass the schema and fail the BREX, which is why validation in S1000D is always two checks.

BREX is S1000D's own XML, not Schematron. Tools check it directly, and some convert it to Schematron so that general XML editors can run the check. Either way, both checks belong in the authoring workflow, not at delivery.

FAQ

Questions We Hear

Where do I get the S1000D schemas?

From the S1000D site. Each schema is published at a stable address of the form http://www.s1000d.org/S1000D_7/xml_schema_flat/descript.xsd, and each file states its own address, issue number, and issue date in its header.

Does S1000D use XML namespaces?

Not for its own elements. The schemas declare no target namespace, so a data module points at its schema with xsi:noNamespaceSchemaLocation and the schema's URL. The XLink namespace is used for links.

What is the difference between the schema and the BREX?

The schema defines what the specification allows for a module type. The BREX narrows that to what your project allows: which elements and values you use, which information codes are valid, how your SNS is structured. A module can be schema-valid and still break the BREX.

Did the schemas change in Issue 7?

The set of schema files is the same as Issue 6, and the official announcement lists updates to the XML schemas among the Issue 7 changes. One visible example: the ICN metadata schema's root element is icnMetadataFile in Issue 7. Check each schema you use before moving a project across.

Are there S1000D DTDs?

Not on the S1000D site for current issues. For Issue 4.2 onward it publishes the schemas as flat XSD files only, with no DTD folder alongside. Our DTD vs XSD guide covers the difference between the two.

Get In Touch

Validating or Upgrading S1000D Data?

We set up schema and BREX validation for authoring teams, and plan issue upgrades so modules move across without surprises.