<commit_before>mci-doc-docbook
===============

Application of the DocBook tool chain, for the MetaCommunity Project [MCi]

## Availability

Source tree at Github: [<EMAIL>:MetaCommunity/mci-doc-docbook.git][mci-doc-docbook]

## Usage

See also: _[Documenting a Design Decision: Documentation Framework for the AFFTA Source Tree][affta-doc]_

### MCi Extention Module for DocBook

The [mci-doc-docbook][mci-doc-docbook] project defines an extension
module onto the [DocBook][docbook] schema, effectively the
_mci-doc-docbook schema_. The extension module provides a number of
features affecting the content model of a document applying the
_mci-doc-docbook schema_. A summary of features effectively added to the
[DocBook][docbook] schema, with the _mci-doc-docbook schema_:

* Include [XInclude][xinclude] elements within the following
  content models:
    * _set_
	* _toc_
	* _setindex_


#### Version of Upstream DocBook Schema

Presently, the [mci-doc-docbook][mci-doc-docbook] project applies the
[DocBook][docbook] schema version 5.0CR5

### Emacs Lisp Code

The [nXML][nxml] extension for Emacs Lisp provides an effective
baseline for editing of XML documents in
[GNU Emacs][emacs]. Typically, [nXML][nxml] is distributed with
[GNU Emacs][emacs].

#### External Submodules

The [mci-doc-docbook][mci-doc-docbook] project defines a number of 
_submodules_ onto the Git [source tree][mci-doc-docbook] published of
the [mci-doc-docbook][mci-doc-docbook] project. These _submodules_ are 
provided as a matter of convenience, for _syntax higlighting_ and
functional support in editing of document elements.

##### TDTD

As described in the [nXML TeXinfo documentation][nxml-info],
[nXML][nxml] has some functional support for editing of XML DTDs. A
morecomprehensive functionality is provided by [TDTD][tdtd].

[TDTD][tdtd] is defined as a _submodule_ of
[mci-doc-docbook][mci-doc-docbook], at a _pathname_ `externals/tdtd/`
within the [mci-doc-docbook][mci-doc-docbook] _source tree_

##### RNC-Mode

[RNC-Mode][rnc-mode] provides functional support for editing of _Relax
NG Compact Syntax_ (RNC) schema files.

[RNC-Mode][rnc-mode] is defined as a _submodule_ of
[mci-doc-docbook][mci-doc-docbook], at a _pathname_ `externals/rnc-mode/`
within the [mci-doc-docbook][mci-doc-docbook] _source tree_


[affta-doc]: http://journal.metacommunity.info/post/2014/10/design-decision-affta-documentation
[mci-doc-docbook]: https://github.com/MetaCommunity/mci-doc-docbook
[docbook]: http://www.docbook.org/
[xinclude]: http://www.w3.org/TR/2006/REC-xinclude-20061115/
[rnc-mode]: https://github.com/TreeRex/rnc-mode
[tdtd]: http://www.menteith.com/wiki/tdtd
[nxml]: http://www.thaiopensource.com/nxml-mode/
[emacs]: http://www.gnu.org/software/emacs/
[nxml-info]: http://www.gnu.org/software/emacs/manual/html_mono/nxml-mode.html<commit_msg>add design notes for an extension onto ASDF<commit_after>mci-doc-docbook
===============

Application of the DocBook tool chain, for the MetaCommunity Project [MCi]

## Availability

Source tree at Github: [<EMAIL>:MetaCommunity/mci-doc-docbook.git][mci-doc-docbook]


## Usage

See also: _[Documenting a Design Decision: Documentation Framework for the AFFTA Source Tree][affta-doc]_

### Extension for Applications of the DocBook Toolchain onto ASDF

(TBD)

#### XML Components

* Class: `XML-COMPONENT`
* Class: `XML-FILE`

_Note: An `XML-COMPONENT` could be provided as simply a stream object
-- possibly embedded within an information object of an XML format or
other format, e.g. a Common Lisp docuentation string, whereas an
`XML-FILE` must be mapped to a file on a filesystem.__

#### Schema Components

* Class: `SCHEMA-COMPONENT`
* Class: `SCHEMA-FILE`

* Class: `DTD-COMPONENT`
* Class: `DTD-FILE`

* Class: `RNG-SCHEMA-COMPONENT`
* Class: `RNG-SCHEMA-FILE`

* Class: `RNC-SCHEMA-COMPONENT`
* Class: `RNC-SCHEMA-FILE`

