aboutsummaryrefslogtreecommitdiffstats
path: root/lib/docbuilder/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'lib/docbuilder/doc/src')
-rw-r--r--lib/docbuilder/doc/src/Makefile132
-rw-r--r--lib/docbuilder/doc/src/block_tags.xml431
-rw-r--r--lib/docbuilder/doc/src/book.xml50
-rw-r--r--lib/docbuilder/doc/src/character_entities.xml546
-rw-r--r--lib/docbuilder/doc/src/docb_gen.xml213
-rw-r--r--lib/docbuilder/doc/src/docb_transform.xml224
-rw-r--r--lib/docbuilder/doc/src/docb_xml_check.xml59
-rw-r--r--lib/docbuilder/doc/src/docbuilder_app.xml57
-rw-r--r--lib/docbuilder/doc/src/fasc_dtds.xml115
-rw-r--r--lib/docbuilder/doc/src/fascicules.xml15
-rw-r--r--lib/docbuilder/doc/src/gazonk17
-rw-r--r--lib/docbuilder/doc/src/header_tags.xml183
-rw-r--r--lib/docbuilder/doc/src/inline_tags.xml254
-rw-r--r--lib/docbuilder/doc/src/make.dep33
-rw-r--r--lib/docbuilder/doc/src/man.gifbin0 -> 6048 bytes
-rw-r--r--lib/docbuilder/doc/src/man.ps750
-rw-r--r--lib/docbuilder/doc/src/notes.xml156
-rw-r--r--lib/docbuilder/doc/src/overview.xml185
-rw-r--r--lib/docbuilder/doc/src/part.xml43
-rw-r--r--lib/docbuilder/doc/src/part_notes.xml37
-rw-r--r--lib/docbuilder/doc/src/ref_man.xml40
-rw-r--r--lib/docbuilder/doc/src/refman_dtds.xml667
-rw-r--r--lib/docbuilder/doc/src/user_guide_dtds.xml181
23 files changed, 4388 insertions, 0 deletions
diff --git a/lib/docbuilder/doc/src/Makefile b/lib/docbuilder/doc/src/Makefile
new file mode 100644
index 0000000000..ae34266844
--- /dev/null
+++ b/lib/docbuilder/doc/src/Makefile
@@ -0,0 +1,132 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1997-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../../vsn.mk
+VSN=$(DOCB_VSN)
+APPLICATION=docbuilder
+
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+XML_APPLICATION_FILES = ref_man.xml
+XML_REF3_FILES = \
+ docb_gen.xml \
+ docb_transform.xml \
+ docb_xml_check.xml
+XML_REF6_FILES = \
+ docbuilder_app.xml
+
+XML_PART_FILES = part.xml part_notes.xml
+XML_CHAPTER_FILES = \
+ overview.xml \
+ user_guide_dtds.xml \
+ refman_dtds.xml \
+ fasc_dtds.xml \
+ header_tags.xml \
+ block_tags.xml \
+ inline_tags.xml \
+ character_entities.xml \
+ notes.xml
+
+BOOK_FILES = book.xml
+
+GIF_FILES = \
+ man.gif
+
+
+XML_FILES = \
+ $(BOOK_FILES) $(XML_CHAPTER_FILES) \
+ $(XML_PART_FILES) $(XML_REF3_FILES) $(XML_REF6_FILES) \
+ $(XML_APPLICATION_FILES)
+
+# ----------------------------------------------------
+
+HTML_FILES = \
+ $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html) \
+ $(XML_PART_FILES:%.xml=$(HTMLDIR)/%.html)
+
+INFO_FILE = ../../info
+
+MAN3_FILES = $(XML_REF3_FILES:%.xml=$(MAN3DIR)/%.3)
+MAN6_FILES = $(XML_REF6_FILES:%_app.xml=$(MAN6DIR)/%.6)
+
+HTML_REF_MAN_FILE = $(HTMLDIR)/index.html
+
+TOP_PDF_FILE = $(PDFDIR)/$(APPLICATION)-$(VSN).pdf
+
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+DVIPS_FLAGS +=
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+$(HTMLDIR)/%.gif: %.gif
+ $(INSTALL_DATA) $< $@
+
+docs: pdf html man
+
+$(TOP_PDF_FILE): $(XML_FILES)
+
+pdf: $(TOP_PDF_FILE)
+
+html: gifs $(HTML_REF_MAN_FILE)
+
+man: $(MAN3_FILES) $(MAN6_FILES)
+
+gifs: $(GIF_FILES:%=$(HTMLDIR)/%)
+
+debug opt:
+
+clean clean_docs:
+ rm -rf $(HTMLDIR)/*
+ rm -f $(MAN3DIR)/*
+ rm -f $(MAN6DIR)/*
+ rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo)
+ rm -f errs core *~
+
+# ----------------------------------------------------
+# Release Target
+# ----------------------------------------------------
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_docs_spec: docs
+ $(INSTALL_DIR) $(RELSYSDIR)/doc/pdf
+ $(INSTALL_DATA) $(TOP_PDF_FILE) $(RELSYSDIR)/doc/pdf
+ $(INSTALL_DIR) $(RELSYSDIR)/doc/html
+ $(INSTALL_DATA) $(HTMLDIR)/* \
+ $(RELSYSDIR)/doc/html
+ $(INSTALL_DATA) $(INFO_FILE) $(RELSYSDIR)
+ $(INSTALL_DIR) $(RELEASE_PATH)/man/man3
+ $(INSTALL_DATA) $(MAN3DIR)/* $(RELEASE_PATH)/man/man3
+ $(INSTALL_DIR) $(RELEASE_PATH)/man/man6
+ $(INSTALL_DATA) $(MAN6_FILES) $(RELEASE_PATH)/man/man6
+
+release_spec:
diff --git a/lib/docbuilder/doc/src/block_tags.xml b/lib/docbuilder/doc/src/block_tags.xml
new file mode 100644
index 0000000000..f5ba083f38
--- /dev/null
+++ b/lib/docbuilder/doc/src/block_tags.xml
@@ -0,0 +1,431 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Block Tags</title>
+ <prepared/>
+ <docno/>
+ <date/>
+ <rev/>
+ <file>block_tags.xml</file>
+ </header>
+
+ <p>Block tags typically define a separate block of information, such
+ as a paragraph or a list.</p>
+
+ <p>The following subset of block tags are common for all DTDs in
+ the DocBuilder DTD suite:
+ <marker id="block_subset"></marker>
+ <seealso marker="#pTAG">&lt;p&gt;</seealso>,
+ <seealso marker="#preTAG">&lt;pre&gt;</seealso>,
+ <seealso marker="#codeTAG">&lt;code&gt;</seealso>,
+ <seealso marker="#listTAG">&lt;list&gt;</seealso>,
+ <seealso marker="#taglistTAG">&lt;taglist&gt;</seealso>,
+ <seealso marker="#codeincludeTAG">&lt;codeinclude&gt;</seealso> and
+ <seealso marker="#erlevalTAG">&lt;erleval&gt;</seealso>.
+ </p>
+
+ <section>
+ <marker id="brTAG"></marker>
+ <title>&lt;br&gt; - Line Break</title>
+
+ <p>Forces a newline. Example:</p>
+ <pre>
+Eat yourself&lt;br/&gt;senseless!
+ </pre>
+ <p>results in:</p>
+ <p>Eat yourself<br/>senseless!</p>
+
+ <p>The <c><![CDATA[<br>]]></c> tag is both a block- and an inline
+ tag.</p>
+ </section>
+
+ <section>
+ <marker id="codeTAG"></marker>
+ <title>&lt;code&gt; - Code Example</title>
+
+ <p>Highlight code examples. Example:</p>
+ <pre>
+&lt;code>
+sum([H|T]) ->
+ H + sum(T);
+sum([]) ->
+ 0.
+&lt;/code>
+ </pre>
+ <p>results in:</p>
+ <code>
+sum([H|T]) ->
+ H + sum(T);
+sum([]) ->
+ 0.
+ </code>
+
+ <p>There is an attribute <c>type = "erl" | "c" | "none"</c>, but
+ currently this attribute is ignored by DocBuilder. Default value
+ is <c>"none"</c></p>
+
+ <note>
+ <p>No tags are allowed within the tag and no
+ <seealso marker="character_entities">character
+ entities</seealso> are expanded.</p>
+ </note>
+ </section>
+
+ <section>
+ <marker id="codeincludeTAG"></marker>
+ <title>&lt;codeinclude&gt; - Code Inclusion</title>
+
+ <p>Include external code snippets. The attribute <c>file</c>
+ gives the file name and <c>tag</c> defines a string which
+ delimits the code snippet. Example:</p>
+ <pre>
+&lt;codeinclude file="gazonk" tag="%% Erlang example"/&gt;
+ </pre>
+ <p>results in:</p>
+ <codeinclude file="gazonk" tag="%% Erlang example"/>
+
+ <p>provided there is a file named <c>gazonk</c> looking like this:
+ </p>
+ <code>
+...
+
+%% Erlang example
+-module(gazonk).
+
+start() ->
+ {error,"Pid required!"}.
+start(Pid) ->
+ spawn(fun() -> init(Pid) end).
+%% Erlang example
+
+...
+ </code>
+
+ <p>If the <c>tag</c> attribute is omitted, the whole file is
+ included.</p>
+
+ <p>There is also an attribute <c>type = "erl" | "c" | "none"</c>, but
+ currently this attribute is ignored by DocBuilder. Default value
+ is <c>"none"</c></p>
+ </section>
+
+ <section>
+ <marker id="erlevalTAG"></marker>
+ <title>&lt;erleval&gt; - Erlang Evaluation</title>
+
+ <p>Include the result from evaluating an Erlang expression. Example:
+ </p>
+ <code><![CDATA[
+<erleval expr="{A,b,C}={a,b,c}. "/>
+ ]]></code>
+ <p>results in:</p>
+ <erleval expr="{A,b,C}={a,b,c}. "></erleval>
+
+ <p>Note the '.' and space after the expression.</p>
+ </section>
+
+ <section>
+ <marker id="listTAG"></marker>
+ <title>&lt;list&gt; - List</title>
+
+ <p>The attribute <c>type = "ordered"|"bulleted"</c> decides if
+ the list is numbered or bulleted. Default is <c>"bulleted"</c>.
+ </p>
+
+ <p>Lists contains list items, tag <c><![CDATA[<item>]]></c>, which
+ can contain plain text,
+ the <seealso marker="#block_subset">common subset of block
+ tags</seealso> and <seealso marker="inline_tags">inline
+ tags</seealso>. Example:</p>
+ <pre>
+&lt;list type="ordered"&gt;
+ &lt;item&gt;Askosal:
+ &lt;list&gt;
+ &lt;item&gt;Nullalisis&lt;/item>
+ &lt;item&gt;Facilisis&lt;/item>
+ &lt;/list&gt;
+ &lt;/item>
+ &lt;item&gt;Ankara&lt;/item>
+&lt;/list&gt;
+ </pre>
+ <p>results in:</p>
+ <list type="ordered">
+ <item>
+ <p>Askosal:</p>
+ <list type="bulleted">
+ <item>Nullalisis</item>
+ <item>Facilisis</item>
+ </list>
+ </item>
+ <item>Ankara</item>
+ </list>
+ </section>
+
+ <section>
+ <marker id="markerTAG"></marker>
+ <title>&lt;marker&gt; - Marker</title>
+
+ <p>Used as an anchor for hypertext references. The
+ <c><![CDATA[<marker>]]></c> tag is both a block- and an inline
+ tag and is described in
+ the <seealso marker="inline_tags#markerTAG">Inline Tags</seealso>
+ section.</p>
+ </section>
+
+ <section>
+ <marker id="pTAG"></marker>
+ <title>&lt;p&gt; - Paragraph</title>
+
+ <p>Paragraphs contain plain text and
+ <seealso marker="inline_tags">inline tags</seealso>. Example:</p>
+ <pre>
+&lt;p&gt;I call specific attention to
+ the authority given by the &lt;em&gt;21st Amendment&lt;/em&gt;
+ to the Constitution to prohibit transportation
+ or importation of intoxicating liquors into
+ any State in violation of the laws of such
+ State.&lt;/p&gt;
+ </pre>
+ <p>results in:</p>
+ <p>I call specific attention to
+ the authority given by the <em>21st Amendment</em>
+ to the Constitution to prohibit transportation
+ or importation of intoxicating liquors into
+ any State in violation of the laws of such
+ State.</p>
+ </section>
+
+ <section>
+ <marker id="noteTAG"></marker>
+ <title>&lt;note&gt; - Note</title>
+
+ <p>Highlights a note. Can contain block tags except
+ <c><![CDATA[<note>]]></c>, <c><![CDATA[<warning>]]></c>,
+ <c><![CDATA[<image>]]></c> and <c><![CDATA[<table>]]></c>.
+ Example:</p>
+<pre>
+&lt;note>
+ &lt;p>This function is mainly intended for debugging.&lt;/p>
+&lt;/note>
+ </pre>
+ <p>results in:</p>
+ <note>
+ <p>This function is mainly intended for debugging.</p>
+ </note>
+ </section>
+
+ <section>
+ <marker id="preTAG"></marker>
+ <title>&lt;pre&gt; - Pre-formatted Text</title>
+
+ <p>Used for documentation of system interaction. Can contain text,
+ <seealso marker="inline_tags#seealsoTAG">seealso</seealso>,
+ <seealso marker="inline_tags#urlTAG">url</seealso> and
+ <c><![CDATA[<input>]]></c> tags.</p>
+
+ <p>The <c><![CDATA[<input>]]></c> tag is used to highlight user
+ input. Example:</p>
+ <pre>
+&lt;pre&gt;
+$ &lt;input&gt;erl&lt;/input&gt;
+Erlang (BEAM) emulator version 5.5.3 [async-threads:0] [hipe] [kernel-poll:false]
+
+Eshell V5.5.3 (abort with ^G)
+1&gt; &lt;input&gt;pwd().&lt;/input&gt;
+/home/user
+2&gt; &lt;input&gt;halt().&lt;/input&gt;
+&lt;/pre&gt;
+ </pre>
+ <p> results in:</p>
+ <pre>
+$ <input>erl</input>
+Erlang (BEAM) emulator version 5.5.3 [async-threads:0] [hipe] [kernel-poll:false]
+
+Eshell V5.5.3 (abort with ^G)
+1> <input>pwd().</input>
+/home/user
+2> <input>halt().</input>
+ </pre>
+
+ <p>All <seealso marker="character_entities">character
+ entities</seealso> are expanded.</p>
+ </section>
+
+ <section>
+ <marker id="quoteTAG"></marker>
+ <title>&lt;quote&gt; - Quotation</title>
+
+ <p>Highlight quotations from other works, or dialog spoken by
+ characters in a narrative. Contains one or more
+ <seealso marker="#pTAG">&lt;p&gt;</seealso> tags. Example:</p>
+ <pre>
+&lt;p&gt;Whereas Section 217(a) of the Act of Congress entitled
+"An Act ..." approved June 16, 1933, provides as follows:&lt;/p&gt;
+&lt;quote&gt;
+ &lt;p&gt;Section 217(a) The President shall proclaim the law.&lt;/p>
+&lt;/quote&gt;
+ </pre>
+ <p>results in:</p>
+ <p>Whereas Section 217(a) of the Act of Congress entitled
+ "An Act ..." approved June 16, 1933, provides as follows:</p>
+ <quote>
+ <p>Section 217(a) The President shall proclaim the law.</p>
+ </quote>
+ </section>
+
+ <section>
+ <marker id="taglistTAG"></marker>
+ <marker id="tagTAG"></marker>
+ <title>&lt;taglist&gt; - Definition List</title>
+
+ <p>Definition lists contains pairs of tags,
+ <c><![CDATA[<tag>]]></c>, and list items,
+ <c><![CDATA[<item>]]></c>.</p>
+
+ <p><c><![CDATA[<tag>]]></c> can contain plain text,
+ <seealso marker="inline_tags#cTAG">&lt;c&gt;</seealso>,
+ <seealso marker="inline_tags#emTAG">&lt;em&gt;</seealso>,
+ <seealso marker="inline_tags#seealsoTAG">&lt;seealso&gt;</seealso>
+ and <seealso marker="inline_tags#urlTAG">&lt;url&gt;</seealso>
+ tags.</p>
+
+ <p><c><![CDATA[<item>]]></c> can contain plain text,
+ the <seealso marker="#block_subset">common subset of block
+ tags</seealso> and <seealso marker="inline_tags">inline
+ tags</seealso>. Example:</p>
+ <pre>
+&lt;taglist>
+ &lt;tag>&lt;c>eacces&lt;/c>&lt;/tag>
+ &lt;item>Permission denied.&lt;/item>
+ &lt;tag>&lt;c>enoent&lt;/c>&lt;/tag>
+ &lt;item>No such file or directory.&lt;/item>
+&lt;/taglist>
+ </pre>
+ <p>results in:</p>
+ <taglist>
+ <tag><c>eacces</c></tag>
+ <item>Permission denied.</item>
+ <tag><c>enoent</c></tag>
+ <item>No such file or directory.</item>
+ </taglist>
+ </section>
+
+ <section>
+ <marker id="warningTAG"></marker>
+ <title>&lt;warning&gt; - Warning</title>
+
+ <p>Highlights a warning. Can contain block tags except
+ <c><![CDATA[<note>]]></c>, <c><![CDATA[<warning>]]></c>,
+ <c><![CDATA[<image>]]></c> and <c><![CDATA[<table>]]></c>.
+ Example:</p>
+<pre>
+&lt;warning>
+ &lt;p>This function might be removed in a future version without
+ prior warning.&lt;/p>
+&lt;/warning>
+ </pre>
+ <p>results in:</p>
+ <warning>
+ <p>This function might be removed in a future version without
+ prior warning.</p>
+ </warning>
+ </section>
+
+ <section>
+ <marker id="imageTAG"></marker>
+ <marker id="icaptionTAG"></marker>
+ <title>&lt;image&gt; - Image</title>
+
+ <p>Graphics is imported using the <c><![CDATA[<image>]]></c> tag.
+ An image caption <c><![CDATA[<icaption>]]></c>, containing plain
+ text, must be supplied. Example:</p>
+ <pre>
+&lt;image file="man"&gt;
+ &lt;icaption&gt;A Silly Man&lt;/icaption&gt;
+&lt;/image&gt;
+ </pre>
+ <p>results in:</p>
+ <image file="man.gif">
+ <icaption>A Silly Man</icaption>
+ </image>
+
+ <p>This assumes that <c>man.gif</c> exists in the current directory.
+ </p>
+ </section>
+
+ <section>
+ <marker id="tableTAG"></marker>
+ <marker id="rowTAG"></marker>
+ <marker id="cellTAG"></marker>
+ <marker id="tcaptionTAG"></marker>
+ <title>&lt;table&gt; - Table</title>
+
+ <p>The table format is similar to how tables are described in HTML
+ 3.2. A table contains one or more rows, <c><![CDATA[<row>]]></c>,
+ and a table caption <c><![CDATA[<tcaption>]]></c>, containing
+ plain text.</p>
+
+ <p>Each row contains one or more cells, <c><![CDATA[<cell>]]></c>.
+ The attributes <c>align = "left"|"center"|"right"</c> and
+ <c>valign = "top"|"middle"|"bottom"</c> decides how text is
+ aligned in the cell horizontally and vertically. Default is
+ "<c>left</c>" and "<c>middle</c>".</p>
+
+ <p>Each cell contains plain text and
+ <seealso marker="inline_tags">inline tags</seealso>. Example:</p>
+ <pre><![CDATA[
+ <table>
+ <row>
+ <cell align="left" valign="top"><em>Boys</em></cell>
+ <cell align="center" valign="middle"><em>Girls</em></cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">Juda</cell>
+ <cell align="right" valign="bottom">Susy</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">Anders</cell>
+ <cell align="left" valign="middle">Victoria</cell>
+ </row>
+ <tcaption>A table caption</tcaption>
+ </table>
+ ]]></pre>
+ <p>results in:</p>
+ <table>
+ <row>
+ <cell align="left" valign="top"><em>Boys</em></cell>
+ <cell align="center" valign="middle"><em>Girls</em></cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">Juda</cell>
+ <cell align="right" valign="bottom">Susy</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">Anders</cell>
+ <cell align="left" valign="middle">Victoria</cell>
+ </row>
+ <tcaption>A table caption</tcaption>
+ </table>
+ </section>
+</chapter>
+
diff --git a/lib/docbuilder/doc/src/book.xml b/lib/docbuilder/doc/src/book.xml
new file mode 100644
index 0000000000..a13d56dd8a
--- /dev/null
+++ b/lib/docbuilder/doc/src/book.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE book SYSTEM "book.dtd">
+
+<book xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header titlestyle="normal">
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>DocBuilder</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <insidecover>
+ </insidecover>
+ <pagetext>Docbuilder</pagetext>
+ <preamble>
+ <contents level="2"></contents>
+ </preamble>
+ <parts lift="no">
+ <xi:include href="part.xml"/>
+ </parts>
+ <applications>
+ <xi:include href="ref_man.xml"/>
+ </applications>
+ <releasenotes>
+ <xi:include href="notes.xml"/>
+ </releasenotes>
+ <listoffigures></listoffigures>
+ <listoftables></listoftables>
+ <listofterms></listofterms>
+ <index></index>
+</book>
+
diff --git a/lib/docbuilder/doc/src/character_entities.xml b/lib/docbuilder/doc/src/character_entities.xml
new file mode 100644
index 0000000000..e78cf0ebec
--- /dev/null
+++ b/lib/docbuilder/doc/src/character_entities.xml
@@ -0,0 +1,546 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Character Entities</title>
+ <prepared/>
+ <docno/>
+ <date/>
+ <rev/>
+ <file>character_entities.xml</file>
+ </header>
+
+ <section>
+ <title>Added Latin 1</title>
+
+ <p>The DocBuilder DTD suite uses the same character entities as
+ defined in HTML 3.2
+ (<c>ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML</c>). That is:
+ for an &amp; (ampersand), use the entity: <c>&amp;amp;</c>, for
+ &ouml; use the entity <c>&amp;ouml;</c> and so on.</p>
+
+ <table>
+ <row>
+ <cell align="left" valign="middle"><em>Character</em></cell>
+ <cell align="left" valign="middle"><em>Entity</em></cell>
+ <cell align="left" valign="middle"><em>Description</em></cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&amp;</cell>
+ <cell align="left" valign="middle">&amp;amp;</cell>
+ <cell align="left" valign="middle">ampersand</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&gt;</cell>
+ <cell align="left" valign="middle">&amp;gt;</cell>
+ <cell align="left" valign="middle">greater than</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&lt;</cell>
+ <cell align="left" valign="middle">&amp;lt;</cell>
+ <cell align="left" valign="middle">less than</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&nbsp;</cell>
+ <cell align="left" valign="middle">&amp;nbsp;</cell>
+ <cell align="left" valign="middle">no-break space</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&iexcl;</cell>
+ <cell align="left" valign="middle">&amp;iexcl;</cell>
+ <cell align="left" valign="middle">inverted exclamation mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&cent;</cell>
+ <cell align="left" valign="middle">&amp;cent;</cell>
+ <cell align="left" valign="middle">cent sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&pound;</cell>
+ <cell align="left" valign="middle">&amp;pound;</cell>
+ <cell align="left" valign="middle">pound sterling sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&curren;</cell>
+ <cell align="left" valign="middle">&amp;curren;</cell>
+ <cell align="left" valign="middle">general currency sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&yen;</cell>
+ <cell align="left" valign="middle">&amp;yen;</cell>
+ <cell align="left" valign="middle">yen sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&brvbar;</cell>
+ <cell align="left" valign="middle">&amp;brvbar;</cell>
+ <cell align="left" valign="middle">broken (vertical) bar</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&sect;</cell>
+ <cell align="left" valign="middle">&amp;sect;</cell>
+ <cell align="left" valign="middle">section sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&uml;</cell>
+ <cell align="left" valign="middle">&amp;uml;</cell>
+ <cell align="left" valign="middle">umlaut (dieresis)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&copy;</cell>
+ <cell align="left" valign="middle">&amp;copy;</cell>
+ <cell align="left" valign="middle">copyright sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ordf;</cell>
+ <cell align="left" valign="middle">&amp;ordf;</cell>
+ <cell align="left" valign="middle">ordinal indicator, feminine</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&laquo;</cell>
+ <cell align="left" valign="middle">&amp;laquo;</cell>
+ <cell align="left" valign="middle">angle quotation mark, left</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&not;</cell>
+ <cell align="left" valign="middle">&amp;not;</cell>
+ <cell align="left" valign="middle">not sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&shy;</cell>
+ <cell align="left" valign="middle">&amp;shy;</cell>
+ <cell align="left" valign="middle">soft hyphen</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&reg;</cell>
+ <cell align="left" valign="middle">&amp;reg;</cell>
+ <cell align="left" valign="middle">registered sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&macr;</cell>
+ <cell align="left" valign="middle">&amp;macr;</cell>
+ <cell align="left" valign="middle">macron</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&deg;</cell>
+ <cell align="left" valign="middle">&amp;deg;</cell>
+ <cell align="left" valign="middle">degree sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&plusmn;</cell>
+ <cell align="left" valign="middle">&amp;plusmn;</cell>
+ <cell align="left" valign="middle">plus-or-minus</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&sup2;</cell>
+ <cell align="left" valign="middle">&amp;sup2;</cell>
+ <cell align="left" valign="middle">superscript two</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&sup3;</cell>
+ <cell align="left" valign="middle">&amp;sup3;</cell>
+ <cell align="left" valign="middle">superscript three</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&acute;</cell>
+ <cell align="left" valign="middle">&amp;acute;</cell>
+ <cell align="left" valign="middle">acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&micro;</cell>
+ <cell align="left" valign="middle">&amp;micro;</cell>
+ <cell align="left" valign="middle">micro sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&para;</cell>
+ <cell align="left" valign="middle">&amp;para;</cell>
+ <cell align="left" valign="middle">pilcrow (paragraph sign)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&middot;</cell>
+ <cell align="left" valign="middle">&amp;middot;</cell>
+ <cell align="left" valign="middle">middle dot</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&cedil;</cell>
+ <cell align="left" valign="middle">&amp;cedil;</cell>
+ <cell align="left" valign="middle">cedilla</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&sup1;</cell>
+ <cell align="left" valign="middle">&amp;sup1;</cell>
+ <cell align="left" valign="middle">superscript one</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ordm;</cell>
+ <cell align="left" valign="middle">&amp;ordm;</cell>
+ <cell align="left" valign="middle">ordinal indicator, masculine</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&raquo;</cell>
+ <cell align="left" valign="middle">&amp;raquo;</cell>
+ <cell align="left" valign="middle">angle quotation mark, right</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&frac14;</cell>
+ <cell align="left" valign="middle">&amp;frac14;</cell>
+ <cell align="left" valign="middle">fraction one-quarter</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&frac12;</cell>
+ <cell align="left" valign="middle">&amp;frac12;</cell>
+ <cell align="left" valign="middle">fraction one-half</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&frac34;</cell>
+ <cell align="left" valign="middle">&amp;frac34;</cell>
+ <cell align="left" valign="middle">fraction three-quarters</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&iquest;</cell>
+ <cell align="left" valign="middle">&amp;iquest;</cell>
+ <cell align="left" valign="middle">inverted question mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Agrave;</cell>
+ <cell align="left" valign="middle">&amp;Agrave;</cell>
+ <cell align="left" valign="middle">capital A, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Aacute;</cell>
+ <cell align="left" valign="middle">&amp;Aacute;</cell>
+ <cell align="left" valign="middle">capital A, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Acirc;</cell>
+ <cell align="left" valign="middle">&amp;Acirc;</cell>
+ <cell align="left" valign="middle">capital A, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Atilde;</cell>
+ <cell align="left" valign="middle">&amp;Atilde;</cell>
+ <cell align="left" valign="middle">capital A, tilde</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Auml;</cell>
+ <cell align="left" valign="middle">&amp;Auml;</cell>
+ <cell align="left" valign="middle">capital A, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Aring;</cell>
+ <cell align="left" valign="middle">&amp;Aring;</cell>
+ <cell align="left" valign="middle">capital A, ring</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&AElig;</cell>
+ <cell align="left" valign="middle">&amp;AElig;</cell>
+ <cell align="left" valign="middle">capital AE diphthong (ligature)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Ccedil;</cell>
+ <cell align="left" valign="middle">&amp;Ccedil;</cell>
+ <cell align="left" valign="middle">capital C, cedilla</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Egrave;</cell>
+ <cell align="left" valign="middle">&amp;Egrave;</cell>
+ <cell align="left" valign="middle">capital E, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Eacute;</cell>
+ <cell align="left" valign="middle">&amp;Eacute;</cell>
+ <cell align="left" valign="middle">capital E, acute accen</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Ecirc;</cell>
+ <cell align="left" valign="middle">&amp;Ecirc;</cell>
+ <cell align="left" valign="middle">capital E, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Euml;</cell>
+ <cell align="left" valign="middle">&amp;Euml;</cell>
+ <cell align="left" valign="middle">capital E, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Igrave;</cell>
+ <cell align="left" valign="middle">&amp;Igrave;</cell>
+ <cell align="left" valign="middle">capital I, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Iacute;</cell>
+ <cell align="left" valign="middle">&amp;Iacute;</cell>
+ <cell align="left" valign="middle">capital I, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Icirc;</cell>
+ <cell align="left" valign="middle">&amp;Icirc;</cell>
+ <cell align="left" valign="middle">capital I, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Iuml;</cell>
+ <cell align="left" valign="middle">&amp;Iuml;</cell>
+ <cell align="left" valign="middle">capital I, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ETH;</cell>
+ <cell align="left" valign="middle">&amp;ETH;</cell>
+ <cell align="left" valign="middle">capital Eth, Icelandic</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Ntilde;</cell>
+ <cell align="left" valign="middle">&amp;Ntilde;</cell>
+ <cell align="left" valign="middle">capital N, tilde</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Ograve;</cell>
+ <cell align="left" valign="middle">&amp;Ograve;</cell>
+ <cell align="left" valign="middle">capital O, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Oacute;</cell>
+ <cell align="left" valign="middle">&amp;Oacute;</cell>
+ <cell align="left" valign="middle">capital O, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Ocirc;</cell>
+ <cell align="left" valign="middle">&amp;Ocirc;</cell>
+ <cell align="left" valign="middle">capital O, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Otilde;</cell>
+ <cell align="left" valign="middle">&amp;Otilde;</cell>
+ <cell align="left" valign="middle">capital O, tilde</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Ouml;</cell>
+ <cell align="left" valign="middle">&amp;Ouml;</cell>
+ <cell align="left" valign="middle">capital O, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&times;</cell>
+ <cell align="left" valign="middle">&amp;times;</cell>
+ <cell align="left" valign="middle">multiply sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Oslash;</cell>
+ <cell align="left" valign="middle">&amp;Oslash;</cell>
+ <cell align="left" valign="middle">capital O, slash</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Ugrave;</cell>
+ <cell align="left" valign="middle">&amp;Ugrave;</cell>
+ <cell align="left" valign="middle">capital U, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Uacute;</cell>
+ <cell align="left" valign="middle">&amp;Uacute;</cell>
+ <cell align="left" valign="middle">capital U, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Ucirc;</cell>
+ <cell align="left" valign="middle">&amp;Ucirc;</cell>
+ <cell align="left" valign="middle">capital U, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Uuml;</cell>
+ <cell align="left" valign="middle">&amp;Uuml;</cell>
+ <cell align="left" valign="middle">capital U, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&Yacute;</cell>
+ <cell align="left" valign="middle">&amp;Yacute;</cell>
+ <cell align="left" valign="middle">capital Y, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&THORN;</cell>
+ <cell align="left" valign="middle">&amp;THORN;</cell>
+ <cell align="left" valign="middle">capital THORN, Icelandic</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&szlig;</cell>
+ <cell align="left" valign="middle">&amp;szlig;</cell>
+ <cell align="left" valign="middle">small sharp s, German (sz ligature)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&agrave;</cell>
+ <cell align="left" valign="middle">&amp;agrave;</cell>
+ <cell align="left" valign="middle">small a, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&aacute;</cell>
+ <cell align="left" valign="middle">&amp;aacute;</cell>
+ <cell align="left" valign="middle">small a, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&acirc;</cell>
+ <cell align="left" valign="middle">&amp;acirc;</cell>
+ <cell align="left" valign="middle">small a, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&atilde;</cell>
+ <cell align="left" valign="middle">&amp;atilde;</cell>
+ <cell align="left" valign="middle">small a, tilde</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&auml;</cell>
+ <cell align="left" valign="middle">&amp;auml;</cell>
+ <cell align="left" valign="middle">small a, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&aring;</cell>
+ <cell align="left" valign="middle">&amp;aring;</cell>
+ <cell align="left" valign="middle">small a, ring</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&aelig;</cell>
+ <cell align="left" valign="middle">&amp;aelig;</cell>
+ <cell align="left" valign="middle">small ae diphthong (ligature)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ccedil;</cell>
+ <cell align="left" valign="middle">&amp;ccedil;</cell>
+ <cell align="left" valign="middle">small c, cedilla</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&egrave;</cell>
+ <cell align="left" valign="middle">&amp;egrave;</cell>
+ <cell align="left" valign="middle">small e, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&eacute;</cell>
+ <cell align="left" valign="middle">&amp;eacute;</cell>
+ <cell align="left" valign="middle">small e, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ecirc;</cell>
+ <cell align="left" valign="middle">&amp;ecirc;</cell>
+ <cell align="left" valign="middle">small e, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&euml;</cell>
+ <cell align="left" valign="middle">&amp;euml;</cell>
+ <cell align="left" valign="middle">small e, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&igrave;</cell>
+ <cell align="left" valign="middle">&amp;igrave;</cell>
+ <cell align="left" valign="middle">small i, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&iacute;</cell>
+ <cell align="left" valign="middle">&amp;iacute;</cell>
+ <cell align="left" valign="middle">small i, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&icirc;</cell>
+ <cell align="left" valign="middle">&amp;icirc;</cell>
+ <cell align="left" valign="middle">small i, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&iuml;</cell>
+ <cell align="left" valign="middle">&amp;iuml;</cell>
+ <cell align="left" valign="middle">small i, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&eth;</cell>
+ <cell align="left" valign="middle">&amp;eth;</cell>
+ <cell align="left" valign="middle">small eth, Icelandic</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ntilde;</cell>
+ <cell align="left" valign="middle">&amp;ntilde;</cell>
+ <cell align="left" valign="middle">small n, tilde</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ograve;</cell>
+ <cell align="left" valign="middle">&amp;ograve;</cell>
+ <cell align="left" valign="middle">small o, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&oacute;</cell>
+ <cell align="left" valign="middle">&amp;oacute;</cell>
+ <cell align="left" valign="middle">small o, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ocirc;</cell>
+ <cell align="left" valign="middle">&amp;ocirc;</cell>
+ <cell align="left" valign="middle">small o, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&otilde;</cell>
+ <cell align="left" valign="middle">&amp;otilde;</cell>
+ <cell align="left" valign="middle">small o, tilde</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ouml;</cell>
+ <cell align="left" valign="middle">&amp;ouml;</cell>
+ <cell align="left" valign="middle">small o, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&divide;</cell>
+ <cell align="left" valign="middle">&amp;divide;</cell>
+ <cell align="left" valign="middle">divide sign</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&oslash;</cell>
+ <cell align="left" valign="middle">&amp;oslash;</cell>
+ <cell align="left" valign="middle">small o, slash</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ugrave;</cell>
+ <cell align="left" valign="middle">&amp;ugrave;</cell>
+ <cell align="left" valign="middle">small u, grave accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&uacute;</cell>
+ <cell align="left" valign="middle">&amp;uacute;</cell>
+ <cell align="left" valign="middle">small u, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&ucirc;</cell>
+ <cell align="left" valign="middle">&amp;ucirc;</cell>
+ <cell align="left" valign="middle">small u, circumflex accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&uuml;</cell>
+ <cell align="left" valign="middle">&amp;uuml;</cell>
+ <cell align="left" valign="middle">small u, dieresis or umlaut mark</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&yacute;</cell>
+ <cell align="left" valign="middle">&amp;yacute;</cell>
+ <cell align="left" valign="middle">small y, acute accent</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&thorn;</cell>
+ <cell align="left" valign="middle">&amp;thorn;</cell>
+ <cell align="left" valign="middle">small thorn, Icelandic</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">&yuml;</cell>
+ <cell align="left" valign="middle">&amp;yuml;</cell>
+ <cell align="left" valign="middle">small y, dieresis or umlaut mark</cell>
+ </row>
+ <tcaption>Accented Latin-1 alphabetic characters.</tcaption>
+ </table>
+ </section>
+</chapter>
+
diff --git a/lib/docbuilder/doc/src/docb_gen.xml b/lib/docbuilder/doc/src/docb_gen.xml
new file mode 100644
index 0000000000..49eb79ae24
--- /dev/null
+++ b/lib/docbuilder/doc/src/docb_gen.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE erlref SYSTEM "erlref.dtd">
+
+<erlref>
+ <header>
+ <copyright>
+ <year>1999</year>
+ <year>2007</year>
+ <holder>Ericsson AB, All Rights Reserved</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ The Initial Developer of the Original Code is Ericsson AB.
+ </legalnotice>
+ <title>docb_gen</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <module>docb_gen</module>
+ <modulesummary>Generate XML from EDoc comments in Erlang source code.
+ </modulesummary>
+
+ <description>
+ <p><c>docb_gen</c> contains functions for generating XML
+ documentation source code according to the <c>erlref</c> or
+ <c>chapter</c> DTD from
+ <seealso marker="edoc:chapter">EDoc</seealso> comments in Erlang
+ source code or an <c>overview.edoc</c> file, using EDoc.</p>
+ </description>
+
+ <funcs>
+ <func>
+ <name>module(File) -> ok | {error, Reason}</name>
+ <name>module(File, Options) -> ok | {error, Reason}</name>
+ <fsummary>Generate XML from EDoc comments in Erlang source code.
+ </fsummary>
+ <type>
+ <v>File = string()</v>
+ <v>Options = [Opt]</v>
+ <v>Opt = {def,Defs} | {includes,Dirs} | {preprocess,Bool}
+ | {sort_functions,Bool}</v>
+ <v>Defs = [{atom(),string()}]</v>
+ <v>Dirs = [string()]</v>
+ <v>Bool = bool()</v>
+ <v>Reason = badfile | {badopt,term()} | term()</v>
+ </type>
+ <desc>
+ <p>Generates XML documentation source code according to
+ the <c>erlref</c> DTD from EDoc comments <c>File</c>, using
+ the EDoc application.</p>
+
+ <p><c>File</c> is an Erlang source file, given with or without
+ the <c>.erl</c> extension as <c>Name.erl</c> or <c>Name</c>.
+ The resulting XML file is created in the current working
+ directory and named <c>Name.xml</c>.</p>
+
+ <p><c>Options</c> is a list of options, see below.</p>
+
+ <p>Returns <c>ok</c> if successful, and an error tuple
+ otherwise.</p>
+ </desc>
+ </func>
+
+ <func>
+ <name>users_guide(File) -> ok | {error, Reason}</name>
+ <name>users_guide(File, Options) -> ok | {error, Reason}</name>
+ <fsummary>Generate XML from EDoc comments in Erlang source code
+ </fsummary>
+ <type>
+ <v>File -- see module/1,2</v>
+ <v>Options -- see module/1,2</v>
+ <v>Reason -- see module/1,2</v>
+ </type>
+ <desc>
+ <p>Like <c>module/1,2</c> but generates XML source code
+ according to the <c>chapter</c> DTD from an
+ <c>overview.edoc</c> or similar file.</p>
+
+ <p>The resulting file is named <c>chapter.xml</c>.</p>
+ </desc>
+ </func>
+ </funcs>
+
+ <section>
+ <title>Options</title>
+ <taglist>
+ <tag><c>{def, [{Name,Text}]}</c></tag>
+ <item>Specifies EDoc macro definitions. See
+ <seealso marker="edoc:edoc">edoc:get_doc/2</seealso>.</item>
+
+ <tag><c>{includes, [Dir]}</c></tag>
+ <item>Specifies directories where EDoc should search for include
+ files. See
+ <seealso marker="edoc:edoc">edoc:read_source/2</seealso>.</item>
+
+ <tag><c>{preprocess, true|false}</c></tag>
+ <item>Specifies if EDoc should read the source file via the Erlang
+ preprocessor. Default is <c>false</c>. See
+ <seealso marker="edoc:edoc">edoc:read_source/2</seealso>.</item>
+
+ <tag><c>{sort_functions, true|false}</c></tag>
+ <item>Specifies if the functions in the resulting XML file should
+ be sorted alphabetically. Default is <c>true</c>.</item>
+ </taglist>
+ </section>
+
+ <section>
+ <title>Limitations</title>
+ <p>The mapping from the EDoc XHTML output to valid Erlang/OTP XML
+ is not complete. An attempt has been made to cover the most
+ commonly used XHTML constructs, but there will still be cases
+ where XML generation fails or where the resulting XML is
+ inadequate. This is especially true for <c>users_guide/1,2</c>.
+ </p>
+
+ <p>Known limitations for some XHTML tags:</p>
+ <taglist>
+ <tag><c><![CDATA[<a>]]></c></tag>
+ <item>
+ <p>All attributes except the first <c>href</c> or <c>name</c>
+ attribute are ignored.</p>
+ <p>A <c>href</c> attribute means the <c><![CDATA[<a>]]></c> tag
+ will be transformed to a <c><![CDATA[<seealso>]]></c> or
+ <c><![CDATA[<url>]]></c> tag and an attempt is made to
+ resolve the reference if necessary.</p>
+
+ <p>A <c>name</c> attribute means the <c><![CDATA[<a>]]></c> tag
+ will be transformed to a <c><![CDATA[<marker>]]></c> tag.</p>
+ </item>
+
+ <tag><c><![CDATA[<b>, <em>, <pre>]]></c></tag>
+ <item>Cannot contain other tags in Erlang/OTP XML, content is
+ converted to plain text.
+ </item>
+
+ <tag><c><![CDATA[<center>]]></c></tag>
+ <item>No corresponding Erlang/OTP XML tag, converted to plain
+ text.
+ </item>
+
+ <tag><c><![CDATA[<font>]]></c></tag>
+ <item>No corresponding Erlang/OTP XML tag, converted to plain
+ text.
+ </item>
+
+ <tag><c><![CDATA[<h1>, <h2>, ...]]></c></tag>
+ <item>There is no tag corresponding to a header in Erlang/OTP XML,
+ so these are converted to plain text instead, with
+ the exception of <c><![CDATA[<h3>]]></c> and
+ <c><![CDATA[<h4>]]></c> tags within <c>overview.edoc</c>, see
+ part about "<c>chapter</c> DTD" below.
+ </item>
+
+ <tag><c><![CDATA[<sup>]]></c></tag>
+ <item>There is no tag corresponding to superscript in Erlang/OTP
+ XML, so this is converted to plain text within brackets "(..)".
+ </item>
+
+ <tag>References</tag>
+ <item>The markers automatically inserted by EDoc at each heading
+ and function will override the markers automatically inserted
+ by DocBuilder, with the unfortunate result that the links in
+ the left-hand frame of the User's Guide will not work, and
+ also that cross referencing a function in a module the usual
+ Erlang/OTP way
+ "<c><![CDATA[<seealso marker="edoc:edoc#run/3...>]]></c>" does
+ not work. (But
+ "<c><![CDATA[<seealso marker="edoc:edoc#run-3...>]]></c>" does.)
+ </item>
+ </taglist>
+
+ <p><em>erlref DTD</em></p>
+ <taglist>
+ <tag>Tables</tag>
+ <item>Tables are not allowed. The contents of a table is
+ converted to text instead, each row corresponding to one line
+ of text.
+ </item>
+ </taglist>
+
+ <p><em>chapter DTD</em></p>
+ <taglist>
+ <tag>Sections</tag>
+ <item>Only two levels of sections. <c><![CDATA[<h3>]]></c>
+ (equivalent to EDoc headings "<c>== Heading ==</c>") is
+ interpreted as start of top-level section, or if there is no
+ <c><![CDATA[<h3>]]></c> tag, the entire document is made into
+ one top-level section. <c><![CDATA[<h4>]]></c> (equivalent to
+ EDoc sub-headings ("<c><![CDATA[=== Sub-heading ===]]></c>") is
+ interpreted as start of second-level section.
+ </item>
+
+ <tag>Tables</tag>
+ <item>Tables without borders are converted to text in the same
+ manner as for the <c>erlref</c> DTD.
+ </item>
+ </taglist>
+ </section>
+
+</erlref>
+
diff --git a/lib/docbuilder/doc/src/docb_transform.xml b/lib/docbuilder/doc/src/docb_transform.xml
new file mode 100644
index 0000000000..b8975e2698
--- /dev/null
+++ b/lib/docbuilder/doc/src/docb_transform.xml
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE erlref SYSTEM "erlref.dtd">
+
+<erlref>
+ <header>
+ <copyright>
+ <year>2001</year>
+ <year>2007</year>
+ <holder>Ericsson AB, All Rights Reserved</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ The Initial Developer of the Original Code is Ericsson AB.
+ </legalnotice>
+
+ <title>docb_transform</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <module>docb_transform</module>
+ <modulesummary>Transform XML to HTML</modulesummary>
+ <description>
+ <p><c>docb_transform</c> contains functions for transforming XML
+ documentation source code to HTML.</p>
+ </description>
+
+ <funcs>
+ <func>
+ <name>file(File) -> ok | {error, Reason}</name>
+ <name>file(File, Options) -> ok | {error, Reason}</name>
+ <fsummary>Transform XML to HTML</fsummary>
+ <type>
+ <v>File = string()</v>
+ <v>Options = [Opt]</v>
+ <v>Opt -- see below</v>
+ </type>
+ <desc>
+ <p>Transforms XML documentation source code to HTML.</p>
+
+ <p><c>File</c> is a documentation source file, given with or
+ without the <c>.xml</c> extension as <c>Name.xml</c> or
+ <c>Name</c>.</p>
+
+ <p>If <c>File</c> contains XML code according to a basic DTD
+ (<c>chapter</c>, <c>erlref</c>, ...), the resulting HTML
+ file is named <c>Name.html</c>.</p>
+
+ <p>If <c>File</c> contains XML code according to a compound DTD
+ (<c>application</c> or <c>part</c>), several files are
+ created:</p>
+ <list>
+ <item>A cover page for the application with two frames,
+ <c>Name_frame.html</c>.</item>
+ <item>The contents of the left frame and a front page,
+ <c>Name.html</c> and <c>Name_first.html</c>.</item>
+ <item>A bibliography and a glossary, <c>Name_cite.html</c>
+ and <c>Name_term.html</c>.</item>
+ <item>In the case of an <c>application</c> DTD an index
+ is created, <c>Name.kwc</c> and <c>Name_index.html</c>.
+ </item>
+ <item>One HTML file for each file included from <c>File</c>.
+ </item>
+ <item>Also, if there exists a <c>fascicules.xml</c> file where
+ the value of the <c>entry</c> attribute for <c>File</c> is
+ <c>"yes"</c>, the cover page is copied to <c>index.html</c>.
+ </item>
+ </list>
+ </desc>
+ </func>
+ </funcs>
+
+ <section>
+ <title>Options</title>
+ <taglist>
+ <tag><c>{html_mod, Module}, Module=atom()</c></tag>
+ <item>
+ <p>A callback module can be used for specifying HTML snippets
+ that should be included in the generated HTML files, see
+ below.</p>
+ </item>
+
+ <tag><c>{outdir, Dir}, Dir=string()</c></tag>
+ <item>
+ <p>Destination for generated files. Default is current working
+ directory.</p>
+ </item>
+
+ <tag><c>{number, Number}, Number=int()</c></tag>
+ <item>
+ <p>First chapter number when transforming a <c>chapter</c>
+ file. Default is 1.</p>
+ </item>
+
+ <tag><c>{ptype, unix|windows}</c></tag>
+ <item>
+ <p>For <c>path</c> elements, the specified file path should be
+ presented.</p>
+ </item>
+
+ <tag><c>silent</c></tag>
+ <item>
+ <p>Silent - no warnings, only error information is printed.</p>
+ </item>
+
+ <tag><c>{top, Index}, Index=string()</c></tag>
+ <item>
+ <p>Specifies the value of "Top" in the left frame of a front
+ page, which normally should be some kind of top index file
+ for the documentation.</p>
+ </item>
+
+ <tag><c>{vsn, Vsn}, Vsn=string()</c></tag>
+ <item>
+ <p>Application version number. Overrides a version number
+ defined in the XML document. Visible in the left frame and
+ on the front page.</p>
+ </item>
+
+ <tag><c>{term_defs, File}, File=string()</c></tag>
+ <item>
+ <p>Use the global glossary definitions in <c>File</c>, which
+ should contain a list of tuples <c>{Id, Name, Definition,
+ Owner}</c>. See the section
+ <seealso marker="inline_tags#termTAG">&lt;term&gt;,
+ &lt;termdef&gt; - Glossary</seealso> in the User's Guide.
+ </p>
+ </item>
+
+ <tag><c>{cite_defs, File}, File=string()</c></tag>
+ <item>
+ <p>Use the global bibliography definitions in <c>File</c>, which
+ should contain a list of tuples <c>{Id, Title, Info,
+ Owner}</c>. See the section
+ <seealso marker="inline_tags#citeTAG">&lt;cite&gt;,
+ &lt;citedef&gt; - Bibliography</seealso> in the User's
+ Guide.</p>
+ </item>
+ </taglist>
+ </section>
+
+ <section>
+ <title>Callback Module</title>
+
+ <p>A <c>html_mod</c> callback module can include the functions
+ specified below. Note that there is no check that the resulting
+ HTML code is valid. All functions are optional.</p>
+ </section>
+
+ <funcs>
+ <func>
+ <name>Module:head() -> string()</name>
+ <fsummary>Snippet to be included in head of a document.</fsummary>
+ <desc>
+ <p>Defines a HTML snippet to be included in the head of
+ a document, after the <c>&lt;HEAD></c> start tag and
+ <c>&lt;TITLE></c> tag:</p>
+ <pre>
+&lt;HTML>
+&lt;HEAD>
+ &lt;TITLE>...&lt;/TITLE>
+ - snippet is included here -
+ ...
+&lt;/HEAD>
+...
+&lt;/HTML>
+ </pre>
+ </desc>
+ </func>
+
+ <func>
+ <name>Module:top() -> string()</name>
+ <fsummary>Snippet to be included at the top of a document.
+ </fsummary>
+ <desc>
+ <p>Defines a HTML snippet to be included at the top of a
+ document, after the <c>&lt;BODY></c> start tag.</p>
+ </desc>
+ </func>
+
+ <func>
+ <name>Module:bottom() -> string()</name>
+ <fsummary>Snippet to be included at the bottom of a document.
+ </fsummary>
+ <desc>
+ <p>Defines a HTML snippet to be included at the bottom of a
+ document, before the <c>&lt;/BODY></c> end tag.</p>
+ </desc>
+ </func>
+
+ <func>
+ <name>Module:seealso(SeeAlso) -> Href</name>
+ <fsummary></fsummary>
+ <type>
+ <v>SeeAlso = Href = string()</v>
+ </type>
+ <desc>
+ <p>When referring to another part of the document, or another
+ document, the XML tag <c>&lt;seealso&gt;</c> is used:
+ <c><![CDATA[<seealso marker="File#Marker">...text...</seealso>]]></c>.
+ By default, this is translated to
+ <c><![CDATA[<A HREF="File.html#Marker>...text...</A>]]></c>.</p>
+
+ <p>This function makes it possible to specify an alternative
+ translation <c>Href</c> of the <c>marker</c> attribute value
+ <c>SeeAlso</c>. For example, in OTP this is used to resolve
+ cross references between applications.</p>
+ </desc>
+ </func>
+ </funcs>
+
+</erlref>
+
diff --git a/lib/docbuilder/doc/src/docb_xml_check.xml b/lib/docbuilder/doc/src/docb_xml_check.xml
new file mode 100644
index 0000000000..7ec456c014
--- /dev/null
+++ b/lib/docbuilder/doc/src/docb_xml_check.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE erlref SYSTEM "erlref.dtd">
+
+<erlref>
+ <header>
+ <copyright>
+ <year>2007</year>
+ <year>2007</year>
+ <holder>Ericsson AB, All Rights Reserved</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ The Initial Developer of the Original Code is Ericsson AB.
+ </legalnotice>
+
+ <title>docb_xml_check</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <module>docb_xml_check</module>
+ <modulesummary>Validate XML documentation source code</modulesummary>
+ <description>
+ <p><c>docb_xml_check</c> contains functions for validating XML
+ documentation source code.</p>
+ </description>
+
+ <funcs>
+ <func>
+ <name>validate(File) -> ok | error | {error, badfile}</name>
+ <fsummary>Validate XML source code.</fsummary>
+ <type>
+ <v>File = string()</v>
+ </type>
+ <desc>
+ <p>Validates the XML documentation source code in <c>File</c>.
+ The <c>.xml</c> extension can be omitted.</p>
+
+ <p>Returns <c>ok</c> if successful, otherwise error information
+ is printed and the function returns <c>error</c>.
+ If <c>File</c> does not exist, <c>{error, badfile}</c> is
+ returned.</p>
+ </desc>
+ </func>
+ </funcs>
+
+</erlref>
+
diff --git a/lib/docbuilder/doc/src/docbuilder_app.xml b/lib/docbuilder/doc/src/docbuilder_app.xml
new file mode 100644
index 0000000000..a1df496258
--- /dev/null
+++ b/lib/docbuilder/doc/src/docbuilder_app.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE appref SYSTEM "appref.dtd">
+
+<appref>
+ <header>
+ <copyright>
+ <year>2007</year>
+ <year>2007</year>
+ <holder>Ericsson AB, All Rights Reserved</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ The Initial Developer of the Original Code is Ericsson AB.
+ </legalnotice>
+
+ <title>docbuilder</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <app>docbuilder</app>
+ <appsummary>The DocBuilder Application</appsummary>
+ <description>
+ <p>DocBuilder provides functionality for generating HTML
+ documentation for Erlang modules and Erlang/OTP applications
+ from XML source code and/or EDoc comments in Erlang source code.
+ </p>
+ </description>
+
+ <section>
+ <title>Limitations</title>
+ <p>DocBuilder is primarily intended for generating documentation
+ for Erlang/OTP itself. That is, no attempt has been made to create
+ a tool suitable for generating documentation in general.</p>
+ </section>
+
+ <section>
+ <title>See Also</title>
+ <p>DocBuilder User's Guide,
+ <seealso marker="docb_gen">docb_gen(3)</seealso>,
+ <seealso marker="docb_transform">docb_transform(3)</seealso>
+ <seealso marker="docb_xml_check"></seealso></p>
+ </section>
+
+</appref>
+
diff --git a/lib/docbuilder/doc/src/fasc_dtds.xml b/lib/docbuilder/doc/src/fasc_dtds.xml
new file mode 100644
index 0000000000..dec8189b55
--- /dev/null
+++ b/lib/docbuilder/doc/src/fasc_dtds.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>2007</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Fascicules DTDs</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ <file>fasc_dtds.xml</file>
+ </header>
+
+ <section>
+ <title>The fascicules DTD</title>
+
+ <p>The <c>fascicules</c> DTD is a special kind of DTD which can be
+ used to specify the different parts of the documentation, and
+ which one of those should be shown as default.</p>
+
+ <p>Example:</p>
+
+ <pre><![CDATA[
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE fascicules SYSTEM "fascicules.dtd">
+<fascicules>
+ <fascicule file="part" href="part_frame.html" entry="no">
+ User's Guide
+ </fascicule>
+ <fascicule file="ref_man" href="ref_man_frame.html" entry="yes">
+ Reference Manual
+ </fascicule>
+ <fascicule file="part_notes" href="part_notes_frame.html" entry="no">
+ Release Notes
+ </fascicule>
+</fascicules>
+ ]]></pre>
+
+ <p>In the example, it is specified that the documentation for this
+ application consists of three parts: User's Guide, where
+ the "cover page" (with the two frames) is located in
+ <c>part_frame.html</c>, Reference Manual with the cover page
+ <c>ref_man_frame.html</c> and Release Notes with the cover page
+ <c>part_notes_frame.html</c>.</p>
+
+ <p>As a result, at the top of the left frame in the generated HTML
+ documentation, there will be corresponding links to User's Guide,
+ Reference Manual and Release Notes.</p>
+
+ <p>The attribute <c>entry="yes"</c> specifies that it is
+ the Reference Manual which should be shown as default. This means
+ that when generating the HTML files, <c>application_frame.html</c>
+ will be copied to <c>index.html</c>.</p>
+
+ <note>
+ <p>DocBuilder assumes that the XML file written according to
+ the <c>fascicules</c> DTD is called <c>fascicules.xml</c>.</p>
+ </note>
+
+ <p>This file is optional. If it does not exist, there are no links
+ to other parts of the documentation (as they are not known) in
+ the left frame, and no <c>index.html</c> is created.</p>
+ </section>
+
+ <section>
+ <marker id="fasciculesTAG"></marker>
+ <title>&lt;fascicules&gt;</title>
+
+ <p>Top level tag for the <c>fascicules</c> DTD.</p>
+
+ <p>Contains one or more
+ <seealso marker="#fasciculeTAG">&lt;fascicule&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="fasciculeTAG"></marker>
+ <title>&lt;fascicule&gt;</title>
+
+ <p>Specifies properties for one "part" of the documentation for an
+ application.</p>
+
+ <p>Contains plain text, the name of this part.</p>
+
+ <p>The <c>file</c> attribute should specify the file name for
+ the corresponding <c>part</c> or <c>application</c>, without
+ the <c>.xml</c> extension.</p>
+
+ <p>The <c>href</c> attribute should specify the file name for
+ the corresponding HTML cover page file, without the <c>.html</c>
+ extension.</p>
+
+ <p>The optional <c>entry="yes"|"no"</c> attribute specifies if
+ the HTML cover page should be copied to <c>index.html</c> or
+ not. Default is <c>"no"</c>.</p>
+ </section>
+</chapter>
+
diff --git a/lib/docbuilder/doc/src/fascicules.xml b/lib/docbuilder/doc/src/fascicules.xml
new file mode 100644
index 0000000000..1b9d6bc94d
--- /dev/null
+++ b/lib/docbuilder/doc/src/fascicules.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE fascicules SYSTEM "fascicules.dtd">
+
+<fascicules>
+ <fascicule file="part" href="part_frame.html" entry="no">
+ User's Guide
+ </fascicule>
+ <fascicule file="ref_man" href="ref_man_frame.html" entry="yes">
+ Reference Manual
+ </fascicule>
+ <fascicule file="part_notes" href="part_notes_frame.html" entry="no">
+ Release Notes
+ </fascicule>
+</fascicules>
+
diff --git a/lib/docbuilder/doc/src/gazonk b/lib/docbuilder/doc/src/gazonk
new file mode 100644
index 0000000000..1cf0b8f7bc
--- /dev/null
+++ b/lib/docbuilder/doc/src/gazonk
@@ -0,0 +1,17 @@
+This example code is used in block_tags.xml.
+
+%% Erlang example
+-module(gazonk).
+
+start() ->
+ {error,"Pid required!"}.
+
+start(Pid) ->
+ spawn(smalltalk,main,[]).
+%% Erlang example
+
+// A little C example
+int main() {
+ for(;;);
+}
+// A little C example
diff --git a/lib/docbuilder/doc/src/header_tags.xml b/lib/docbuilder/doc/src/header_tags.xml
new file mode 100644
index 0000000000..b1456d679a
--- /dev/null
+++ b/lib/docbuilder/doc/src/header_tags.xml
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Header Tags</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ <file>header_tags.xml</file>
+ </header>
+
+ <p>Each document begins with a header part, which looks the same for
+ all DTDs. Here the title of the document is specified, as well as
+ administrative data like who is responsible for the document, which
+ version is it, when was it last changed and such.</p>
+
+ <p>An full header looks like:</p>
+ <pre>
+&lt;header>
+ &lt;copyright>...&lt;/copyright>
+ &lt;legalnotice>...&lt;/legalnotice>
+ &lt;title>...&lt;/title>
+ &lt;prepared>...&lt;/prepared>
+ &lt;responsible>...&lt;/responsible>
+ &lt;docno>...&lt;/docno>
+ &lt;approved>...&lt;/approved>
+ &lt;checked>...&lt;/checked>
+ &lt;date>...&lt;/date>
+ &lt;rev>...&lt;/rev>
+ &lt;file>...&lt;/file>
+&lt;/header>
+ </pre>
+
+ <section>
+ <marker id="headerTAG"></marker>
+ <title>&lt;header&gt;</title>
+
+ <p>Top level tag for the header part.</p>
+ </section>
+
+ <section>
+ <marker id="copyrightTAG"></marker>
+ <title>&lt;copyright&gt;</title>
+
+ <p>The <c>copyright</c> element holds information about date(s) and holder(s) of
+ a document copyright. The <c>copyright</c> element is optional.
+ The <c>copyright</c> element has an inner structure containing one or
+ more
+ <c>year</c> elements followed by zero of more <c>holder</c> elements.<br/>
+ See example below:
+ </p>
+ <code><![CDATA[
+ <copyright>
+ <year>1997</year>
+ <year>2007</year>
+ <holder>Ericsson AB</holder>
+ </copyright>
+ ]]></code>
+ </section>
+
+ <section>
+ <marker id="legalnoticeTAG"></marker>
+ <title>&lt;legalnotice&gt;</title>
+
+ <p>The <c>legalnotice</c> element is used to express copyright, trademark,
+ license, and other legal formalities of a document. The element contains
+ only PCDATA in the same manner as <c>code</c> and <c>pre</c>.
+ </p>
+ </section>
+
+ <section>
+ <marker id="titleTAG"></marker>
+ <title>&lt;title&gt;</title>
+
+ <p>For <c>part</c> and <c>application</c> documents, this will be
+ the title of the document, visible in the left frame and on
+ the front page.</p>
+
+ <p>For <c>chapter</c> documents, this will be the chapter name.</p>
+
+ <p>For reference manual documents, this tag is ignored.</p>
+ </section>
+
+ <section>
+ <title>&lt;shorttitle&gt;</title>
+
+ <p>This optional tag is ignored by DocBuilder. It will likely be
+ removed in the future.</p>
+ </section>
+
+ <section>
+ <marker id="preparedTAG"></marker>
+ <title>&lt;prepared&gt;</title>
+
+ <p>This tag is intended for administrative use and is ignored by
+ DocBuilder.</p>
+ </section>
+
+ <section>
+ <marker id="responsibleTAG"></marker>
+ <title>&lt;responsible&gt;</title>
+
+ <p>This optional tag is intended for administrative use and is
+ ignored by DocBuilder.</p>
+ </section>
+
+ <section>
+ <marker id="docnoTAG"></marker>
+ <title>&lt;docno&gt;</title>
+
+ <p>Document number.</p>
+
+ <p>For <c>part</c> and <c>application</c> documents, the document
+ number is visible in the left frame and on the front page.</p>
+
+ <p>For other types of documents, this tag is ignored.</p>
+ </section>
+
+ <section>
+ <marker id="approvedTAG"></marker>
+ <title>&lt;approved&gt;</title>
+
+ <p>This optional tag is intended for administrative use and is
+ ignored by DocBuilder.</p>
+ </section>
+
+ <section>
+ <marker id="checkedTAG"></marker>
+ <title>&lt;checked&gt;</title>
+
+ <p>This optional tag is intended for administrative use and is
+ ignored by DocBuilder.</p>
+ </section>
+
+ <section>
+ <marker id="dateTAG"></marker>
+ <title>&lt;date&gt;</title>
+
+ <p>This tag is intended for administrative use and is ignored by
+ DocBuilder.</p>
+ </section>
+
+ <section>
+ <marker id="revTAG"></marker>
+ <title>&lt;rev&gt;</title>
+
+ <p>Document version.</p>
+
+ <p>For <c>part</c> and <c>application</c> documents, the document
+ version is visible in the left frame and on the front page.</p>
+
+ <p>For other types of documents, this tag is ignored.</p>
+ </section>
+
+ <section>
+ <marker id="fileTAG"></marker>
+ <title>&lt;file&gt;</title>
+
+ <p>This optional tag is intended for administrative use and is
+ ignored by DocBuilder.</p>
+ </section>
+</chapter>
+
diff --git a/lib/docbuilder/doc/src/inline_tags.xml b/lib/docbuilder/doc/src/inline_tags.xml
new file mode 100644
index 0000000000..e1d392076a
--- /dev/null
+++ b/lib/docbuilder/doc/src/inline_tags.xml
@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Inline Tags</title>
+ <prepared/>
+ <docno/>
+ <date/>
+ <rev/>
+ <file>inline_tags.xml</file>
+ </header>
+
+ <p>Inline tags are typically used within block tags, for example to
+ highlight a word within a paragraph.</p>
+
+ <section>
+ <marker id="brTAG"></marker>
+ <title>&lt;br&gt; - Line Break</title>
+
+ <p>Forces a newline. The <c><![CDATA[<br>]]></c> tag is both a
+ block- and an inline tag and is described in
+ the <seealso marker="block_tags#brTAG">Block Tags</seealso>
+ section.</p>
+ </section>
+
+ <section>
+ <marker id="cTAG"></marker>
+ <title>&lt;c&gt; - Code</title>
+
+ <p>Highlights things like variables and file names in a text flow.
+ Can contain plain text only. Newlines and tabs are ignored as
+ opposed to the <seealso marker="block_tags#codeTAG">code</seealso>
+ tag. All <seealso marker="character_entities">character
+ entities</seealso> are expanded. Example:</p>
+ <pre>
+&lt;p>Returns &lt;c>true&lt;/c> if &lt;c>Term&lt;/c> is an integer.&lt;/p>
+ </pre>
+ <p>results in:</p>
+ <p>Returns <c>true</c> if <c>Term</c> is an integer.</p>
+ </section>
+
+ <section>
+ <marker id="emTAG"></marker>
+ <title>&lt;em&gt; - Emphasis</title>
+
+ <p>Highlights words which are important within a text flow. Example:
+ </p>
+ <pre>
+&lt;p>The application &lt;em>must&lt;/em> be up and running.&lt;/p>
+ </pre>
+ <p>results in:</p>
+ <p>The application <em>must</em> be up and running.</p>
+
+ <p>Contains plain text or a
+ <seealso marker="#cTAG">&lt;c&gt;</seealso> tag.</p>
+ </section>
+
+ <section>
+ <marker id="markerTAG"/>
+ <title>&lt;marker&gt; - Marker</title>
+
+ <p>Used as an anchor for hypertext references. The <c>id</c>
+ attribute defines the name of the marker. Example:</p>
+ <marker id="marker_example"/>
+ <pre>
+&lt;marker id="marker_example"/&gt;
+ </pre>
+
+ <p>The <seealso marker="#seealsoTAG">&lt;seealso&gt;</seealso> tag
+ is used to refer to the marker.</p>
+
+ <p>The <c><![CDATA[<marker>]]></c> tag is both a block- and an
+ inline tag.</p>
+ </section>
+
+ <section>
+ <marker id="pathTAG"></marker>
+ <title>&lt;path&gt; - Path</title>
+
+ <p>Highlights file paths. The attributes <c>unix</c> and
+ <c>windows</c> makes it possible to specify different paths for
+ different file path notations. Default for both are "".
+ Example:</p>
+ <pre>
+&lt;p>Look at the &lt;path unix=".profile" windows="win.ini"&gt;start-up file&lt;/path&gt;
+ if you intend to alter the initial behavior.&lt;/p>
+ </pre>
+ <p>If no <c>ptype</c> option is specified when calling
+ <seealso marker="docb_transform#file/1">docb_transform:file/1,2</seealso>,
+ this simply results in:</p>
+ <p>"Look at the <path>start-up file</path>
+ if you intend to alter the initial behavior."</p>
+
+ <p>If both the options <c>{ptype,unix}</c> and
+ <c>{ptype,windows}</c> are specified, the example instead results
+ in:</p>
+ <p>"Look at the <path unix=".profile" windows="win.ini">start-up file</path>
+ if you intend to alter the initial behavior."</p>
+ </section>
+
+ <section>
+ <marker id="seealsoTAG"></marker>
+ <title>&lt;seealso&gt; - Local Cross Reference</title>
+
+ <p>A cross reference (hypertext link) to a marker in the same file,
+ a marker in another file, or (the top of) another file, given by
+ the <c>marker</c> attribute. Must contain plain text. Examples:
+ </p>
+
+ <pre><![CDATA[
+ <seealso marker="#marker_example">marker example</seealso>
+ ]]></pre>
+ <p>results in:
+ <seealso marker="#marker_example">marker example</seealso>
+ (a hypertext link to the marker example above).</p>
+
+ <pre><![CDATA[
+ <seealso marker="block_tags#markerTAG">marker tag</seealso>
+ ]]></pre>
+ <p>results in:
+ <seealso marker="block_tags#markerTAG">marker tag</seealso>
+ (a hypertext link to the marker section in the Block Tags
+ chapter).</p>
+
+ <pre><![CDATA[
+ <seealso marker="overview">Overview</seealso>
+ ]]></pre>
+ <p>results in:
+ <seealso marker="overview">Overview</seealso>
+ (a hypertext link to the Overview chapter).</p>
+
+ <p>Note the use of "#" before the name of the marker. Note also
+ that the filename extension <c>.html</c> is omitted. This is
+ because the default behavior of DocBuilder is to translate
+ <c><![CDATA[<seealso marker="File#Marker">text</seealso>]]></c>
+ to <c><![CDATA[<A HREF="File.html#Marker">text</A>]]></c>.</p>
+
+ <p>The default behaviour can be modified by using the callback
+ module option to <c>docb_transform:file/1,2</c> and defining a
+ callback function
+ <seealso marker="docb_transform#Module:seealso/1">Module:seealso/1</seealso>.
+ This possibility is for example used in OTP to resolve cross
+ references between applications.</p>
+ </section>
+
+ <section>
+ <marker id="urlTAG"></marker>
+ <title>&lt;url&gt; - Non-Local Cross Reference</title>
+
+ <p>A reference to a file outside the documentation, a web address or
+ similar, given by the <c>href</c> attribute. Must contain plain
+ text. Example:</p>
+ <pre><![CDATA[
+<url href="http://www.erlang.org">erlang.org</url>
+ ]]></pre>
+ <p>results in: <url href="http://www.erlang.org">erlang.org</url>
+ </p>
+ </section>
+
+ <section>
+ <marker id="termTAG"></marker>
+ <marker id="termdefTAG"></marker>
+ <title>&lt;term&gt;, &lt;termdef&gt; - Glossary</title>
+
+ <p>Used to highlight a term with a local (for this document only) or
+ global definition. The identity of the term is given by
+ the <c>id</c> attribute.</p>
+
+ <p>For a locally defined term, the tag contains a
+ <c>&lt;termdef&gt;</c>, which in turn contains an explanation of
+ the term as plain text. Example:</p>
+ <pre><![CDATA[
+<term id="HTML"><termdef>Hyper-Text Markup Language</termdef></term>
+ ]]></pre>
+
+ <p>For a globally defined term, the tag is empty. Example:</p>
+ <pre><![CDATA[
+<term id="HTML"/>
+ ]]></pre>
+
+ <p>Global definitions are given to DocBuilder in a file, using the
+ <seealso marker="docb_transform#file/1">docb_transform:file/1,2</seealso>
+ option <c>term_defs</c>. The file should contain a list of tuples,
+ one for each term definition, on the format
+ <c>{Id,Name,Definition,Owner}</c>. The <c>Owner</c> part is just
+ for administration, if there are several people contributing to a
+ term definition file. Example:</p>
+ <pre>
+[...,
+ {"HTML", "HTML", "Hyper-Text Markup Language", "Gunilla"},
+ ...].
+ </pre>
+
+ <p>DocBuilder will collect both local and global definitions in a
+ glossary, which can be reached from a link in the left frame of
+ the HTML documentation.</p>
+
+ <p>In the generated HTML, it is the term name which will be visible.
+ For locally defined terms, the id and the name are the same.
+ The name has a hypertext link to the definition in the glossary.
+ Example:</p>
+ <pre><![CDATA[
+<term id="HTML"><termdef>Hyper-Text Markup Language</termdef></term>
+ ]]></pre>
+ <p>results in: <term id="HTML"><termdef>Hyper-Text Markup Language</termdef></term>
+ </p>
+
+ <p>If a term is defined both locally and globally, the global
+ definition takes precedence.</p>
+ </section>
+
+ <section>
+ <marker id="citeTAG"></marker>
+ <marker id="citedefTAG"></marker>
+ <title>&lt;cite&gt;, &lt;citedef&gt; - Bibliography</title>
+
+ <p>Works the same way as <c>&lt;term&gt;</c> and
+ <c>&lt;termdef&gt;</c>, but for a bibliography list rather than
+ a glossary.</p>
+
+ <p>A global bibliography list is given to DocBuilder in a file,
+ using the <seealso marker="docb_transform#file/1">docb_transform:file/1,2</seealso>
+ option <c>cite_defs</c>. The file should contain a list of tuples,
+ one for each cite, on the format
+ <c>{Id,Title,Info,Owner}</c>. The <c>Owner</c> part is just
+ for administration, if there are several people contributing to a
+ bibliography file. Example:</p>
+ <pre>
+[...,
+ {"erlbook","Concurrent Programming in ERLANG","J. Armstrong, R. Virding, C. Wikstr&ouml;m, M. Williams, Concurrent Programming in ERLANG, Prentice Hall, 1996, ISBN 0-13-508301-X","jocke"},
+ ...].
+ </pre>
+ </section>
+</chapter>
+
diff --git a/lib/docbuilder/doc/src/make.dep b/lib/docbuilder/doc/src/make.dep
new file mode 100644
index 0000000000..d9b075e114
--- /dev/null
+++ b/lib/docbuilder/doc/src/make.dep
@@ -0,0 +1,33 @@
+# ----------------------------------------------------
+# >>>> Do not edit this file <<<<
+# This file was automaticly generated by
+# /home/otp/bin/docdepend
+# ----------------------------------------------------
+
+
+# ----------------------------------------------------
+# TeX files that the DVI file depend on
+# ----------------------------------------------------
+
+book.dvi: block_tags.tex book.tex character_entities.tex \
+ docb_gen.tex docb_transform.tex docb_xml_check.tex \
+ docbuilder_app.tex fasc_dtds.tex header_tags.tex \
+ inline_tags.tex overview.tex part.tex ref_man.tex \
+ refman_dtds.tex user_guide_dtds.tex
+
+# ----------------------------------------------------
+# Source inlined when transforming from source to LaTeX
+# ----------------------------------------------------
+
+block_tags.tex: gazonk
+
+book.tex: ref_man.xml
+
+inline_tags.tex: ../../../../system/doc/definitions/term.defs
+
+# ----------------------------------------------------
+# Pictures that the DVI file depend on
+# ----------------------------------------------------
+
+book.dvi: man.ps
+
diff --git a/lib/docbuilder/doc/src/man.gif b/lib/docbuilder/doc/src/man.gif
new file mode 100644
index 0000000000..8656c7443d
--- /dev/null
+++ b/lib/docbuilder/doc/src/man.gif
Binary files differ
diff --git a/lib/docbuilder/doc/src/man.ps b/lib/docbuilder/doc/src/man.ps
new file mode 100644
index 0000000000..b4d7ef7636
--- /dev/null
+++ b/lib/docbuilder/doc/src/man.ps
@@ -0,0 +1,750 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /clearcase/otp/internal_tools/sgml/test/man.ps
+%%Creator: XV Version 3.10a Rev: 12/29/94 - by John Bradley
+%%BoundingBox: 243 308 369 484
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define string to hold a scanline's worth of data
+/pix 126 string def
+
+% define space for color conversions
+/grays 126 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+243 308 translate
+
+% size of image (on paper, in 1/72inch coords)
+126.00000 175.96800 scale
+
+126 176 8 % dimensions of data
+[126 0 0 -176 0 176] % mapping matrix
+{currentfile pix readhexstring pop}
+image
+
+110000110011111111111100111111110011110011111111111100111111112222222222
+33445544446655665555665566666655666666888888778899888899aabbaabbbbbbaabb
+bbaaaaaaaabbbbbbaabbccddbbaaaaccccccddddccddddccbbccccccbbccccaabbaaaaaa
+9999aaaa8899887777554455666655555544
+000000110011110000001100112222111111001111111100001111111111112222112233
+55334444446666775544555555775577777766888888889988889999aaccbbaabb99aaaa
+bbbbaaaaaaaabbbbccccccccccccbbccccccccddccddddccbbaaccddccbbaaccbbbbaaaa
+999999889977667755554455666655444444
+110011000011000000111111111100111100112211111111110011111111112222222233
+3344444455446677665555667777667788888888667788aa88999999aabbaabbaa889999
+aabbbbbbaaaaaabbddccccccbbccccccbbaaccccccccccccbbccccccccbbbbbbbbaaaa99
+9999aa888877666655555555555544333344
+110000110011110000001111111111000011001122110011111111002211222211224433
+3333444444556677666655667777667777888877666688998899aa99aabbaaaaaaaabbaa
+99aabbaabbbbbbbbbbccbbddaabbccbbaa99ccddccccccbbccccccddccbbbbaaccaa9988
+889988887766665566665544443344554444
+000000000000110011000000110000110000001111000000111100221111111133222222
+33444433444455667777555555776666778888667777778888aa998888bbaa99aaaaaabb
+bbbbbbaabbccbbbbbbccbbbbbbccccaabbbbbbccccccbbbbbbbbccbbbbbbbbbbbbaa7788
+aa9988889966666655666655553355556644
+110011111111111100111100110011000000001100002211111122221122111122222222
+33443333334455776666776666667766778855668866777788448899889988889999bbaa
+aaaabbaaaabbbbaabbbbbbbbbbbbaa99bbaabbccddccccccbbccbbbbaabbbbaaaa777788
+aa9999aa9988776677777755555544556655
+110000001111111122111111000000001111110011111111110022111111111133222233
+223322445555445544667777667777667777887788887799883377999999998899aaaaaa
+99aabbbbccbbbbbbbbbbaaaaaabb99aaaabbbbbbccccccbbccccbbbbaabbaaccaa886688
+9999aaaa9988888866667744555544445544
+110000111122111111221100111111110011111111111100111111222222221122333333
+22222244556655445555667788778888aaaa88aa889999aabbaaaa998888998899aa99aa
+bbaabbccbbbbaaaabbbbbbbbbbbbaabbaaaaccccccbbccddccbbaabbaabbaabb99888888
+99aa99aa9988888866446655554444444444
+110000001111111111110011110000111100221111001111000011222222222222333344
+223322444466664455667766777788777755556666333344557788aa9999888888aa88aa
+aabbbbaabbaaccbbaaaaaaccbbccaa99bbccccccccbbccccccbbbbbbbbaabbaaaa99aa88
+999988999988887766664455445555555544
+110011111100001111111111110000000011111111110011111122111111112233222222
+443333555544444455777788775522000000000000000000000000447799aaaa99888899
+aaaabbaaaaccbbaaaabbbbbbbbaa7788bbddccccbbbbbbbbccbbbbaabbaaaaaaaaaa9999
+aa999988aa99887766666655444455445544
+000000110011110000110000110011001100001111110000111122112211112211222222
+5544444455443333446677772200000000000000000000000000000000337799999999aa
+9999aabbbbbbaaaa88aaaabbbb889988ccccccbbccbbbbaaaa9999bb8855889999999988
+998888998888886655667755554455554433
+110011001111001100001100111111000000001100111100111111222211113333222211
+44555544444433445555550000000000000000000000000011000000000000003377aa99
+888899aa99aa9999aaaabbaabb99aabbaabbbbccaabbaaaabb88aaaa995588aaaaaa8888
+8888aa998888887755777766554444332222
+111111110011111111001111001111110000000011000011001111111122332222223322
+334466554444444455441100000000000000000000000000000000001155220000113366
+998888aa99998899bbbbaabbbbaaaaaabbbbbbbbbbaabbaaaa99aaaa8888aa9999889988
+7799aa888888665566666655554433334422
+221111110011000011111111110000000000110011110000111111001111333311223333
+443344443344554488440011553300000000000000000000000000227788883300000011
+4444559999887799aaaaaaccbbaaaa9988ccccbbaabbbbaaaa99aa9988aa999988888888
+776688888877667766554455444444444433
+221111110011111100110011000011000000000000110000110011001111112222221122
+2222333333111111448899ccffddbb77442222221111000000000044bbddccaa33000000
+00000000558888998899bbaabbaabbaa99bbaabbaaaabbaa99aa99999988778888777777
+663355778877776666665544444433333322
+221100222211001111112200111111000011000000000011001100111111112211112211
+332244220011000055ddffeeeeeeeeeeddddddeeddcc88330000000044ddddcc55000000
+000000000077aaaa999999aaaabbbbbbaa99aabbbbaaaabbaaaaaa999999888888557755
+664466666677666655667755443333223322
+221111222211221111111100000011110000110000001100111111110011111122112222
+3322000000000044ddffffeeffeeeeeeeeeeeeeeffeeffdd885511000033aaddaa330011
+2211000000339988889999aaaaaabbaabbbbbbbbbbaaaaaabb99aa8899aa999988665577
+665577777766555544443366443344333322
+221111111122221111001111111100000000000000001111111111111111111111223344
+22000000000077ddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeebb440000005588661100
+11000000001188888888aa9999aabbbbbbaaaabbaabbbbbbaa8899888899888888776666
+556666776666443366555555445533333333
+112211111122221111221100111100110000000000001111001100000000111122112211
+000000000088eeeeeeeeeeeeffeeeeffffeeeeeeffeeeeeeeeeeffee8811000000118866
+0000000000118899888899aaaabbbbbbbbbbbb99aabbaaaaaa9988888877888877555566
+555555666655446655556655444444443344
+221111111100111111110011111111110011001100110000111100110011111111000000
+0000000088ffeeddeeeeeeeeeeeeeeeeeeeeffeeeeffffeeeeeeeeffffbb775566aaeeee
+aa332233000088aa88888899bbaaaa99aabbaaaabbaabbbbaaaa88888877888877555555
+445577666655554455555566665544665533
+110000111111110011111111111111110000000000001100111111000011111111110000
+00000088ddddddddddffeeffeeeeeeeeeeeeffeeeeeeeeffeeeeeeeeeeffffffffffeedd
+eecc441111002288997788aa99aaaa99aa99aabbbbaabbaaaa9977778888777777776655
+555577776666666666666677775555555555
+001111110011001100111111112211111100110000000011110011111111001111000000
+000022aaddccddddeeeeeeeeeeeeeeeeeeeeeeeeeeffeeffeeeeeeffeeffeeeeeeeeeeee
+eeffdd3311110044998899999999aaaaaaaaaabbaabbbbaaaa8888778877888866776677
+665566667755556644665555554444666666
+110011110011111111001100002211111100110011111100111100111111111100000000
+000022bbcccccccceeeeeeeeeeeeeeeeeeeeffeeffeeffffffeeeeffeeffeeffeeeeeeee
+eeddeebb6644000088998899bbbbbbaabbbbbbaabbbbbbcc999988888877888877667777
+557777777766665544555555555555665566
+110011221111111111111111111111221100001100110011111111221100221100000000
+00001199aabbccccddeeeeeeeeeeeeeeeeeeeeeeffffeeffeeffeeeeffeeffeeeeeeeeee
+eeddeeeebb88110066aa99aabbccbbaabbbbbbaabbbbbbbbbb99aaaa9988777766667777
+666677777777665544665566555566664455
+221111222222111111111111221111111111111111001111111100221122221100000000
+000022aabbbbaaccddeeeeeeeeddeeeeeeffeeeeeeeeffeeffeeffeeffffeeeeeeeeeeee
+eeeeeeeeeecc220066aaaaaaaabbbbbbccaabbaaaabbccbbaaaaaa998888886677887777
+777777888866776655667755665566666655
+222211222222111122111122111111000000001111111111111122111122220000000000
+00002299bbaaaabbddeeeeeeddeeffeeeeeeeeeeffeeeeeeeeffeeeeffffffeeeeeeeeee
+eeeeeeeeeecc330044aaaabbaabbbbbbaaaabb99aabbbbbbbbaaaa889988888877888888
+887777778888776644777777666677667766
+222222332233222211221111221111110000111111222222222211222222221100000000
+00001188cc99aabbddddddeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeffeeffeeeeeeeeeeee
+eeeeeeeeeeee440044bbaabbbbaabbbb9999aaaabbaabbbbbb9999998888887788888899
+887777778888887755776677667755667755
+221122442222222222332211222222111111001111222222221133112222220000000000
+00001177bbaaaaaaeeddeeddeeeeddeeeeeeeeeeeeeeeeeeffeeffffeeeeeeffeeeeeedd
+eeeeffeeddffaa0022aabbbbbbbbbbaaaa99bbbbaabbaabbaa9988888888998888887777
+888866777788888888888877666655445566
+331133442233333333332222332211111111111111112222222233221122220000000000
+0000115599aabbccddddeeddeeeeeeeeeeeeeeeeffeeeeffeeffeeffffffeeffeeffddee
+eeeeeeeeeeffdd110088bbbbbbccbbaa99bbaabbaaaabbbbbbbb99888888888888666677
+777777778888666677888877775544444455
+332222332222334422222233222233110011222222112233223322222211221100000000
+000000228899aabbddddeeddeeeeeeeeeeeeeeeeffeeeeeeffeeffeeeeffeeffeeeeeedd
+eeffeeeeeeeecc220066bbaabbbbbbaaaa999999aaaaaaaa9999aaaa9988888877776688
+888877778888776677887777666666665544
+333311332233333333222222222233331111113322222222223322332222220000000000
+000000225577aabbccddddddeeeeeeeeeeeeeeeeeeeeeeffffffffeeffffeeeeeeeeeeee
+eeeeeeeeeeeedd110044bbaaaabbaabb99999999aabbaa999999aa999999998888777788
+888855888888886677777788777777555555
+222211222222224444111122222211222233221133443344332233333322551100000000
+00000022557788aaccddeeddddeeddeeeeeeeeeeffffeeffeeeeffeeeeeeeeffeeffeedd
+eeeeeeeeeeeedd33003399aaaabbbbaaaa88999999aaaaaa99aaaabbaaaaaa9999778888
+887766888888885577776666777766556644
+222211222222222233334422222222112233222233554444332222222222440000000000
+0000001144779988bbccddddddffddeeeeeeffeeeeeeeeffffffeeeeeeffeeffffeeeedd
+eeeeeeeeeeeedd2200228899aaaaaa88888899999999bbaa99aabbbbbbaa999988888888
+887777778877665566886666666677775566
+443322111133331111222233332222332222332233223333333333332233331100000000
+000000115555668899ddddddddeeeeeeeeffeeffffffeeffeeeeffeeeeeeeeeeeeeeeedd
+eeeeeeeeeeeedd2200339999aabbaa889999aaaa99aabbaaaa99bbbbaaaa998899998888
+888888997777775577777777777777666666
+332211223322222222221122223333221122112233333333332244333333330000000000
+0000000033444466aaccccddddeeeeeeeeeeeeffeeeeeeffeeeeeeeeeeffeeeeffffeedd
+eeeeeeeeeeeecc2200228899aaaa9988aaaaaaaa99aa99bbaabbaaaa99999988aa999988
+888888887777776677666666776666556644
+332222222233222233332222333333331133332233224433333344554444331100000000
+000000110044777788aaeeeeddeeeeddddddeeeeeeeeeeffeeffeeeeeeeeeeeeeeeedddd
+ddeeddeeeeeedd220011aa9999aa999999bbbbbb99bbbbbbbbbbbbaaaaaa999999888899
+998888888888666677556677666655555555
+332222222222333333443333333322443333443344334433444455553333330000000000
+000000002233557788ccccccccaa775555446688ccddcceeeeeeeeeeddeeeeeeeeeedddd
+eeddeeeeeeeedd44003399aa88aaaa99aaaaaaaa99bbbbbbbbbbbbbbbbbbaa999999aa88
+888866887788775577667755556655555544
+331122332222444433333333223333333344444444554433445555664444441100000000
+00000000332244889999777788330000000000116688aaddccddddccddddaa88aa99aadd
+ddddeeeeeeddee660022aa99999999bb99bbbbaaaabbbbbbbbccbbbbbbbbaa99aaaa8888
+888877776677667755777755445555556655
+331122333333335544554433333322443344555555554433334433556655441100000000
+000000000000225544221100110000000000001111557799ccbb88778877110011003388
+bbddeeeeeeddee55002299aa999999aaaabbaabbaabbbbbbaaaaaabbaaaabbaa99998888
+887777667788666666666666555555554444
+333333333322444444555555444444444455556666555544334455336666551100000000
+000000001111001100000000000000000000000011224455889966111111000000000011
+66aaddeeeeeeee550033aa99aa999999bb99bbccaabbbbaaaaaaaabbaaaabbaabb888888
+667777777777775577554455553344444444
+223344332233555544556666665533335544556655555533446655555555661100000000
+00001100111100000000000011000000000000000011449999bb77000000000000004433
+225588cceeeeff660044aaaa888899aa9999aaaa99aabbaaaaaa99bbbb9999aaaa998888
+886677777777667766555555443355554455
+443344332233556655666655666633555544555555555555555566555555662200000000
+0000001111110000000000001100000000000000000066ddeeee990000000000000066bb
+bb88bbcceeeeee880066aaaa9999bb9999aa99998899aa999999aaaabbaaaaaa99889988
+778888776677666655444455665555554433
+443333442233445577665566666655444444666655667766666666666644443300000000
+0000001133220000000000000000000000000000000055eeeeeebb110000000000000022
+bbffddddeeeeff88007799999999aabbaa9999999988aa99999999bbaaaa888877888888
+887777777766666655664455554455443344
+444422335566557766776666555544444455556666555555556666668899aa5500000000
+0000002233220000000000000044110011110000000055ffeeffcc110000000000000000
+0077ddddddddeebb118899999999aaaaaa8888aa88aaaaaa9999aabbaaaa997755889988
+887766777766775555665555444444443344
+555544333344556666556666445566556666555555665566665555335566999922000000
+0000002244332200000000001177663366330000000088eeeeffdd110000001100112200
+000066cceeeeeebb66ccbbaa9999aaaa998899aaaabbbbaa9988aaaabb99998888888877
+777755776666666655555555554444444444
+445555554444555555557766445544666677665566666666776611000000002233000000
+00000022445544112233442255442211110000000033bbeeeeeeee880000002255999966
+330033ddeeeeeeddddeeeeffccaa99998899aaaabbbbaaaa999999999999999988888877
+777766665566666655665544444444553333
+444444556666445555776666555566667777775566666655665500000000000000000000
+00000000334433337799999988775533112244225599ccddeeeeffee885533111166bbcc
+bb6666ddffeeeeeeeeeeaa66aa99aa889999bbbbbbbb99aa999999999999998888888877
+667766555555555555444433444444333322
+334444445577665555556666665566665577666644444466664400000000000000000000
+000000002255667788bbbbbbaabb998866556688aabbddeeeeeeeeeedd8888bbaaccddee
+eeeeddeeeeeeddeebb22000066aa88aabbaaccbbaa99aa99889988999999889999888877
+777766666666665544334455443333333333
+333355444466557766776655555555556666664455446666665500000000000000000000
+0000000011335577aaccddddddccbb998899ccddddccddeeffeeeeeeeedd8899ddeeeeee
+eeddffeeeeeedddd3322220066aaaaaabb99bbbb99aaaa88888899888888888877887777
+556688553355665533444433334433333344
+444444225555445566888866666666777777776666556666664400000000000000000000
+0000000011224477aaddddeeddddddddddddddddddddeeeeeeffeeeeeeeecc88aaddeeee
+eeeeeeeeeeeeeecc66dd8800779988bbbbaabbbbaaaa9988888888999977776677776666
+557766553355556644443333333344221133
+77bbccbb9988774455667777667788888877886666667777666611000000000000000000
+0000001111335577bbccddddeeeeeeddeeeeddddccddeeeeffeeeeeeeeeeffddddddeeee
+eeeeffeeeeeeddccddeedd22999988aa99aaaa8899aa9988888888888888776677777766
+776666665555555544444444332222112211
+bbeeffffffeeeedd88444455668899998866776666666677775533000000000000000000
+0011114433446688bbccccccddddeeeeddddbbddeeddeeeeffffeeffeeffeeffffffeeee
+ffeeeeffeeeeeebb77eeee88cc889999aaaa99aa99998888778888888888668888997777
+777777667766665533334433332222222222
+77ddeeffeeffeeeeee995555557788888888776677775577776655221100000000001100
+1122225555665588aabbbbccddddddeeccaabbeeddccddeeeeeeffeeffeeeeeeffeeeeee
+eeffeeffeeeeffcc33bbeeeebbaaaaaa99aaaa9999888877889999999988777788887777
+888866556677665533334433112211222222
+4499bbbbeeeeeeeeeeee6633667799889988778877667788777777332200110000001100
+444477888866667799aabbccccddddddbb8888aa7755779999bbddeeffffeeeeeeffeeee
+eeddeeeeffeeeedd44bbeeeebbaaaa99aaaaaa99889999888888aa99aa88776677888877
+887777666666554433554422222222222211
+003322446677cceeeeeeaa66777788888888888877667788887788662211113300002222
+66887777665566667799aabbccccccaa88443322000011223344446677ccffeeeeeeeeff
+eebbeeeeeecceeeeaacceeeebbbbaaaaaabbaabbaa999988778899998888888888778888
+777766776677665555442222222233222222
+00220000000066ccffeeffaa776677887777887777777788888877773311005566115533
+7788996666445566667799bbccbbaaaa9933000000000000000000000066ffeeeeffeeee
+eeddeeffeeffeeffeeddeeddbbaaaa99aaaaaabbccaaaa88889988999988888877888877
+888877667766666644332244442222223322
+1111000000000044aaeeffdd777755777788778877777788888888776611221122888844
+88aa77776655445555778899aa7788aaaa44000000000000000000000077ffeeeeddeeee
+eeeeeeeeeeeeeeeeeeeeffccaaaaaa9999aaaaaabbaaaa9999888899bb99888866778888
+777777665555554444333322222222221122
+22000000001111001177dddd999999886666888877887788778888888844115544aa8888
+9988888866555555446666666666bbcc99330000000000000000000055eeffeeeeccddee
+eeeeeeeeffeeffeeeeeeeeccaaaabbbbaaaabbbbaaaaaa88889999aa8899886688777766
+778888775566554433332233333322331111
+4400000000443300000033bbffeeffeebb666677888888888888777766663333bbbb88bb
+aa998888885555554444221144aaccbb330000000000000000000033ccffeeeeffddcccc
+cceeeeeeeeffeeeeeeffeebbbbbbbbbbbbaaaaaaaabbaa8899aa99889999888877888877
+667777668888998844332244442244332222
+770000000077ccbb996677eeeeeeeeeeeebb5566777788889988777777777755ccbbaacc
+bbaa9988775577664400000055bb6633110000000000000000000077bbddeeeeeeffddaa
+bbddddddddddffeeffeeeebbbbccccbbbbbbaaaaaaaa8888888888998899888888888888
+776677aaddeeeedd77223344443344333311
+dd77000011aa99aaddeecccceeeeeeeeeeeebbaa6677888899887788778888cceeccbbbb
+ccaa998888888855110000337733000000000000000000000000005599ddccddeeeeeedd
+aa99ccddaacceeffeeeeeeeebbaaccbbbbaa99aa99998888887799998899998877888888
+8888cceeeeeeeeddbb553344333333333322
+eeee88000077220033998866aaeeeeeeeeeeeeeeaa777788aa8899997788aaddccbbcccc
+ccbbaaaabb9977440000335522000000000000000000000000000000227788aaeeeeeeee
+bb8899ccddaaaaeeeeeeeeffcc99aaaa99999999aaaa8888888888777777888877777788
+88cceeeeeeeeddeeeeaa3344444433443333
+eeeedd55004488000011110077ffeeeeeeeeeeeeffbb8877889988999999ddddddddddcc
+ddccccbb8866332200113300000000000000000000000000000000000000334488cceeee
+ddccaa88bbbb6655bbffeeeeeeccaa9999aaaa99998899997777889999aa998888888866
+3388ddddddddcc88ccdd9944334433443322
+eeeeee88110066110000000088eeeeeeeeeeffeeeeeecc9977889999aacceeddeeeedddd
+ddddaa88663300000000000000000000000000000000000000000011000000000022aadd
+eeddccbb99aa88111188eeffeeffddaa99aaaaaa88998888888888aaeeeeeebbbbddddaa
+1155ccaa55443311aaeedd88222222332211
+ddccdd88440000000000000077ddeeeeeeeeeeffeeeeffeebb99aaaaccddeeeeeeeeeeee
+ddbb777777442200000000000000000000000000001188ccbb9999bb8833000000002222
+77ddddddccbb8844000044ddffffffeeaa88aa9999998888888888cceeddeeddeeeeeedd
+2288bb991100000066bbddcc551122222222
+cc666622221100000000000055ddeeeeeeeeeeeeeeeeeeeeee9999ccddeeeeffeeeeeeee
+eeddccaa884422331100000000000000000000001177eeeeeeeedddddd99550000001133
+1155ddeeddddcc8855000033aaeeeeffdd9999aa9999aa88995555cceeeeddeeeeeeeebb
+00559999440000000055bbddbb3322223322
+ffdd4400001100000000000044ddeeeeeeeeeeeeeeeeeeeeeeccbbeeffeeeeeeeeffeeee
+eeddeeccbb8866772200000000000000000000001144668899aabbddddccbb66110044bb
+bbbbcccceeeeddddcc8877332277cceeeeeebb88999999aadd7799eeeeeeeeeeeeddddaa
+4444775577220000000044bbee7711222211
+eeeecc33000000000000000033cceeeeeeeeeeeeeeeeeeffeeffeeffeeeeffeeffeeffff
+eeffeeddeeccbb884411000000000000000011000000000000000088ccddddaa6644bbee
+ddffeeddeeeeeeeeeeffffeeddbbddeeffeeeeddaa88aaccddbbeeddeeddddeeeeee8844
+7711221100000000001177ccddbb44112211
+eeeeffaa000000000000000066eeeeeeddddeeeeffeeeeeeffeeeeeeffeeeeffeeeeffff
+eeeeeeeeeeeeeecc66110000000000000022666655334433446688bbeeddeeddbbccddee
+eeeeeeeeeeddeeeeffffeeeeffffffeeeeeeeeffdd99cceeddbbddeeddddeeddeecc2200
+22000000000000003399ccccdddd88111122
+eeeeeeee550000000000000088eeddddddccddddeeeeddeeeeeeeeeeffeeffeeeeffffee
+ffffeeeeffeeeeee99220000000011336688bbddddddddeeeeffeeeeeeeeeeeeeeeeeeee
+ffeeffeeeeeeeeffeeeeeeffeeffeeeeffeeeeeeffddddeedd99ccddddddeeeedd660000
+00000000000000001166ccddddeeaa222222
+eeeeeeee880000000000000099eecc888888ddccccaa88ccddeeeeeeeeeeffeeffeeffee
+ffeeeeffeeeeeeddbb3300001122336688aaddeeeeddeeeeeeeeeeffffeeeeffeeeeeeee
+eeffeeffeeeeeeeeeeffeeeeffeeeeeeeeeeeeeeeeccccddcc5588aacceeddeecc220000
+0000000000000000004499bbccddcc331111
+eeeeeeee990000000000000088ddccdd6622bbddbb4455ddbbaaeeeeffeeffeeeeeeffff
+eeffeeeeeeeeddcc996633335522335588aaccddeeeeeeeeeeeeeeeeeeffeeffffeeeeff
+ffeeeeffffeeeeeeeeffeeeeeeffeeeeeeeeeeeeff99779988003377ccddeeee99000000
+000000000000000000000055bbddcc441122
+ffeeeeeedd3300000000000077cceeee880044aabb55ccffddccddffeeeeffeeeeeeeeff
+eeffeeeeeeddccbb776644442211223377aaccddeeeeeeeeeeeeffffffeeffeeeeeeffee
+ffeeeeeeeeeeeeffffeeeeffeeeeffffeeffeeffff8811333300001199ddeeee66000000
+0000000000000000001155ccddccdd551111
+eeeeeeeedd991100000000000077ccdd555577111133ddffeeddddffffffeeffffffeeee
+ffffeeeeffddccbb7733110000000011336688bbcccceeeeeeeeeeffeeeeffffffeeeeee
+ffeeffeeffeeffeeeeffeeffeeffffeeffeeffeeff99000000000066ddddeecc22000000
+00000000000000004499ccdddddddd771122
+eeeeeeeeeedd6600000000000000226677ddee66000088bbcc8866777799ccbbaabbbbcc
+ddeeffffffeeeeeebb6644110000000000113355668899bbbbddddddeeeeeeddeeeeeeff
+eeeeeeeeeeeeeeffffeeffffeeeeddddccddddddee990000000000aaffeeeeaa00000000
+00000000000000005588bbccccdddd880011
+eeeeffeeeeeebb99220000000000000055bbaa3300000011220000003399aa9988886666
+66888888bbddeeeeeeddcc9933000000000000000011224466778888aabbddddeeeeeeee
+ffffeeffffeeeeeeccbbbbaaaa777777774411222211000000000055aaaaaa6622000000
+00000000000000004499bbccddddee991111
+eeeeeeffeeddddcc4422220000000000001133000000000000000000669999aaaa99aa99
+999911000011445588aacccc88110000000000000000222222223322336699bbddeeffee
+ffeeeeddccccccaaaaaaaabbbbaabbbbbb66000000220000000000001111110000000000
+000000000000001155aabbddccddddbb2211
+ffeeffeeeeeecccc99aa55000000000000000000000000000000001188888899aaaaaaaa
+99770000000000000000113333000000000000000000000011000000002277cceeeeddaa
+8888ccccccccccccbbbbccddbbbbbbbbcc88000000000000000000000000000000000000
+00000000000000116699ccddddddeecc2211
+eeeeeeeeeeeeddccddccbb661100000000000000000000000000227788778877889999aa
+660000000000000000000000000000000000000000111100000000000011445544331100
+0088ccccccccccccccbbbbccccbbbbbbaa99110000000000000000000000000000000000
+000000000000002266aaccddddddddcc3300
+eeeeeeeeeeeeddddbbccccccaa88887788aa440000000000004488778888887788779977
+110000000000000000000000000000000000001111111111001111000000000000000000
+55ccccbbccccbbccccbbbbbbbbbbbb999999772200000000000000000000000000000000
+000000000000002277aaddddccccdddd5511
+eeeeeeffffddddddddddeeddddeeddeeddcc773311000000337766777777667766776611
+000000000000000000000000000000000000000000000000000000000000000000000055
+ccbbbbccbbccccbbbbbbbbbbbbaaaaaaaa99997711000000000000000000000000000000
+000000000000001166aabbccccdddddd7711
+eeeeffeeeeeeeeeeeeddeeddeeddddddccbb996611001144777777776677776666771100
+0000110000000000000000000000000000000000000000000000000000000000000022dd
+8844ccbbbbaabbaabbbbaabbaaaaaa99aa99aa7766110000000000000000000011557777
+66330000000000003388aaccdddddddd9911
+ddeeddeeeeeeeeeeddeeddddeeddddccbbaa883300004466667777666655666688440000
+0000001111000000000000000000000000000000000000000000000000000000000099ff
+aa0077bb99aabbbbbbbb99aaaa99999999aa887766440000000000000000003388bbccbb
+cc773300110000002277bbbbccccddddaa22
+ddeeddeeeeeeddeeeeddddddddddddbb9988330000336655886688776655556688220000
+00000011222211000000000000000000000000000000000000000000000000000077eeff
+bb001199ccbbaaaaaaaaaa889988999999997777777733000000000000001166aaccccdd
+ccbb770066550000336699ccddccdddddd55
+99aabbddddeeddeeddddddcceeddcc887755110011556666667777776677775522000000
+000011224455441100000000000000000000000000000000000000000000000066eeeeee
+cc0000338899bb999999999988888888aa998888777755000000000000002277bbccccdd
+ddcc991177882200336699bbddccddddddaa
+22333366ccddddddddccddbbaa9977333311001144666655666688889966330000000000
+0000115555777777551100000000000000000000000000000000000000000044ddeeeeee
+ee220000002277aabbaaaaaa99888899aa99aa88777766220000000000000055aaccddcc
+ddcc991133885522113388ccccddddccccdd
+0000000088aa888888887733221100000000115566776677777799994411000000000000
+00001155777788998877773300000000000000110000000000000000000077cceeeeeeee
+ee2200000000003377aabbbbaaaa9988aaaaaa999977665500000000000000117799aabb
+ccbb883311443311112266bbccccdddddddd
+000000002233001122111100000000002244667766668866888899220000000000000000
+000000777799aaaa99aaaa99550000000000000000000000000000003388ddeeeeeeffee
+ee33000000001100003388ccbbaa99999999999988775566330000000000000011558899
+aa9977220011000011335588ccddddeeddee
+00000000000000000000000000001144667766667788aa99aa8811000000000000000000
+0000003377aabb99bbbbccaa77663300000000000000000000000055cceeeeeeeeeeeeff
+ee3300000000001100000055aaccaaaa9988778888887755553300000000000000115566
+776622000000000000113377bbddccdddddd
+00000000000000000000000000336677777788777788aa99661100000000000000000000
+000000117799aaccccccccbbbbaa99440000000000000000002288ddeeeeeeeeffeeeeee
+dd22000000000000110000002288aaaaaa99778888778877776644000000000000002222
+22110000000000000000003388aaccddddee
+000000000000000000000022667777887788777799884411000000000000000000000000
+0000000077aabbccddddccccddccddbb88442200000000000088ffeeeeeeeeffeeeeeeff
+dd1100000000000000110000000044aabbaa999999888888665566440000000000000000
+0000000000000000000000001155bbccdddd
+000000000000000022556688776688888877887733000000000000000000000000000000
+0000000055bbccddccddddddddeeeedddddd8800000011110000bbffeeeeeeeeffeeeeff
+dd1100000000000000001100000000224444667777778888887766555500000000000000
+00000000000000000000000000003388ccdd
+000000001133558899998888887788998899660000000000000000000000000000000000
+0000000022aaccddddddeeeeeeeeeeeeeedd330000117766447733ddeeeeffeeeeeeeeff
+aa0000000000000000000000000000000000000000113344667788887766110000000000
+000000000000000000000000000000117799
+0000446688aabb88aa999988998888999977000000000000000000000000000000000000
+0000000000aaccddeeeeeeeeeeeeeeeeffaa00000044dd7788ee77aaeeffeeeeffeeffff
+880000000000000000000000000000000000000000000000001122222233441100000000
+000000000000000000000000000000000033
+777788aa9988888888888899aa8899886600000000000000000000000000000000000000
+000000000088ddeeeeeeeeeeeeeeeeffeeaa550066bbdd99cceeccaaffeeeeeeeeffeeff
+550000000000000000000000000000000000000000000000000000000000113322000000
+000000000000000000000000000000000000
+884422331100000000000022331100000000000000000000000000000000000000000000
+000000000077ddeeeeeeffeeffffffffbbaa6611aaddeecceeeeeebbeeffeeffffeeffee
+440000000000000000000000000000000000000000000000000000000000000022110000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000077ddeeeeeeeeffeeeeffcc1111113399bbee88cceeee99aaffffeeffeeeeee
+330000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000044ddeeeeeeeeffeeeeff66002266001166ee66aaeeee6666ffeeeeeeeeffdd
+110000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000022ddeeeeeeeeeeffffcc11001155003388eeddddeebb2211ddffeeffeeffcc
+110000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000aaffeeeeffeeeeff8800000088221155cceebbbb55000088ffeeeeeeffcc
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000077eeeeeeeeeeeeee3300000088660055ccdd554411000044ffffffeeffbb
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000022ddffeeffffff990055330055990077dddd221111330011ccffeeffff88
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000bbffeeeeeeee442299770022aa0077dddd442266bb9944aaffeeffff88
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000066ffeeeeff882288ddaa000077331188993399eeeeffcc99eeeeeeff77
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000011ddffeeffaa99ddeecc11001111001199bbeeeeeeeeeebbddffeecc11
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000066ffeeeeffeeeeeeee2200000066bbddeeeeeeeeeeffddcceebb5500
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000055ddeeeeeeeeffee550055aaaacceeccddffffeeeeeeeeeeffcc00
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000aaffeeffeeeeee66337788bbeeeeeeeeffeeffeeeeeeeeffcc00
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000033cceeeeeeeeeeee440066ddeeeeeeeeeeeeeeeeffeeffeeffbb00
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000055eeeeffeeffeeee88aacceeddeeeeeeeeeeeeffeeeeffeeff8800
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000011ddeeeeeeeeeeeeddddddeeeeeeeeffeeeeffeeffffeeffff6600
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000088ffeeffeeeeeeeeeeddeeeeeeffeeeeeeeeffeeeeffeeff4400
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000033eeeeeeffeeeeeeeeeeffeeeeeeeeeeddeeeeeeeeffeeee3300
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000011bbffeeeeffeeddeeddddbbaaaaddddcceeffeeffeeffee2200
+000000000000000000000000000000000000000000000000000000002200220000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000088ffeeeeeeddddcc9999aaaaddeeeeeeffeeffeeeeffcc0000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000044eeffeeffccddddccddeeeeeeeeeeeeeeeeeeffffffaa0000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000099ffcc5544cceeddddeeddccddeeddddeeeeeeeeff990000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000044ff9911004499aabbccccccccddbbaabbccddffff660000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000011ccbb996655bbbbaaccbbbbddddaaaaccddcceeee550000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000006688000066ddcccceeeeeeeeffeeddccaabbeeff330000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000001144000066eeeeeeddccbbbbbb7722220022bbee110000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000022665599aaccbbaabb775588778899cc000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000002211001177bbddbbaabbaa99ddeedd8844000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000110077bbddddeeffeeeeffeeffaa00000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000088aaeeffeeddccbbcc776655996600000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000778877555533445588113355882200000000
+441100000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000007799ccccddbbddeeee3300000000
+331100000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000001155bbeeeeeeeeffeeeeeeff5500000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000004488ddeeeeeeeeeeeeeeeedd2200000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000033bbddeeeeeeffeeeeffaa0000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000088ccddeeeeeeeeeeff880000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000044aaeeeeffeeeeeeff550000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000001188ddccccddbb9988000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000022222233774422000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000116699aaccddbb44000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000002288888888992200000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000002255661100000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000011000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000113355882200000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000011778899771100000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000002244110000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000110000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000001100
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000001100
+000000000000000000000000000000000000000000000000000000000033110000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000022440000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000011220000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000001100000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000001100000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000001100000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000110000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000001100000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000
+001100110011001100110011001100110000000000000000000000000000000000000000
+000000000000000000000000000000000000000000221100000000000000000000001111
+110000001100001100110000110000000000000000000000000000000000000000001100
+001100000000000000000000110000001100
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/lib/docbuilder/doc/src/notes.xml b/lib/docbuilder/doc/src/notes.xml
new file mode 100644
index 0000000000..1131bbaf91
--- /dev/null
+++ b/lib/docbuilder/doc/src/notes.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>2007</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>DocBuilder Release Notes</title>
+ <prepared>otp_appnotes</prepared>
+ <docno>nil</docno>
+ <date>nil</date>
+ <rev>nil</rev>
+ <file>notes.xml</file>
+ </header>
+ <p>This document describes the changes made to the DocBuilder
+ application.</p>
+
+<section><title>Docbuilder 0.9.8.6</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The documentation is now built with open source tools
+ (xsltproc and fop) that exists on most platforms. One
+ visible change is that the frames are removed.</p>
+ <p>
+ Own Id: OTP-8201</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Docbuilder 0.9.8.5</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>The copyright notices have been updated.</p>
+ <p>
+ Own Id: OTP-7851</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Docbuilder 0.9.8.4</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The element "code" with multiple CDATA or CDATA plus
+ other data now works as expected, previously it caused a
+ crash.</p>
+ <p>
+ Own Id: OTP-7236</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Docbuilder 0.9.8</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The generated html should now be valid xhtml (with a few
+ exceptions to be fixed in next version).</p>
+ <p>
+ Own Id: OTP-7027</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+ <section><title>Docbuilder 0.9.7</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ New fonts and new CSS style included in generated html documents.
+ </p>
+ </item>
+ <item>
+ <p>
+ Updated DTD's with new header elements copyright and legalnotice.
+ Element authors changed to optional instead of mandatory.
+
+ </p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section><title>Docbuilder 0.9.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Line breaks within <c>pre</c> are now always preserved.</p>
+ <p>
+ The definition of <c>name</c> in the cref DTD is now
+ correctly handled.</p>
+ <p>
+ <c>docb_transform</c>: The HTML snippet returned by the
+ <c>Module:head()</c> callback function is now placed
+ below the title in the HTML file (as specified in the
+ documentation), not on the same line.</p>
+ <p>
+ <c>docb_gen</c>: Added option <c>sort_functions</c>.</p>
+ <p>
+ Fixed bugs in cites and terms DTD, and also in book,
+ bookinsidecover and report DTDs which are not officially
+ supported (yet).</p>
+ <p>
+ License info added to all DTD files.</p>
+ <p>
+ Corrections and clarifications made to the User's Guide.</p>
+ <p>
+ Own Id: OTP-6775</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>DocBuilder 0.9</title>
+ <p>First version of DocBuilder released as part of Erlang/OTP.
+ Previously it has been used as an internal tool only.</p>
+ </section>
+</chapter>
+
diff --git a/lib/docbuilder/doc/src/overview.xml b/lib/docbuilder/doc/src/overview.xml
new file mode 100644
index 0000000000..ca13c5d436
--- /dev/null
+++ b/lib/docbuilder/doc/src/overview.xml
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+ <title>Overview</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ <file>overview.xml</file>
+ </header>
+
+ <section>
+ <title>Background</title>
+
+ <p>DocBuilder has been used within the OTP project to generate
+ documentation for Erlang/OTP itself for more than ten years.
+ It has now been released as a regular Erlang/OTP application.</p>
+
+ <p>The intention with DocBuilder is that it should be as easy to
+ use and maintain as possible and generate adequate documentation
+ for OTP's needs. It uses frames, which can probably be regarded as
+ old-fashioned today. Hopefully, this should be improved in
+ the future.</p>
+
+ <p>Originally, DocBuilder input was SGML files and external tools
+ was used for parsing. The internal version used in the OTP
+ project can generate not only HTML code but also LaTeX (for PDF
+ and PostScript) and nroff (for UNIX man pages). (Again, using
+ external tools). Because of this, the parsed source code is
+ transformed into a tree structure before being transformed again
+ into the desired format.</p>
+ </section>
+
+ <section>
+ <title>DTD Suite</title>
+
+ <p>Input is written as XML according to one of the DTDs and output
+ is corresponding HTML. Documentation for an Erlang/OTP application
+ is usually organized as follows:</p>
+ <taglist>
+ <tag><em>User's Guide</em></tag>
+ <item>
+ <p>(DTD:
+ <seealso marker="user_guide_dtds#partDTD">part</seealso>)
+ A collection of chapters
+ (<seealso marker="user_guide_dtds#chapterDTD">chapter</seealso>).
+ </p>
+ </item>
+
+ <tag><em>Reference Manual</em></tag>
+ <item>
+ <p>(DTD:
+ <seealso marker="refman_dtds#applicationDTD">application</seealso>
+ A collection of manual pages for modules
+ (<seealso marker="refman_dtds#erlrefDTD">erlref</seealso>),
+ applications
+ (<seealso marker="refman_dtds#apprefDTD">appref</seealso>),
+ commands
+ (<seealso marker="refman_dtds#comrefDTD">comref</seealso>),
+ C libraries
+ (<seealso marker="refman_dtds#crefDTD">cref</seealso>) and
+ files
+ (<seealso marker="refman_dtds#filerefDTD">fileref</seealso>).
+ </p>
+ </item>
+
+ <tag><em>Release Notes</em></tag>
+ <item>
+ <p>Same structure as the User's Guide.</p>
+ </item>
+ </taglist>
+
+ <p>In some cases, one or more of the User's Guide, Reference Manual
+ and Release Notes are omitted. Also, it is possible to use either
+ the <c>application</c> or <c>part</c> DTD to write other types
+ of documentation for the application.</p>
+
+ <p>A special kind of DTD,
+ <seealso marker="fasc_dtds">fascicules</seealso>, can be used to
+ specify the different parts of the documentation, and which one
+ of those should be shown as default.</p>
+ </section>
+
+ <section>
+ <title>Structure of Generated HTML</title>
+
+ <p>The generated HTML corresponding to a <c>part</c> or
+ <c>application</c> document is split into a left frame and a right
+ frame. The left frame contains information about the document
+ and links to the included files, that is chapters or manual pages.
+ The right frame is used to display either the front page for
+ the document, or the selected chapter/manual page.</p>
+
+ <p>The left frame also contains links to a bibliography and a
+ glossary, which are automatically generated.</p>
+
+ <p>In the case of an <c>application</c> document, the left frame
+ also contains a link to an automatically generated index.</p>
+ </section>
+
+ <section>
+ <title>Basic Tags</title>
+
+ <p>All DTDs in the DocBuilder DTD suite share a basic set of tags.
+ An author can easily switch from one DTD to another and still use
+ the same basic tags. It is furthermore easy to copy pieces of
+ information from one document to another, even though they do not
+ use the same DTD.</p>
+
+ <p>The basic set of tags are divided into two categories:
+ <seealso marker="block_tags">block tags</seealso> and
+ <seealso marker="inline_tags">inline tags</seealso>. Block tags
+ typically define a separate block of information, like a
+ paragraph or a list. Inline tags are typically used within block
+ tags, for example a highlighted word within a paragraph.</p>
+ </section>
+
+ <section>
+ <title>About This Document</title>
+
+ <p>In this User's Guide, the structure of the different documents
+ and the meaning of the tags are explained. There are numerous
+ examples of documentation source code.</p>
+
+ <p>For readability and simplicity, the examples have been kept as
+ short as possible. For an example of what the generated HTML
+ will look like, it is recommended to look at the DocBuilder
+ documentation itself:</p>
+ <list>
+ <item>This User's Guide is written using the <c>part</c> and
+ <c>chapter</c> DTDs.</item>
+
+ <item>The Reference Manual is written using
+ the <c>application</c>, <c>appref</c> and <c>erlref</c> DTDs.
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Usage</title>
+
+ <list type="ordered">
+ <item>
+ <p>Create the relevant XML files.</p>
+
+ <p>If there are EDoc comments in a module, the function
+ <seealso marker="docb_gen#module/1">docb_gen:module/1,2</seealso>
+ can be used to generate an XML file according to
+ the <c>erlref</c> DTD for this module.</p>
+ </item>
+
+ <item>
+ <p>The XML files can be validated using
+ <seealso marker="docb_xml_check#validate/1">docb_xml_check:validate/1</seealso>.
+ </p>
+ </item>
+
+ <item>
+ <p>Generate HTML files by using
+ <seealso marker="docb_transform#file/1">docb_transform:file/1,2</seealso>.
+ </p>
+ </item>
+ </list>
+ </section>
+</chapter>
+
diff --git a/lib/docbuilder/doc/src/part.xml b/lib/docbuilder/doc/src/part.xml
new file mode 100644
index 0000000000..546c6c612e
--- /dev/null
+++ b/lib/docbuilder/doc/src/part.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE part SYSTEM "part.dtd">
+
+<part xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header>
+ <copyright>
+ <year>2007</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+ <title>DocBuilder User's Guide</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <description>
+ <p><em>Docbuilder</em> provides functionality for generating HTML
+ documentation for Erlang modules and Erlang/OTP applications
+ from XML source code and/or EDoc comments in Erlang source code.</p>
+ </description>
+ <xi:include href="overview.xml"/>
+ <xi:include href="user_guide_dtds.xml"/>
+ <xi:include href="refman_dtds.xml"/>
+ <xi:include href="fasc_dtds.xml"/>
+ <xi:include href="header_tags.xml"/>
+ <xi:include href="block_tags.xml"/>
+ <xi:include href="inline_tags.xml"/>
+ <xi:include href="character_entities.xml"/>
+</part>
+
diff --git a/lib/docbuilder/doc/src/part_notes.xml b/lib/docbuilder/doc/src/part_notes.xml
new file mode 100644
index 0000000000..2f824630fb
--- /dev/null
+++ b/lib/docbuilder/doc/src/part_notes.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE part SYSTEM "part.dtd">
+
+<part xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header>
+ <copyright>
+ <year>2007</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>DocBuilder Release Notes</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <description>
+ <p><em>Docbuilder</em> provides functionality for generating HTML
+ documentation for Erlang modules and Erlang/OTP applications
+ from XML source code and/or EDoc comments in Erlang source code.</p>
+ </description>
+ <xi:include href="notes.xml"/>
+</part>
+
diff --git a/lib/docbuilder/doc/src/ref_man.xml b/lib/docbuilder/doc/src/ref_man.xml
new file mode 100644
index 0000000000..7be8ace32f
--- /dev/null
+++ b/lib/docbuilder/doc/src/ref_man.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE application SYSTEM "application.dtd">
+
+<application xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header>
+ <copyright>
+ <year>2007</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>DocBuilder Reference Manual</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <description>
+ <p><em>DocBuilder</em> provides functionality for generating HTML
+ documentation for Erlang modules and Erlang/OTP applications
+ from XML source code and/or EDoc comments in Erlang source code.</p>
+ </description>
+ <xi:include href="docbuilder_app.xml"/>
+ <xi:include href="docb_gen.xml"/>
+ <xi:include href="docb_transform.xml"/>
+ <xi:include href="docb_xml_check.xml"/>
+</application>
+
diff --git a/lib/docbuilder/doc/src/refman_dtds.xml b/lib/docbuilder/doc/src/refman_dtds.xml
new file mode 100644
index 0000000000..a7beaed708
--- /dev/null
+++ b/lib/docbuilder/doc/src/refman_dtds.xml
@@ -0,0 +1,667 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Reference Manual DTDs</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ <file>refman_dtds.xml</file>
+ </header>
+
+ <p>There are five DTDs for writing manual pages about applications,
+ shell commands, C libraries, Erlang modules and files, all with a
+ similar structure:</p>
+
+ <list type="bulleted">
+ <item>A header.</item>
+ <item>Name of the application/command/library/module/file.</item>
+ <item>Short summary (one line).</item>
+ <item>A longer description.</item>
+ <item>"Formal" definitions of functions or commands.</item>
+ <item>Optional sections of free text.</item>
+ <item>Optional section with the name(s) and email(s) of the author(s).</item>
+ </list>
+
+ <p>The differences between the DTDs are the tags for the name,
+ the short summary and some tags inside the "formal" definitions.</p>
+
+ <section>
+ <marker id="applicationDTD"></marker>
+ <title>The application DTD</title>
+
+ <p>The <c>application</c> DTD is intended for a Reference Manual and
+ groups a set of manual pages into one unit. The structure is
+ similar to the part DTD: first an introduction and then the manual
+ pages, written in separate files with the
+ <seealso marker="#apprefDTD">appref</seealso>,
+ <seealso marker="#comrefDTD">comref</seealso>,
+ <seealso marker="#crefDTD">cref</seealso>,
+ <seealso marker="#erlrefDTD">erlref</seealso>, or
+ <seealso marker="#filerefDTD">fileref</seealso> DTD.</p>
+
+ <p>Example:</p>
+ <pre>
+&lt;?xml version="1.0" encoding="latin1" ?>
+&lt;!DOCTYPE application SYSTEM "application.dtd">
+&lt;application>
+ &lt;header>
+ &lt;title>Application name&lt;/title>
+ &lt;prepared/>
+ &lt;docno/>
+ &lt;date/>
+ &lt;rev/>
+ &lt;/header>
+
+ &lt;description>
+ &lt;p>Application description...&lt;/p>
+ &lt;/description>
+
+ &lt;include file="module1">
+ &lt;include file="module2">
+&lt;/application>
+ </pre>
+ </section>
+
+ <section>
+ <marker id="applicationTAG"></marker>
+ <title>&lt;application&gt;</title>
+
+ <p>The top level tag of an <c>application</c> DTD.</p>
+
+ <p>Contains a
+ <seealso marker="header_tags">&lt;header&gt;</seealso>,
+ an optional
+ <seealso marker="user_guide_dtds#descriptionTAG">&lt;description&gt;</seealso>,
+ followed by one or more
+ <seealso marker="user_guide_dtds#includeTAG">&lt;include&gt;</seealso>.
+ </p>
+ </section>
+
+ <section>
+ <marker id="apprefDTD"></marker>
+ <title>The appref DTD</title>
+
+ <p>This is the DTD for writing an application manual page.</p>
+
+ <p>Example:</p>
+ <pre>
+&lt;?xml version="1.0" encoding="latin1" ?>
+&lt;!DOCTYPE appref SYSTEM "appref.dtd">
+&lt;appref>
+ &lt;header>
+ &lt;title>Application name&lt;/title>
+ &lt;prepared/>
+ &lt;docno/>
+ &lt;date/>
+ &lt;rev/>
+ &lt;/header>
+
+ &lt;app>Application name&lt;/app>
+
+ &lt;appsummary>A short application summary.&lt;/appsummary>
+
+ &lt;description>
+ &lt;p>A longer description of the application.&lt;/p>
+ &lt;/description>
+
+ &lt;section>
+ &lt;title>Configuration&lt;/title>
+
+ &lt;p>...&lt;/p>
+ &lt;/section>
+
+ ...
+
+ &lt;authors>
+ &lt;aname>Name of author&lt;/aname>
+ &lt;email>Email of author&lt;/email>
+ &lt;/authors>
+&lt;/appref>
+ </pre>
+
+ <section>
+ <marker id="apprefTAG"></marker>
+ <title>&lt;appref&gt;</title>
+
+ <p>The top level tag of an <c>appref</c> DTD.</p>
+
+ <p>Contains
+ <seealso marker="header_tags#headerTAG">&lt;header&gt;</seealso>,
+ <seealso marker="#appTAG">&lt;app&gt;</seealso>,
+ <seealso marker="#appsummaryTAG">&lt;appsummary&gt;</seealso>,
+ <seealso marker="#descriptionTAG">&lt;description&gt;</seealso>,
+ zero or more
+ <seealso marker="#sectionTAG">&lt;section&gt;</seealso> and
+ <seealso marker="#funcsTAG">&lt;funcs&gt;</seealso>,
+ followed by zero or more
+ <seealso marker="#authorsTAG">&lt;authors&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="appTAG"></marker>
+ <title>&lt;app&gt;</title>
+
+ <p>The application name. Contains plain text.</p>
+ </section>
+
+ <section>
+ <marker id="appsummaryTAG"></marker>
+ <title>&lt;appsummary&gt;</title>
+
+ <p>Short summary. Contains plain text.</p>
+ </section>
+ </section>
+
+ <section>
+ <marker id="comrefDTD"></marker>
+ <title>The comref DTD</title>
+
+ <p>This is the DTD for writing a command manual page.</p>
+
+ <p>Example:</p>
+ <pre>
+&lt;?xml version="1.0" encoding="latin1" ?>
+&lt;!DOCTYPE comref SYSTEM "comref.dtd">
+&lt;comref>
+ &lt;header>
+ &lt;title>Command name&lt;/title>
+ &lt;prepared/>
+ &lt;docno/>
+ &lt;date/>
+ &lt;rev/>
+ &lt;/header>
+
+ &lt;com>Command name&lt;/com>
+
+ &lt;comsummary>A short command summary.&lt;/comsummary>
+
+ &lt;description>
+ &lt;p>A long description of the command.&lt;/p>
+ &lt;/description>
+
+ &lt;funcs>
+ &lt;func>
+ &lt;name>command&lt;/name>
+ &lt;name>command -flag &lt;arg>&lt;/name>
+ &lt;fsummary>A short command summary (max 40 characters).&lt;/fsummary>
+ &lt;desc>
+ &lt;p>An extended command description.
+ &lt;/desc>
+ &lt;/func>
+ &lt;/funcs>
+
+ &lt;section>
+ &lt;title>Options&lt;/title>
+
+ &lt;p>...&lt;/p>
+ &lt;/section>
+
+ &lt;authors>
+ &lt;aname>Name of author&lt;/aname>
+ &lt;email>Email of author&lt;/email>
+ &lt;/authors>
+&lt;/comref>
+ </pre>
+
+ <section>
+ <marker id="comrefTAG"></marker>
+ <title>&lt;comref&gt;</title>
+
+ <p>The top level tag for a <c>comref</c> DTD.</p>
+
+ <p>Contains
+ <seealso marker="header_tags#headerTAG">&lt;header&gt;</seealso>,
+ <seealso marker="#comTAG">&lt;com&gt;</seealso>,
+ <seealso marker="#comsummaryTAG">&lt;comsummary&gt;</seealso>,
+ <seealso marker="#descriptionTAG">&lt;description&gt;</seealso>,
+ zero or more
+ <seealso marker="#sectionTAG">&lt;section&gt;</seealso> and
+ <seealso marker="#funcsTAG">&lt;funcs&gt;</seealso>,
+ followed by zero or more
+ <seealso marker="#authorsTAG">&lt;authors&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="comTAG"></marker>
+ <title>&lt;com&gt;</title>
+
+ <p>The command name. Contains plain text.</p>
+ </section>
+
+ <section>
+ <marker id="comsummaryTAG"></marker>
+
+ <title>&lt;comsummary&gt;</title>
+
+ <p>Short summary. Contains plain text.</p>
+ </section>
+ </section>
+
+ <section>
+ <marker id="crefDTD"></marker>
+ <title>The cref DTD</title>
+
+ <p>This is the DTD for writing a C library manual page.</p>
+
+ <p>Example:</p>
+ <pre><![CDATA[
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE cref SYSTEM "cref.dtd">
+<cref>
+ <header>
+ <title>C library name</title>
+ <prepared/>
+ <docno/>
+ <date/>
+ <rev/>
+ </header>
+
+ <lib>C library name</lib>
+
+ <libsummary>A short C library summary.</libsummary>
+
+ <description>
+ <p>A longer description of the C library.</p>
+ </description>
+
+ <funcs>
+ <func>
+ <name><ret>void</ret><nametext>start(bar)</nametext></name>
+ <name><ret>void</ret><nametext>start(foo)</nametext></name>
+ <fsummary>A short function summary (max 40 characters).</fsummary>
+ <type>
+ <v>char bar</v>
+ <v>int foo</v>
+ </type>
+ <desc>
+ <p>An extended function description.</p>
+ </desc>
+ </func>
+
+ ...
+ </funcs>
+
+ <section>
+ <title>A title</title>
+
+ <p>Some text...</p>
+ </section>
+
+
+</cref>
+ ]]></pre>
+
+ <section>
+ <marker id="crefTAG"></marker>
+ <title>&lt;cref&gt;</title>
+
+ <p>The top level tag for a <c>cref</c> DTD.</p>
+
+ <p>Contains
+ <seealso marker="header_tags#headerTAG">&lt;header&gt;</seealso>,
+ <seealso marker="#libTAG">&lt;lib&gt;</seealso>,
+ <seealso marker="#libsummaryTAG">&lt;libsummary&gt;</seealso>,
+ <seealso marker="#descriptionTAG">&lt;description&gt;</seealso>,
+ zero or more
+ <seealso marker="#sectionTAG">&lt;section&gt;</seealso> and
+ <seealso marker="#funcsTAG">&lt;funcs&gt;</seealso>, followed by
+ zero or more
+ <seealso marker="#authorsTAG">&lt;authors&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="libTAG"></marker>
+ <title>&lt;lib&gt;</title>
+
+ <p>The C library name or acronym. Contains plain text.</p>
+ </section>
+
+ <section>
+ <marker id="libsummaryTAG"></marker>
+ <title>&lt;libsummary&gt;</title>
+
+ <p>Short summary. Contains plain text.</p>
+ </section>
+ </section>
+
+ <section>
+ <marker id="erlrefDTD"></marker>
+ <title>The erlref DTD</title>
+
+ <p>This is the DTD for writing Erlang module manual pages.</p>
+
+ <p>Example:</p>
+ <pre>
+&lt;?xml version="1.0" encoding="latin1" ?>
+&lt;!DOCTYPE erlref SYSTEM "erlref.dtd">
+&lt;erlref>
+ &lt;header>
+ &lt;title>Module name&lt;/title>
+ &lt;prepared/>
+ &lt;docno/>
+ &lt;date/>
+ &lt;rev/>
+ &lt;/header>
+
+ &lt;module>Module name&lt;/module>
+
+ &lt;modulesummary>A short module summary.&lt;/modulesummary>
+
+ &lt;description>
+ &lt;p>A longer description of the module.&lt;/p>
+ &lt;/description>
+
+ &lt;funcs>
+ &lt;func>
+ &lt;name>start() -> Result&lt;/name>
+ &lt;name>start(N) -> Result&lt;/name>
+ &lt;fsummary>A short function summary (max 40 characters).&lt;/fsummary>
+ &lt;type>
+ &lt;v>Pid = pid()&lt;/v>
+ &lt;v>N = int()&lt;/v>
+ &lt;v>Result = {ok, Pid} | {error, Reason}&lt;/v>
+ &lt;v>Reason = term()&lt;/v>
+ &lt;d>A parameter description.&lt;/d>
+ &lt;/type>
+ &lt;desc>
+ &lt;p>An extended function description.&lt;/p>
+ &lt;/desc>
+ &lt;/func>
+
+ ...
+ &lt;/funcs>
+
+ &lt;section>
+ &lt;title>Some Title&lt;/title>
+ &lt;p>Some text...&lt;/p>
+ &lt;/section>
+
+ &lt;authors>
+ &lt;aname>Name of author&lt;/aname>
+ &lt;email>Email of author&lt;/email>
+ &lt;/authors>
+&lt;/erlref>
+ </pre>
+
+ <section>
+ <marker id="erlrefTAG"></marker>
+ <title>&lt;erlref&gt;</title>
+
+ <p>The top level tag for an <c>erlref</c> DTD.</p>
+
+ <p>Contains
+ <seealso marker="header_tags#headerTAG">&lt;header&gt;</seealso>,
+ <seealso marker="#moduleTAG">&lt;module&gt;</seealso>,
+ <seealso marker="#modulesummaryTAG">&lt;modulesummary&gt;</seealso>,
+ <seealso marker="#descriptionTAG">&lt;description&gt;</seealso>,
+ zero or more
+ <seealso marker="#sectionTAG">&lt;section&gt;</seealso> and
+ <seealso marker="#funcsTAG">&lt;funcs&gt;</seealso>,
+ followed by zero or more
+ <seealso marker="#authorsTAG">&lt;authors&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="moduleTAG"></marker>
+ <title>&lt;module&gt;</title>
+
+ <p>The module name. Contains plain text.</p>
+ </section>
+
+ <section>
+ <marker id="modulesummaryTAG"></marker>
+ <title>&lt;modulesummary&gt;</title>
+
+ <p>Short summary. Contains plain text.</p>
+ </section>
+ </section>
+
+ <section>
+ <marker id="filerefDTD"></marker>
+ <title>The fileref DTD</title>
+
+ <p>This is the DTD for writing file manual pages. In OTP, this DTD
+ is used for defining the format of for example <c>.rel</c> and
+ <c>.app</c> files.</p>
+
+ <p>Example:</p>
+ <pre>
+&lt;?xml version="1.0" encoding="latin1" ?>
+&lt;!DOCTYPE fileref SYSTEM "fileref.dtd">
+&lt;fileref>
+ &lt;header>
+ &lt;title>File name&lt;/title>
+ &lt;prepared/>
+ &lt;docno/>
+ &lt;date/>
+ &lt;rev/>
+ &lt;/header>
+
+ &lt;file>fileref&lt;/file>
+
+ &lt;filesummary>A short file summary.&lt;/filesummary>
+
+ &lt;description>
+ &lt;p>A longer description of the file.&lt;/p>
+ &lt;/description>
+
+ &lt;section>
+ &lt;title>File format&lt;/title>
+
+ &lt;p>...&lt;/p>
+ &lt;/section>
+
+ &lt;authors>
+ &lt;aname>Name of author&lt;/aname>
+ &lt;email>Email of author&lt;/email>
+ &lt;/authors>
+&lt;/fileref>
+ </pre>
+
+ <p>The file reference manual can also contain function definitions,
+ similar to the <c>erlref</c> DTD.</p>
+
+ <section>
+ <marker id="filerefTAG"></marker>
+ <title>&lt;fileref&gt;</title>
+
+ <p>The top level tag for a <c>fileref</c> DTD.</p>
+
+ <p>Contains
+ <seealso marker="header_tags#headerTAG">&lt;header&gt;</seealso>,
+ <seealso marker="#fileTAG">&lt;file&gt;</seealso>,
+ <seealso marker="#filesummaryTAG">&lt;filesummary&gt;</seealso>,
+ <seealso marker="#descriptionTAG">&lt;description&gt;</seealso>,
+ zero or more
+ <seealso marker="#sectionTAG">&lt;section&gt;</seealso> and
+ <seealso marker="#funcsTAG">&lt;funcs&gt;</seealso>,
+ followed by zero or more
+ <seealso marker="#authorsTAG">&lt;authors&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="fileTAG"></marker>
+ <title>&lt;file&gt;</title>
+
+ <p>The name of the file or file type. Contains plain text.</p>
+ </section>
+
+ <section>
+ <marker id="filesummaryTAG"></marker>
+ <title>&lt;filesummary&gt;</title>
+
+ <p>Short summary. Contains plain text.</p>
+ </section>
+ </section>
+
+ <section>
+ <marker id="descriptionTAG"></marker>
+ <title>&lt;description&gt;</title>
+
+ <p>The introduction after the title and before sections and
+ "formal" definitions.</p>
+
+ <p>Contains any combination and any number of
+ <seealso marker="block_tags">block tags</seealso> except
+ <c><![CDATA[<image>]]></c> and <c><![CDATA[<table>]]></c>.</p>
+ </section>
+
+ <section>
+ <marker id="sectionTAG"></marker>
+ <title>&lt;section&gt;</title>
+
+ <p>Subdivisions of the document. Contains an optional
+ <seealso marker="inline_tags#markerTAG">&lt;marker&gt;</seealso>,
+ a <seealso marker="user_guide_dtds#titleTAG">&lt;title&gt;</seealso>,
+
+ followed by any combination and any number of
+ <seealso marker="block_tags">block tags</seealso> except
+ <c><![CDATA[<image>]]></c> and <c><![CDATA[<table>]]></c>.</p>
+ </section>
+
+ <section>
+ <marker id="funcsTAG"></marker>
+ <title>&lt;funcs&gt;</title>
+
+ <p>A group of "formal" function definitions.</p>
+
+ <p>Contains one or more
+ <seealso marker="#funcTAG">&lt;func&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="funcTAG"></marker>
+ <title>&lt;func&gt;</title>
+
+ <p>A "formal" function definition.</p>
+
+ <p>Contains one or more
+ <seealso marker="#nameTAG">&lt;name&gt;</seealso>, followed by
+ <seealso marker="#fsummaryTAG">&lt;fsummary&gt;</seealso>,
+ <seealso marker="#typeTAG">&lt;type&gt;</seealso> (optional) and
+ <seealso marker="#descTAG">&lt;desc&gt;</seealso> (optional).</p>
+ </section>
+
+ <section>
+ <marker id="nameTAG"></marker>
+ <title>&lt;name&gt;</title>
+
+ <p>Function/command signature with name, arguments and return value.
+ Contains plain text, except for the <c>cref</c> DTD where it
+ contains a <c><![CDATA[<ret>]]></c> (return type, plain text) and
+ a <c><![CDATA[<nametext>]]></c> (function name and arguments,
+ plain text).</p>
+
+ <p>In the case of an <c>erlref</c> DTD, DocBuilder will
+ automatically try to add a
+ <seealso marker="inline_tags#markerTAG">marker</seealso>,
+ <c><![CDATA[<marker id="Name/Arity">]]></c> or
+ <c><![CDATA[<marker id="Name">]]></c>, based on the contents of
+ this tag before the function definition.</p>
+
+ <p>Example: Consider the following name definition</p>
+ <pre><![CDATA[
+<name>foo(Arg1, Arg2) -> ok | {error, Reason}</name>
+ ]]></pre>
+
+ <p>DocBuilder will create a marker
+ <c><![CDATA[<marker id="foo/2">]]></c> before the function
+ definition in the generated HTML. That is, referring to
+ the function using
+ <c><![CDATA[<seealso marker="#foo/2">foo/2</seealso>]]></c> will
+ automatically work.</p>
+ </section>
+
+ <section>
+ <marker id="fsummaryTAG"></marker>
+ <title>&lt;fsummary&gt;</title>
+
+ <p>Function/command summary. Contains plain text,
+ <seealso marker="inline_tags#cTAG">&lt;c&gt;</seealso> and
+ <seealso marker="inline_tags#emTAG">&lt;em&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="typeTAG"></marker>
+ <title>&lt;type&gt;</title>
+
+ <p>Type declarations for the function/command.</p>
+
+ <p>Contains one or more pairs of
+ <seealso marker="#vTAG">&lt;v&gt;</seealso> and
+ <seealso marker="#dTAG">&lt;d&gt;</seealso> (optional).</p>
+ </section>
+
+ <section>
+ <marker id="vTAG"></marker>
+ <title>&lt;v&gt;</title>
+
+ <p>Type declaration for an argument or return value. Contains plain
+ text.</p>
+ </section>
+
+ <section>
+ <marker id="dTAG"></marker>
+ <title>&lt;d&gt;</title>
+
+ <p>Description for an argument or return value. Contains plain text,
+ <seealso marker="inline_tags#cTAG">&lt;c&gt;</seealso> and
+ <seealso marker="inline_tags#emTAG">&lt;em&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="descTAG"></marker>
+ <title>&lt;desc&gt;</title>
+
+ <p>Function/command description. Contains
+ <seealso marker="block_tags">block tags</seealso> except
+ <c>&lt;image&gt;</c> and <c>&lt;table&gt;</c>.</p>
+ </section>
+
+ <section>
+ <marker id="authorsTAG"></marker>
+ <title>&lt;authors&gt;</title>
+
+ <p>Authors of the manual page. The <c>authors</c> element is optional.</p>
+
+ <p>Contains one or more pairs of
+ <seealso marker="#anameTAG">&lt;aname&gt;</seealso> and
+ <seealso marker="#emailTAG">&lt;email&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="anameTAG"></marker>
+ <title>&lt;aname&gt;</title>
+
+ <p>Author name. Contains plain text.</p>
+ </section>
+
+ <section>
+ <marker id="emailTAG"></marker>
+ <title>&lt;email&gt;</title>
+
+ <p>Author email address. Contains plain text.</p>
+ </section>
+</chapter>
+
diff --git a/lib/docbuilder/doc/src/user_guide_dtds.xml b/lib/docbuilder/doc/src/user_guide_dtds.xml
new file mode 100644
index 0000000000..a2db44f830
--- /dev/null
+++ b/lib/docbuilder/doc/src/user_guide_dtds.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>User's Guide DTDs</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ <file>user_guide_dtds.xml</file>
+ </header>
+
+ <section>
+ <marker id="partDTD"></marker>
+ <title>The part DTD</title>
+
+ <p>The <c>part</c> DTD is intended for a "normal" document, like
+ the User's Guide or Release Notes. First are some paragraphs
+ introducing the main contents. After that follows chapters,
+ written in separate files with
+ the <seealso marker="#chapterDTD">chapter</seealso> DTD.</p>
+
+ <p>Example:</p>
+ <pre>
+&lt;?xml version="1.0" encoding="latin1" ?>
+&lt;!DOCTYPE part SYSTEM "part.dtd"&gt;
+&lt;part&gt;
+ &lt;header&gt;
+ &lt;title&gt;The chapter title&lt;/title&gt;
+ &lt;prepared&gt;The author&lt;/prepared&gt;
+ &lt;docno/&gt;
+ &lt;date/&gt;
+ &lt;rev/&gt;
+ &lt;/header&gt;
+
+ &lt;description&gt;
+ &lt;p&gt;Some text..&lt;/p&gt;
+ &lt;/description&gt;
+
+ &lt;include file="file1"&gt;&lt;/include&gt;
+ &lt;include file="file2"&gt;&lt;/include&gt;
+&lt;/part&gt;
+ </pre>
+ </section>
+
+ <section>
+ <marker id="partTAG"></marker>
+ <title>&lt;part></title>
+
+ <p>The top level tag of a <c>part</c> DTD.</p>
+
+ <p>Contains a
+ <seealso marker="header_tags">&lt;header&gt;</seealso>,
+ an optional
+ <seealso marker="#descriptionTAG">&lt;description&gt;</seealso>,
+ followed by one or more
+ <seealso marker="#includeTAG">&lt;include&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="descriptionTAG"/>
+ <title>&lt;description&gt;</title>
+
+ <p>The introduction after the title and before the bulk of
+ included chapters/manual pages.</p>
+
+ <p>Contains any combination and any number
+ of <seealso marker="block_tags">block tags</seealso> except
+ <c><![CDATA[<image>]]></c> and <c><![CDATA[<table>]]></c>.</p>
+ </section>
+
+ <section>
+ <marker id="includeTAG"></marker>
+ <title>&lt;include&gt;</title>
+
+ <p>An empty tag. The attribute <c>file</c> specifies a file to
+ include. The <c>.xml</c> file extension should be omitted.</p>
+
+ <p>Example:</p>
+ <pre>
+&lt;include file="notes">&lt;/include>
+ </pre>
+ </section>
+
+ <section>
+ <marker id="chapterDTD"></marker>
+ <title>The chapter DTD</title>
+
+ <p>The <c>chapter</c> DTD is intended for a chapter in a User's
+ Guide or similar with text divided into sections, which can be
+ nested.</p>
+
+ <p>Example:</p>
+ <pre>
+&lt;?xml version="1.0" encoding="latin1" ?>
+&lt;!DOCTYPE chapter SYSTEM "chapter.dtd">
+&lt;chapter>
+ &lt;header>
+ &lt;title>Title on first level&lt;/title>
+ &lt;prepared/>
+ &lt;docno/>
+ &lt;date/>
+ &lt;rev/>
+ &lt;/header>
+
+ &lt;p>Introduction...&lt;/p>
+
+ &lt;section>
+ &lt;title>Title on second level&lt;/title>
+
+ &lt;p>First paragraph.&lt;/p>
+
+ &lt;p>Second paragraph etc.&lt;/p>
+
+ &lt;section>
+ &lt;title>Title on third level&lt;/title>
+
+ &lt;p>...&lt;/p>
+ &lt;/section>
+ &lt;/section>
+
+ ...
+&lt;/chapter>
+ </pre>
+ </section>
+
+ <section>
+ <marker id="chapterTAG"></marker>
+ <title>&lt;chapter&gt;</title>
+
+ <p>The top level tag of a <c>chapter</c> DTD.</p>
+
+ <p>Contains a
+ <seealso marker="header_tags">&lt;header&gt;</seealso>,
+ an optional introduction consisting of any combination of
+ <seealso marker="block_tags">block tags</seealso>,
+ followed by one or more
+ <seealso marker="#sectionTAG">&lt;section&gt;</seealso>.</p>
+ </section>
+
+ <section>
+ <marker id="sectionTAG"></marker>
+ <title>&lt;section&gt;</title>
+
+ <p>Subdivision of a chapter.</p>
+
+ <p>Contains an optional
+ <seealso marker="inline_tags#markerTAG">&lt;marker&gt;</seealso>,
+ a <seealso marker="#titleTAG">&lt;title&gt;</seealso>,
+ followed by any combination and any number of
+ <seealso marker="block_tags">block tags</seealso> and
+ <c><![CDATA[<section>]]></c>.</p>
+ </section>
+
+ <section>
+ <marker id="titleTAG"></marker>
+ <title>&lt;title&gt;</title>
+
+ <p>Section title, contains plain text.</p>
+ </section>
+</chapter>
+