EWG Action item 223 requires the reorganisation (I'm sorry, I just cannot spell it with a 'z') of SISO-REF-010. This means that the tools almost certainly need to be updated to support the new template.
In preparation for this I’ve been playing with the word generation for SISO-REF-010. I can generate the tables without problems, so this opens up the possibility of auto-generating the vast majority of the document. In fact, although it would be work to get this going I think that in the medium to long term it would actually save effort on my part – as well as making it a lot easier for the EWG (i.e. Lance) to generate the template (i.e. you don’t have a few hundred bookmarks to generate).
The idea is to make the generation data driven (from a new file, XML of course).
Take the following XML excerpt:
<ESS>
<Element UID="1" Bookmark="UID001"/>
<Element UID="2" Bookmark="UID002"/>
<Group>
<Heading Level="1" Name="Warfare Interactions and Attributes" Bookmark="MainBody">
<HeadingElement UID="6"/>
<Heading Name="Descriptor Records">
<HeadingElement UID="60"/>
<HeadingElement UID="61"/>
</Heading>
<HeadingElement UID="62"/>
</Heading>
</Group>
</ESS>
The first two lines generates the revision table (UID 1) and abbreviation table (UID 2) at the place in the template with the appropriate bookmarks.
The following line just inserts a level 1 heading at the specified bookmark:
<Heading Level="1" Name="Warfare Interactions and Attributes" Bookmark="MainBody">
The next line generates a table for UID 6 (i.e. the Force ID) immediately following the previous line (there is no bookmark attribute to change the location). It generates a level 2 heading (since it is a child of the previous line which created a level 1 heading) using the name attribute from the XML:
<HeadingElement UID="6"/>
The next line creates a new level 2 heading:
<Heading Name="Descriptor Records">
The next two lines add the tables for the warhead and fuse with level 3 headings, whilst the last HeadingElement adds the detonation result under a level 2 heading.
This would generate something like the following (with the appropriate numbering):
1 Warfare Interactions and Attributes
1.1 Force ID [UID 6]
This is an 8-bit enumeration.
| Value | Description |
|---|---|
| 0 | Other |
| 1 | Friendly |
| ... |
1.2 Descriptor Records
1.2.1 Warhead [UID 60]
This is a 16-bit enumeration.
| Value | Description |
|---|---|
| 0 | Other |
| 10 | Cargo (Variable Submunitions) |
| … |
1.2.2 Fuse [UID 61]
This is a 16-bit enumeration.
| Value | Description |
|---|---|
| 0 | Other |
| 10 | Intelligent Influence |
| … |
1.3 Detonation Result [UID 62]
This is an 8-bit enumeration.
| Value | Description |
|---|---|
| 0 | Other |
| 1 | Entity Impact |
| … |