* Class: `XSD-SCHEMA-COMPONENT`
* Class: `XSD-SCHEMA-FILE`

#### Document Formatting Components

* Class: `FORMATTING-SPECIFIER`
* Class: `XSL-STYLESHEET-COMPONENT`
* Class: `XSL-STYLESHEET-FILE`

#### Output Files

_Purpose: To define systems of ASDF output files, for development of
an application packaging system. See also: [dobelle-app][dobelle-app]_

* Class: `HTML-FILE`
* Class: `PDF-FILE`
* Class: `MANUAL-PAGE-FILE`
* Class: `TEXINFO-FILE`
* Class: `TEX-FILE`

#### Application Definitions

_Purpose: To define 'applications' such as would be expected to be 
installed on the host operating system, for validation and formatting
of source files. See also: [dobelle-app][dobelle-app]_

_Example usage cases:_

* _Define syntax checker for `XML-Component` and `XML-File` objects_
* _Define XSLT engine for application of `XSL-Stylesheet-File` objects
  onto `XML-File` objects_
* _Define spelling checker for `XML-Component`, `XML-File`, and other
  source file objects_
* _Provide integration with Emacs and other IDE systems_
* _Integrate system definitions with host packaging system. See also: [dobelle-app][dobelle-app]_

### MCi Extention Module for DocBook

The [mci-doc-docbook][mci-doc-docbook] project defines an extension
module onto the [DocBook][docbook] schema, effectively the
_mci-doc-docbook schema_. The extension module provides a number of
features affecting the content model of a document applying the
_mci-doc-docbook schema_. A summary of features effectively added to the
[DocBook][docbook] schema, with the _mci-doc-docbook schema_:

* Include [XInclude][xinclude] elements within the following
  content models:
    * _set_
	* _toc_
	* _setindex_


#### Version of Upstream DocBook Schema

Presently, the [mci-doc-docbook][mci-doc-docbook] project applies the
[DocBook][docbook] schema version 5.0CR5

### Emacs Lisp Code

The [nXML][nxml] extension for Emacs Lisp provides an effective
baseline for editing of XML documents in
[GNU Emacs][emacs]. Typically, [nXML][nxml] is distributed with
[GNU Emacs][emacs].

#### External Submodules

The [mci-doc-docbook][mci-doc-docbook] project defines a number of 
_submodules_ onto the Git [source tree][mci-doc-docbook] published of
the [mci-doc-docbook][mci-doc-docbook] project. These _submodules_ are 
provided as a matter of convenience, for _syntax higlighting_ and
functional support in editing of document elements.

##### TDTD

As described in the [nXML TeXinfo documentation][nxml-info],
[nXML][nxml] has some functional support for editing of XML DTDs. A
morecomprehensive functionality is provided by [TDTD][tdtd].

[TDTD][tdtd] is defined as a _submodule_ of
[mci-doc-docbook][mci-doc-docbook], at a _pathname_ `externals/tdtd/`
within the [mci-doc-docbook][mci-doc-docbook] _source tree_

##### RNC-Mode

[RNC-Mode][rnc-mode] provides functional support for editing of _Relax
NG Compact Syntax_ (RNC) schema files.

[RNC-Mode][rnc-mode] is defined as a _submodule_ of
[mci-doc-docbook][mci-doc-docbook], at a _pathname_ `externals/rnc-mode/`
within the [mci-doc-docbook][mci-doc-docbook] _source tree_


[affta-doc]: http://journal.metacommunity.info/post/2014/10/design-decision-affta-documentation
[mci-doc-docbook]: https://github.com/MetaCommunity/mci-doc-docbook
[docbook]: http://www.docbook.org/
[xinclude]: http://www.w3.org/TR/2006/REC-xinclude-20061115/
[rnc-mode]: https://github.com/TreeRex/rnc-mode
[tdtd]: http://www.menteith.com/wiki/tdtd
[nxml]: http://www.thaiopensource.com/nxml-mode/
[emacs]: http://www.gnu.org/software/emacs/
[nxml-info]: http://www.gnu.org/software/emacs/manual/html_mono/nxml-mode.html
[dobelle-app]: https://github.com/MetaCommunity/dobelle-app
{'fraction_non_alphanumeric': 0.12301166489925769, 'fraction_numerical': 0.005832449628844115, 'mean_word_length': 5.045673076923077, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 5, 'lorem ipsum': 0, 'www.': 12, 'xml': 16}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3535695', 'n_tokens_mistral': 2670, 'n_tokens_neox': 2550, 'n_words': 749}