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.