Menu

NewTemplate

Anonymous Graham Shanks

Reorganisation of SISO-REF-010

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

Related

Wiki: Home

MongoDB Logo MongoDB