Explainer
S1000D Schemas: Which XSD Each Data Module Uses

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.
| Schema | Content element | What it holds |
|---|---|---|
| descript.xsd | description | Descriptive information: how a system is built and how it works. |
| proced.xsd | procedure | Procedures: the steps of a maintenance or operating task. |
| fault.xsd | faultReporting or faultIsolation | Fault reporting and fault isolation. |
| ipd.xsd | illustratedPartsCatalog | Illustrated parts data: the parts catalog. |
| crew.xsd | crew | Crew and operator information: operation rather than maintenance. |
| schedul.xsd | maintPlanning | Maintenance planning: scheduled tasks and their intervals. |
| wrngdata.xsd | wiringData | Wiring data: wires, harnesses, connectors. |
| wrngflds.xsd | wiringFields | Descriptions of the fields used in wiring data. |
| comrep.xsd | commonRepository | Common information repositories: parts, tools, zones, warnings, and more. |
| checklist.xsd | checkList | Checklists. |
| process.xsd | process | Process data modules: procedures with logic, for interactive viewers. |
| learning.xsd | learning | Learning content. |
| scocontent.xsd | scoContent | SCORM content packages for e-learning. |
| sb.xsd | sb | Service bulletins. |
| frontmatter.xsd | frontMatter | Front matter for publications. |
| container.xsd | container | Container data modules. |
| brex.xsd | brex | Business rules exchange: a project's rules in checkable form. |
| brdoc.xsd | brDoc | Business rules documents: the rules in readable form. |
| appliccrossreftable.xsd | applicCrossRefTable | The applicability cross-reference table (ACT). |
| condcrossreftable.xsd | condCrossRefTable | The conditions cross-reference table (CCT). |
| prdcrossreftable.xsd | productCrossRefTable | The 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.