Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > f806c0f24240b25bde21a53f71766070 > files > 546

erlang-doc-R13B-04.6.fc13.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css">
<title>Erlang -- Overview</title>
</head>
<body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container">
<script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript">
            <!--            
              function getWinHeight() {
                var myHeight = 0;
                if( typeof( window.innerHeight ) == 'number' ) {
                  //Non-IE
                  myHeight = window.innerHeight;
                } else if( document.documentElement && ( document.documentElement.clientWidth || 
                                                         document.documentElement.clientHeight ) ) {
                  //IE 6+ in 'standards compliant mode'
                  myHeight = document.documentElement.clientHeight;
                } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                  //IE 4 compatible
                  myHeight = document.body.clientHeight;
                }
                return myHeight;            
              }

              function setscrollpos() {
                var objf=document.getElementById('loadscrollpos');
                 document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2;
              }

              function addEvent(obj, evType, fn){ 
                if (obj.addEventListener){ 
                obj.addEventListener(evType, fn, true); 
                return true; 
              } else if (obj.attachEvent){ 
                var r = obj.attachEvent("on"+evType, fn); 
                return r; 
              } else { 
                return false; 
              } 
             }

             addEvent(window, 'load', setscrollpos);

             //--></script><div id="leftnav"><div class="innertube">
<img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/docbuilder-0.9.8.7.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>DocBuilder</strong><br><strong>User's Guide</strong><br><small>Version 0.9.8.7</small></p>
<br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Chapters</strong></small></p>
<ul class="flipMenu" imagepath="../../../../doc/js/flipmenu">
<li id="loadscrollpos" title="Overview" expanded="true">Overview<ul>
<li><a href="overview.html">
              Top of chapter
            </a></li>
<li title="Background"><a href="overview.html#id2255927">Background</a></li>
<li title="DTD Suite"><a href="overview.html#id2261226">DTD Suite</a></li>
<li title="Structure of Generated HTML"><a href="overview.html#id2252211">Structure of Generated HTML</a></li>
<li title="Basic Tags"><a href="overview.html#id2259883">Basic Tags</a></li>
<li title="About This Document"><a href="overview.html#id2259327">About This Document</a></li>
<li title="Usage"><a href="overview.html#id2259855">Usage</a></li>
</ul>
</li>
<li id="no" title="User's Guide DTDs" expanded="false">User's Guide DTDs<ul>
<li><a href="user_guide_dtds.html">
              Top of chapter
            </a></li>
<li title="The part DTD"><a href="user_guide_dtds.html#id2255918">The part DTD</a></li>
<li title="&lt;part&gt;"><a href="user_guide_dtds.html#id2252604">&lt;part&gt;</a></li>
<li title="&lt;description&gt;"><a href="user_guide_dtds.html#id2257848">&lt;description&gt;</a></li>
<li title="&lt;include&gt;"><a href="user_guide_dtds.html#id2259250">&lt;include&gt;</a></li>
<li title="The chapter DTD"><a href="user_guide_dtds.html#id2260255">The chapter DTD</a></li>
<li title="&lt;chapter&gt;"><a href="user_guide_dtds.html#id2259926">&lt;chapter&gt;</a></li>
<li title="&lt;section&gt;"><a href="user_guide_dtds.html#id2259200">&lt;section&gt;</a></li>
<li title="&lt;title&gt;"><a href="user_guide_dtds.html#id2252192">&lt;title&gt;</a></li>
</ul>
</li>
<li id="no" title="Reference Manual DTDs" expanded="false">Reference Manual DTDs<ul>
<li><a href="refman_dtds.html">
              Top of chapter
            </a></li>
