# API Reference Specialization

Purpose: The API Reference specialization provides a general-purpose basis for documenting callable programming libraries. The design of API Reference is based loosely on the principle objects from the eCore metamodel of the Eclipse Modeling Framework (EMF). The API Reference can used to create basic API documentation or can be specialized for a programming language or library type to make it easier to write complete and accurate documentation for such libraries. The Java API Reference provides an example of how to extend the API Reference specialization for the libraries of a specific programming language.

You can view the reference documentation for the API Reference specialization.

## Building

The API Reference specialization provides the conductor.xml file to extend the base Ant targets with the following build targets:

apiref2xhtml
  Build the API map for a package to XHTML.

The run-ant.xml file executes this build targets on the sample content.

You should run the sample Ant build from the base directory for the DITA Open Toolkit, using a relative path to the API Reference specialization:

    ant -f demo\apiref\install_plugin.xml
    ant -f demo\apiref\run_ant.xml optionalTarget

You need only execute the install_plugin.xml file after initial installation or update of any plugin.

## Contents

The specialization includes subdirectories with the following contents:

doc
  The source files and output for the documentation.
dtd
  DTDs for the document type for the API Reference specialization.
out
  Formatted sample output files from the Ant build.
sample
  Source files for an example of package content.
xsd
  XML Schemas for the document type for the API Reference specialization.
xsl
  Transforms for producing the output of the Ant build.

## Contributors

Erik Hennum, Dennis Grace, Mariana Alupului, Michael Priestley, Michelle C Carey, Nigel Hopper, Rob Pierce, and Robert D Anderson