Explainer
The Data Module Code, Decoded

The Address
An Identifier That Means Something
Most documentation systems identify content by filename — arbitrary, local, and meaningless the moment it leaves the folder. S1000D went the other way: every data module carries a data module code built from defined segments, each answering a question. The model identification codeanswers “which product?” — the specification's own sample project famously uses a bicycle. The system difference code distinguishes variant lineages of that product. Then comes the SNS— system, subsystem, sub-subsystem, assembly — locating the content in the product's breakdown, the way chapter numbering located it in older page-based standards.
The tail of the code describes the content itself: the disassembly code (which level of teardown, and which variant of it), the information code (what kindof information — in the spec's defaults, the 040 range marks description, the 500 range removal, the 700 range installation), and the item location code (where the work happens — on the product, on the bench). One line, and you know what the module covers, what it tells you, and where it fits.
Why It Matters
Identifiers Are Architecture

The DMC is not bureaucratic decoration — it is the load-bearing wall of the whole architecture. The CSDB stores and retrieves by it. The data management requirements list contracts deliverables by it. Cross-references between modules resolve by it, which is how a procedure can point at a description and survive both being revised. And because the information code separates what content is about from what kind of content it is, a publishing system can assemble a maintenance manual, a parts catalog, or a viewer experience from one pool of modules — the assembly logic just selects by code.
Which is why the coding decisions at program start — which SNS to adopt, how to use difference codes, what the business rules permit — echo for the life of the fleet. A well-chosen scheme organizes the library for decades; an improvised one taxes every system downstream. It's the aerospace edition of a principle any content platform lives or dies by: give content a real address, and everything else — retrieval, reuse, delivery, even AI grounding — becomes an engineering problem instead of a search party.
FAQ
Questions We Hear
What is a data module code (DMC)?
The structured identifier every S1000D data module carries — not a filename but an address, built from defined segments: the model identification code (which product), an optional system difference code (which variant lineage), the SNS (which system, subsystem, and assembly), the disassembly code (which breakdown level and variant), the information code (what kind of information this is), and the item location code (where the work is performed). Read left to right, a DMC tells you what the module is about and what it does before you open it.
What is the SNS — the Standard Numbering System?
The middle of the DMC: a hierarchical code identifying the system, subsystem, sub-subsystem, and assembly the module covers, so all content about one part of the product clusters under one address range. Projects adopt an SNS appropriate to their domain — air, land, and sea programs slice their products differently — and the spec provides maintained SNS sets to start from. It is the S1000D counterpart to the chapter logic older standards used, done as data rather than as a table of contents.
What does the information code tell you?
The kind of information in the module, independent of what it's about. In the specification's defaults, codes in the 040 range mark description, the 500 range removal procedures, the 700 range installation — so two modules can share an SNS (same pump) while their information codes distinguish 'what it is' from 'how to remove it.' This is what lets a publishing system assemble a maintenance manual, an IPC, or a description-only view from one pool of modules: the code says what each piece is for.
Why does the DMC matter operationally?
Because everything in an S1000D program keys on it: the CSDB stores and retrieves by DMC, the DMRL contracts deliverables by DMC, cross-references between modules resolve by DMC, and applicability, reuse, and change tracking all inherit its precision. Get the coding scheme right at program start and the library organizes itself for decades; improvise it and every downstream system pays. It's the concrete case of a general truth: identifiers are architecture.
Get In Touch
Designing a Coding Scheme?
The SNS and coding decisions you make at program start are the ones you live with longest. We help programs get them right the first time — and untangle the ones that weren't.