<li title="The application DTD"><a href="refman_dtds.html#id2259344">The application DTD</a></li>
<li title="&lt;application&gt;"><a href="refman_dtds.html#id2258600">&lt;application&gt;</a></li>
<li title="The appref DTD"><a href="refman_dtds.html#id2261527">The appref DTD</a></li>
<li title="The comref DTD"><a href="refman_dtds.html#id2261698">The comref DTD</a></li>
<li title="The cref DTD"><a href="refman_dtds.html#id2261823">The cref DTD</a></li>
<li title="The erlref DTD"><a href="refman_dtds.html#id2253008">The erlref DTD</a></li>
<li title="The fileref DTD"><a href="refman_dtds.html#id2255212">The fileref DTD</a></li>
<li title="&lt;description&gt;"><a href="refman_dtds.html#id2252314">&lt;description&gt;</a></li>
<li title="&lt;section&gt;"><a href="refman_dtds.html#id2261020">&lt;section&gt;</a></li>
<li title="&lt;funcs&gt;"><a href="refman_dtds.html#id2261064">&lt;funcs&gt;</a></li>
<li title="&lt;func&gt;"><a href="refman_dtds.html#id2261090">&lt;func&gt;</a></li>
<li title="&lt;name&gt;"><a href="refman_dtds.html#id2261135">&lt;name&gt;</a></li>
<li title="&lt;fsummary&gt;"><a href="refman_dtds.html#id2265198">&lt;fsummary&gt;</a></li>
<li title="&lt;type&gt;"><a href="refman_dtds.html#id2265227">&lt;type&gt;</a></li>
<li title="&lt;v&gt;"><a href="refman_dtds.html#id2265260">&lt;v&gt;</a></li>
<li title="&lt;d&gt;"><a href="refman_dtds.html#id2265277">&lt;d&gt;</a></li>
<li title="&lt;desc&gt;"><a href="refman_dtds.html#id2265306">&lt;desc&gt;</a></li>
<li title="&lt;authors&gt;"><a href="refman_dtds.html#id2265337">&lt;authors&gt;</a></li>
<li title="&lt;aname&gt;"><a href="refman_dtds.html#id2265373">&lt;aname&gt;</a></li>
<li title="&lt;email&gt;"><a href="refman_dtds.html#id2265389">&lt;email&gt;</a></li>
</ul>
</li>
<li id="no" title="Fascicules DTDs" expanded="false">Fascicules DTDs<ul>
<li><a href="fasc_dtds.html">
              Top of chapter
            </a></li>
<li title="The fascicules DTD"><a href="fasc_dtds.html#id2265458">The fascicules DTD</a></li>
<li title="&lt;fascicules&gt;"><a href="fasc_dtds.html#id2265565">&lt;fascicules&gt;</a></li>
<li title="&lt;fascicule&gt;"><a href="fasc_dtds.html#id2265595">&lt;fascicule&gt;</a></li>
</ul>
</li>
<li id="no" title="Header Tags" expanded="false">Header Tags<ul>
<li><a href="header_tags.html">
              Top of chapter
            </a></li>
<li title="&lt;header&gt;"><a href="header_tags.html#id2263347">&lt;header&gt;</a></li>
<li title="&lt;copyright&gt;"><a href="header_tags.html#id2263363">&lt;copyright&gt;</a></li>
<li title="&lt;legalnotice&gt;"><a href="header_tags.html#id2263412">&lt;legalnotice&gt;</a></li>
<li title="&lt;title&gt;"><a href="header_tags.html#id2263441">&lt;title&gt;</a></li>
<li title="&lt;shorttitle&gt;"><a href="header_tags.html#id2263474">&lt;shorttitle&gt;</a></li>
<li title="&lt;prepared&gt;"><a href="header_tags.html#id2263492">&lt;prepared&gt;</a></li>
<li title="&lt;responsible&gt;"><a href="header_tags.html#id2263509">&lt;responsible&gt;</a></li>
<li title="&lt;docno&gt;"><a href="header_tags.html#id2263526">&lt;docno&gt;</a></li>
<li title="&lt;approved&gt;"><a href="header_tags.html#id2263559">&lt;approved&gt;</a></li>
<li title="&lt;checked&gt;"><a href="header_tags.html#id2263576">&lt;checked&gt;</a></li>
<li title="&lt;date&gt;"><a href="header_tags.html#id2263594">&lt;date&gt;</a></li>
<li title="&lt;rev&gt;"><a href="header_tags.html#id2263611">&lt;rev&gt;</a></li>
<li title="&lt;file&gt;"><a href="header_tags.html#id2263644">&lt;file&gt;</a></li>
</ul>
</li>
<li id="no" title="Block Tags" expanded="false">Block Tags<ul>
<li><a href="block_tags.html">
              Top of chapter
            </a></li>
