Checklist
Free S1000D DMRL Template (CSV)

The Download
A DMRL Starter You Can Edit
The template is one CSV file. Each row is one planned data module. The columns follow the data module code and the entry fields of the S1000D data management list schema, so a row maps to one entry in the real list. The DMRL explainer covers what the list is; this page is the file.
Download s1000d-dmrl-template.csv
It holds a header row and four example rows for a fictitious product with the model identification code EXAMPLE. Delete the examples before you start. The file is free, ungated, and yours to reuse.
The Columns
What Each Column Holds
Sixteen columns come from the schema, read from its dml.xsd for Issues 5.0 and 7. The last three are project additions, marked project_ in the header, that help you plan but are not part of any DML entry.
| Column | Origin | What goes in it |
|---|---|---|
| model_ident_code | dmCode attribute modelIdentCode | The product or project code, 2 to 14 capital letters or digits. The same value on every row. |
| system_diff_code | dmCode attribute systemDiffCode | The system difference code, 1 to 4 capital letters or digits. Separates variant lineages of the product. |
| system_code | dmCode attribute systemCode | The first SNS segment, 2 or 3 characters. Comes from your chosen SNS. |
| sub_system_code | dmCode attribute subSystemCode | One character. |
| sub_sub_system_code | dmCode attribute subSubSystemCode | One character. |
| assy_code | dmCode attribute assyCode | The assembly code, 2 or 4 characters. |
| disassy_code | dmCode attribute disassyCode | Two characters. Use 00 where the module covers the item as a whole. |
| disassy_code_variant | dmCode attribute disassyCodeVariant | 1 to 3 characters. |
| info_code | dmCode attribute infoCode | Three characters: what kind of information the module is, such as 040 for description or 520 for a remove procedure. |
| info_code_variant | dmCode attribute infoCodeVariant | One character. |
| item_location_code | dmCode attribute itemLocationCode | One of A, B, C, D or T. Read the specification's definition of each before choosing. |
| tech_name | dmTitle element techName | Required in the schema. The name of the thing the module is about. |
| info_name | dmTitle element infoName | Optional in the schema. The kind of information, such as Description or Remove procedure. |
| security_classification | security element, attribute securityClassification | A two-digit code. 01 is the lowest level, for example unclassified. Your project business rules decide which values are allowed. |
| responsible_partner_company | responsiblePartnerCompany element, child enterpriseName | Required in the schema as an element; the company name inside it is optional. Name the partner who owes the module. |
| remarks | remarks element | Optional free text for the entry. |
| project_dmc_assembled | Project addition | The full data module code written out, for sorting, searching and spotting duplicates. Not a schema field; rebuild it from the columns above if you change them. |
| project_status | Project addition | Not started, in work, in review, and so on. Not a DML field. Once the data module exists in the CSDB, its status lives there. |
| project_due_date | Project addition | A planning date. Not a DML field. |
The template leaves out some optional fields. A real entry can also carry an entry type, an issue type, an answer, and learning codes. Add columns for them if your project uses them. The segments of the code are explained in the data module code, decoded, and the three-character values in the information codes guide.
How To Use It
From the SNS to the DML in the CSDB
- 1.
Fix the breakdown first
Choose the SNS and the model identification code before you add rows. Every row after that is a choice from the breakdown, not an invention.
- 2.
Add one row per module
For each system and assembly, add a row for each information code your business rules call for: a description, the procedures, the fault isolation. Delete the four example rows.
- 3.
Check the codes
Sort on project_dmc_assembled. Two identical codes are one module, not two. Check the segment lengths against the column guide above.
- 4.
Agree owners and classification
Every row needs a responsible partner company. Settle security classification with the customer now; changing it later touches every module.
- 5.
Turn rows into the DML
The contract DMRL is an XML data management list in the CSDB, with one dmlEntry per row. Load the rows with your CSDB's import function or a short script, then create a stub data module for each entry. The entry for the third example row looks like the snippet below.
<dmlEntry>
<dmRef>
<dmRefIdent>
<dmCode modelIdentCode="EXAMPLE" systemDiffCode="AAA"
systemCode="SY2" subSystemCode="1" subSubSystemCode="0"
assyCode="00" disassyCode="00" disassyCodeVariant="AA"
infoCode="520" infoCodeVariant="A" itemLocationCode="A"/>
</dmRefIdent>
<dmRefAddressItems>
<dmTitle>
<techName>Example pump assembly</techName>
<infoName>Remove procedure</infoName>
</dmTitle>
</dmRefAddressItems>
</dmRef>
<security securityClassification="01"/>
<responsiblePartnerCompany>
<enterpriseName>Example Partner Two</enterpriseName>
</responsiblePartnerCompany>
<remarks>
<simplePara>Needs a task analysis first.</simplePara>
</remarks>
</dmlEntry>The SNS guide covers step one, and the startup checklist puts the DMRL in sequence with the other early decisions. Some open tools can generate or convert lists; see free S1000D tools.
The Limits
A Spreadsheet Is a Planning Tool
The DMRL that a program works from is an XML data management list stored in the CSDB, under the same control as the content it lists. A CSV has none of that. It does not validate against the schema, it cannot be checked against the project BREX, and it does not know which modules have been written.
So use the file to plan, to agree scope with partners, and to count. Once the list is in the CSDB, make the CSDB copy the source and stop editing the spreadsheet. Two live copies of a DMRL drift apart within weeks. If your contract calls for a DMRL, read its text and the data item description it cites; the template does not replace either.
FAQ
Questions About the Template
Is the template really free?
Yes. It is a plain CSV file with no sign-up and no form. Edit it in any spreadsheet program and reuse it on any project.
Does it work with any S1000D issue?
The data module code patterns in the schema's dml.xsd are identical in Issue 5.0 and Issue 7, and the columns follow them. Read the Chapter 4.5 text and the business rules of the issue your contract names before you rely on any column.
Why are there no issue number columns?
A DMRL says what must exist, not which issue of it exists today, and DMRL entries normally omit issue information. The issue numbers belong in the CSDB status list (CSL).
Can I import the CSV straight into my CSDB?
That depends on the CSDB. The file is a planning table, not a DML. Check whether your tool imports CSV, or write a short script that emits one dmlEntry per row.
Is this the DMRL my contract requires?
Not by itself. If your contract calls for a DMRL, read its data item description and the text of the contract. What is delivered is normally the data management list in the CSDB, not a spreadsheet.