/usr/share/mozart/doc/ozdoc/node2.html is in mozart-doc 1.4.0-8ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>2 General structure of a document according to the Oz DTD</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node1.html#chapter.intro"><< Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node3.html#chapter.bnf">Next >></A></TD></TR></TABLE><DIV id="chapter.docstruct"><H1><A name="chapter.docstruct">2 General structure of a document according to the Oz DTD</A></H1><P></P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!DOCTYPE</SPAN> BOOK SYSTEM <SPAN class="string">"ozdoc.dtd"</SPAN> [<BR><!-- <SPAN class="comment">entity declarations </SPAN>--> <BR>]><BR><<SPAN class="functionname">BOOK</SPAN>><BR> <<SPAN class="functionname">FRONT</SPAN>><BR> <<SPAN class="functionname">TITLE</SPAN>>...</<SPAN class="functionname">TITLE</SPAN>><BR> <<SPAN class="functionname">AUTHOR</SPAN>>...</<SPAN class="functionname">AUTHOR</SPAN>><BR> <<SPAN class="functionname">AUTHOR</SPAN>>...</<SPAN class="functionname">AUTHOR</SPAN>><BR> <<SPAN class="functionname">META</SPAN> name=comic <SPAN class="variablename">content</SPAN>=<SPAN class="string">"foo.ps"</SPAN>><BR> <<SPAN class="functionname">ABSTRACT</SPAN>>...</<SPAN class="functionname">ABSTRACT</SPAN>><BR> <<SPAN class="functionname">BODY</SPAN>><BR> <<SPAN class="functionname">CHAPTER</SPAN>><<SPAN class="functionname">TITLE</SPAN>>...</<SPAN class="functionname">TITLE</SPAN>><BR> ...<BR> <<SPAN class="functionname">PART</SPAN>> <<SPAN class="functionname">TITLE</SPAN>>...</<SPAN class="functionname">TITLE</SPAN>><BR> <<SPAN class="functionname">CHAPTER</SPAN>><<SPAN class="functionname">TITLE</SPAN>>...</<SPAN class="functionname">TITLE</SPAN>><BR> ...<BR> <<SPAN class="functionname">CHAPTER</SPAN>><<SPAN class="functionname">TITLE</SPAN>>...</<SPAN class="functionname">TITLE</SPAN>><BR> ...<BR> <<SPAN class="functionname">PART</SPAN>> <<SPAN class="functionname">TITLE</SPAN>>...</<SPAN class="functionname">TITLE</SPAN>><BR> <<SPAN class="functionname">CHAPTER</SPAN>><<SPAN class="functionname">TITLE</SPAN>>...</<SPAN class="functionname">TITLE</SPAN>><BR> ...<BR> <<SPAN class="functionname">CHAPTER</SPAN>><<SPAN class="functionname">TITLE</SPAN>>...</<SPAN class="functionname">TITLE</SPAN>><BR> ...<BR> <<SPAN class="functionname">BACK</SPAN>><BR> <<SPAN class="functionname">BIB.EXTERN</SPAN> ...><BR> ...<BR></<SPAN class="functionname">BOOK</SPAN>></CODE></BLOCKQUOTE><P> </P><H2><A name="label5">2.1 Entity Declarations</A></H2><H3><A name="label6">2.1.1 Macros</A></H3><P>entities are a bit like macros. You can add entity declarations where it says <CODE><!-- <SPAN class="comment">entity declarations </SPAN>--></CODE> above. For example: </P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!ENTITY</SPAN> quux <SPAN class="string">"Guy L. Steele JR."</SPAN>></CODE></BLOCKQUOTE><P> would allow you to type <CODE><SPAN class="variablename">&quux;</SPAN></CODE> in your document, and that would automatically be replaced by ``Guy L. Steele JR''.</P><H3><A name="label7">2.1.2 Include Files</A></H3><P>Another application of entities is to denote files to be included: </P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!ENTITY</SPAN> section1 SYSTEM <SPAN class="string">"section1-draft.sgml"</SPAN>></CODE></BLOCKQUOTE><P> would allow you to type <CODE><SPAN class="variablename">&section1;</SPAN></CODE> in your document, and that would be replaced by the contents of file <CODE>section1-draft.sgml</CODE>.</P><H3><A name="label8">2.1.3 Processing Instructions</A></H3><P>Sometimes it is useful to introduce entities that do not expand to text, but should instead be interpreted by the processing system. This is what a processing instruction is for. </P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!ENTITY</SPAN> nbsp PI <SPAN class="string">"NON-BREAKING-SPACE"</SPAN>></CODE></BLOCKQUOTE><P> an occurrence of <CODE><SPAN class="variablename">&nbsp;</SPAN></CODE> in your document will result in an occurrence of the processing instruction object identified as <SPAN class="PI">NON-BREAKING-SPACE</SPAN>. What to do with it is up to the processing system. For example, the LaTeX converter might replace it by <CODE>~</CODE> and the HTML converter by the HTML entity <CODE><SPAN class="variablename">&nbsp;</SPAN></CODE> (surprise, surprise!).</P><P>I recommend that processing instructions be given names that begin with the prefix <CODE>PI:</CODE>, e. g.: </P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!ENTITY</SPAN> nbsp PI <SPAN class="string">"PI:NBSP"</SPAN>></CODE></BLOCKQUOTE><P></P><H3><A name="label9">2.1.4 Marked Section</A></H3><P>It is possible to conditionally include a part of the document: </P><BLOCKQUOTE class="code"><CODE><![ <SPAN class="variablename">%HTML;</SPAN> [...]]></CODE></BLOCKQUOTE><P> would include <CODE>...</CODE> iff <CODE><SPAN class="variablename">%HTML;</SPAN></CODE> is a (parameter) entity defined as <CODE>INCLUDE</CODE>, i.e. if there is an entity declaration of the form: </P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!ENTITY</SPAN> % HTML <SPAN class="string">"INCLUDE"</SPAN>></CODE></BLOCKQUOTE><P></P><P>Normally, the ``entity declarations'' section of your document would contain: </P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!ENTITY</SPAN> % LATEX <SPAN class="string">"IGNORE"</SPAN>><BR><<SPAN class="keyword">!ENTITY</SPAN> % HTML <SPAN class="string">"IGNORE"</SPAN>></CODE></BLOCKQUOTE><P> Thus causing marked sections marked with <CODE><SPAN class="variablename">%LATEX;</SPAN></CODE> and <CODE><SPAN class="variablename">%HTML;</SPAN></CODE> to be ignored by default. This is normally overriden on the command line, when invoking the SGML parser, <SPAN class="PROGRAM">nsgmls</SPAN>: </P><BLOCKQUOTE class="code"><CODE>nsgmls -iHTML ...</CODE></BLOCKQUOTE><P> this causes the declaration </P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!ENTITY</SPAN> % LATEX <SPAN class="string">"INCLUDE"</SPAN>></CODE></BLOCKQUOTE><P> to override the one in your document. Don't abuse marked sections. A typical use is, in the <CODE>DOCTYPE</CODE> header of your document, to select which entity declarations you want to use according to the target format for processing. </P><BLOCKQUOTE class="code"><CODE><<SPAN class="keyword">!DOCTYPE</SPAN> BOOK SYSTEM <SPAN class="string">"ozdoc.dtd"</SPAN> [<BR><<SPAN class="keyword">!ENTITY</SPAN> % HTML <SPAN class="string">"IGNORE"</SPAN>><BR><<SPAN class="keyword">!ENTITY</SPAN> % LATEX <SPAN class="string">"IGNORE"</SPAN>><BR><![ <SPAN class="variablename">%HTML;</SPAN> [<BR><<SPAN class="keyword">!ENTITY</SPAN> target.format <SPAN class="string">"HTML"</SPAN>><BR>]]><BR><![ <SPAN class="variablename">%LATEX;</SPAN> [<BR><<SPAN class="keyword">!ENTITY</SPAN> target.format <SPAN class="string">"\LaTeX{}"</SPAN>><BR>]]><BR>]></CODE></BLOCKQUOTE><P> This would allow you to type <CODE><SPAN class="variablename">&target.format;</SPAN></CODE> in your document and have it expand to either HTML or <CODE><SPAN class="keyword">\LaTeX</SPAN>{}</CODE> according to the target format select on nsgmls's command-line.</P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node1.html#chapter.intro"><< Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node3.html#chapter.bnf">Next >></A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys Duchier</A><BR><SPAN class="version">Version 1.4.0 (20110908185330)</SPAN></ADDRESS></BODY></HTML>
|