<li title="&lt;br&gt; - Line Break"><a href="block_tags.html#id2263775">&lt;br&gt; - Line Break</a></li>
<li title="&lt;code&gt; - Code Example"><a href="block_tags.html#id2263814">&lt;code&gt; - Code Example</a></li>
<li title="&lt;codeinclude&gt; - Code Inclusion"><a href="block_tags.html#id2263872">&lt;codeinclude&gt; - Code Inclusion</a></li>
<li title="&lt;erleval&gt; - Erlang Evaluation"><a href="block_tags.html#id2263953">&lt;erleval&gt; - Erlang Evaluation</a></li>
<li title="&lt;list&gt; - List"><a href="block_tags.html#id2263989">&lt;list&gt; - List</a></li>
<li title="&lt;marker&gt; - Marker"><a href="block_tags.html#id2264076">&lt;marker&gt; - Marker</a></li>
<li title="&lt;p&gt; - Paragraph"><a href="block_tags.html#id2264104">&lt;p&gt; - Paragraph</a></li>
<li title="&lt;note&gt; - Note"><a href="block_tags.html#id2264149">&lt;note&gt; - Note</a></li>
<li title="&lt;pre&gt; - Pre-formatted Text"><a href="block_tags.html#id2264198">&lt;pre&gt; - Pre-formatted Text</a></li>
<li title="&lt;quote&gt; - Quotation"><a href="block_tags.html#id2264278">&lt;quote&gt; - Quotation</a></li>
<li title="&lt;taglist&gt; - Definition List"><a href="block_tags.html#id2264331">&lt;taglist&gt; - Definition List</a></li>
<li title="&lt;warning&gt; - Warning"><a href="block_tags.html#id2264437">&lt;warning&gt; - Warning</a></li>
<li title="&lt;image&gt; - Image"><a href="block_tags.html#id2264492">&lt;image&gt; - Image</a></li>
<li title="&lt;table&gt; - Table"><a href="block_tags.html#id2264557">&lt;table&gt; - Table</a></li>
</ul>
</li>
<li id="no" title="Inline Tags" expanded="false">Inline Tags<ul>
<li><a href="inline_tags.html">
              Top of chapter
            </a></li>
<li title="&lt;br&gt; - Line Break"><a href="inline_tags.html#id2264769">&lt;br&gt; - Line Break</a></li>
<li title="&lt;c&gt; - Code"><a href="inline_tags.html#id2264797">&lt;c&gt; - Code</a></li>
<li title="&lt;em&gt; - Emphasis"><a href="inline_tags.html#id2264848">&lt;em&gt; - Emphasis</a></li>
<li title="&lt;marker&gt; - Marker"><a href="inline_tags.html#id2264891">&lt;marker&gt; - Marker</a></li>
<li title="&lt;path&gt; - Path"><a href="inline_tags.html#id2264939">&lt;path&gt; - Path</a></li>
<li title="&lt;seealso&gt; - Local Cross Reference"><a href="inline_tags.html#id2265025">&lt;seealso&gt; - Local Cross Reference</a></li>
<li title="&lt;url&gt; - Non-Local Cross Reference"><a href="inline_tags.html#id2265132">&lt;url&gt; - Non-Local Cross Reference</a></li>
<li title="&lt;term&gt;, &lt;termdef&gt; - Glossary"><a href="inline_tags.html#id2266646">&lt;term&gt;, &lt;termdef&gt; - Glossary</a></li>
<li title="&lt;cite&gt;, &lt;citedef&gt; - Bibliography"><a href="inline_tags.html#id2266761">&lt;cite&gt;, &lt;citedef&gt; - Bibliography</a></li>
</ul>
</li>
<li id="no" title="Character Entities" expanded="false">Character Entities<ul>
<li><a href="character_entities.html">
              Top of chapter
            </a></li>
