ConfigDoc
Description
- Derived from
- 
SerializableBase abstract 
 IValidatable
 ICollector<TypeDocNode>
Defines documentation content for ConfigTypes.
The workflow for authoring config documentation looks like this:
- 
Author an XML file that contains the documentation content. 
- 
Use Generate to compile a BCD file from the XML file. 
- 
Use Load1 to load an external BCD file at runtime. - 
or - 
 Use EmbeddedResource.Generate to embed an BCD file in the binary.
 
- 
Alternatively, the following code-based workflow may be used:
- 
Create MemberDocNode objects and populate with IBlockNode content. 
- 
Create TypeDocNode objects and populate with IBlockNode content and MemberDocNode objects. 
- 
Create a ConfigDoc object for a specific TinmanModule and populate with TypeDocNode objects. 
- 
Optionally use Save1 to write a BCD file (see first workflow). 
Public / Methods
Generate
Builds a config documentation file (*.BCD) from the given XML content.
The documentation content XML must be compatible with this DTD:
<!ELEMENT documentation (type*)> <!ATTLIST documentation guid CDATA #IMPLIED> <!ELEMENT type (text, field*)> <!ATTLIST type name CDATA #REQUIRED> <!ELEMENT field (text*) > <!ATTLIST field name CDATA #REQUIRED> <!ELEMENT text (#PCDATA|p|b|i|c|a|br|hr|ul|ol)*> <!ATTLIST text lang CDATA #REQUIRED> <!ELEMENT a EMPTY> <!ATTLIST a href CDATA #REQUIRED> <!ELEMENT p (#PCDATA|b|i|c|a|br)*> <!ELEMENT b (#PCDATA)> <!ELEMENT i (#PCDATA)> <!ELEMENT c (#PCDATA)> <!ELEMENT br EMPTY> <!ELEMENT hr EMPTY> <!ELEMENT ul (li*)> <!ELEMENT ol (li*)> <!ELEMENT li (#PCDATA|p|b|i|c|a|br|ul|ol)*>
Use this to associate an XML file with the DTD:
<!DOCTYPE documentation PUBLIC "-//TINMAN//CONFIGDOC//EN" "https://dtd.tinman3d.com/ConfigDoc.dtd">
The type and field elements are loaded into TypeDocNode and MemberDocNode objects and added to an intermediate ConfigDoc object, which is then saved to a BCD file. The trimmed inner XML content of text can be passed to DocumentUtil.BlockContent, in order to produce IBlockNode content objects.
- IOException
- 
If an I/O error has occurred. 
- ValidatingException
- 
If the XML content is malformed. 
- See also
Load
2 overloads
Loads the given config documentation file (*.BCD).
- IOException
- 
If an I/O error has occurred. 
- See also
Loads the given config documentation file (*.BCD).
- IOException
- 
If an I/O error has occurred. 
- See also
Save
2 overloads
Saves this config documentation to a file (*.BCD).
- IOException
- 
If an I/O error has occurred. 
Saves this config documentation to a file (*.BCD).
- IOException
- 
If an I/O error has occurred.