<li title="Added Latin 1"><a href="character_entities.html#id2266872">Added Latin 1</a></li>
</ul>
</li>
</ul>
</div></div>
<div id="content">
<div class="innertube">
<h1>1 Overview</h1>
  

  <h3><a name="id2255927">1.1 
        Background</a></h3>
    

    <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>
  

  <h3><a name="id2261226">1.2 
        DTD Suite</a></h3>
    

    <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>
    <dl>
      <dt><strong><strong>User's Guide</strong></strong></dt>
      <dd>
	<p>(DTD:
	  <span class="bold_code"><a href="user_guide_dtds.html#partDTD">part</a></span>)
	  A collection of chapters
	  (<span class="bold_code"><a href="user_guide_dtds.html#chapterDTD">chapter</a></span>).
	</p>
      </dd>

      <dt><strong><strong>Reference Manual</strong></strong></dt>
      <dd>
	<p>(DTD:
	  <span class="bold_code"><a href="refman_dtds.html#applicationDTD">application</a></span>
	  A collection of manual pages for modules
	  (<span class="bold_code"><a href="refman_dtds.html#erlrefDTD">erlref</a></span>),
	  applications
	  (<span class="bold_code"><a href="refman_dtds.html#apprefDTD">appref</a></span>),
	  commands
	  (<span class="bold_code"><a href="refman_dtds.html#comrefDTD">comref</a></span>),
	  C libraries
	  (<span class="bold_code"><a href="refman_dtds.html#crefDTD">cref</a></span>) and
	  files
	  (<span class="bold_code"><a href="refman_dtds.html#filerefDTD">fileref</a></span>).
	</p>
      </dd>

      <dt><strong><strong>Release Notes</strong></strong></dt>
      <dd>
	<p>Same structure as the User's Guide.</p>
      </dd>
    </dl>

    <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 <span class="code">application</span> or <span class="code">part</span> DTD to write other types
      of documentation for the application.</p>

    <p>A special kind of DTD,
      <span class="bold_code"><a href="fasc_dtds.html">fascicules</a></span>, can be used to
      specify the different parts of the documentation, and which one
      of those should be shown as default.</p>
  

  <h3><a name="id2252211">1.3 
        Structure of Generated HTML</a></h3>
    

    <p>The generated HTML corresponding to a <span class="code">part</span> or
      <span class="code">application</span> 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 <span class="code">application</span> document, the left frame
      also contains a link to an automatically generated index.</p>
  

  <h3><a name="id2259883">1.4 
        Basic Tags</a></h3>
    

    <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:
      <span class="bold_code"><a href="block_tags.html">block tags</a></span> and
      <span class="bold_code"><a href="inline_tags.html">inline tags</a></span>. 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>
  

  <h3><a name="id2259327">1.5 
        About This Document</a></h3>
    

    <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>
    <ul>
      <li>This User's Guide is written using the <span class="code">part</span> and
	<span class="code">chapter</span> DTDs.</li>

      <li>The Reference Manual is written using
	the <span class="code">application</span>, <span class="code">appref</span> and <span class="code">erlref</span> DTDs.
      </li>
    </ul>
  

  <h3><a name="id2259855">1.6 
        Usage</a></h3>
    

    <ul>
      <li>
	<p>Create the relevant XML files.</p>

	<p>If there are EDoc comments in a module, the function
	  <span class="bold_code"><a href="docb_gen.html#module-1">docb_gen:module/1,2</a></span>
	  can be used to generate an XML file according to
	  the <span class="code">erlref</span> DTD for this module.</p>
      </li>

      <li>
	<p>The XML files can be validated using
	  <span class="bold_code"><a href="docb_xml_check.html#validate-1">docb_xml_check:validate/1</a></span>.
	</p>
      </li>

      <li>
	<p>Generate HTML files by using
	  <span class="bold_code"><a href="docb_transform.html#file-1">docb_transform:file/1,2</a></span>.
	</p>
      </li>
    </ul>
  
</div>
<div class="footer">
<hr>
<p>Copyright © 1997-2010 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>