File:  [LON-CAPA] / doc / gutshtml / SessionFour.html
Revision 1.1: download - view: text, annotated - select for diffs
Fri Jun 28 20:30:29 2002 UTC (21 years, 10 months ago) by www
Branches: MAIN
CVS tags: version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, version_0_6_2, version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_july, conference_2003, STABLE, HEAD
HTML version of GUTS manual. Individual files will still need cleanup.

    1: <html>
    2: <head>
    3: <meta name=Title
    4: content="Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation Guidelines (Guy)">
    5: <meta http-equiv=Content-Type content="text/html; charset=macintosh">
    6: <title>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation 
    7: Guidelines (Guy)</title>
    8: <style><!--
    9: .MsoPlainText
   10: 	{font-size:10.0pt;
   11: 	font-family:"Courier New";}
   12: .Section1
   13: 	{page:Section1;}
   14: .Section2
   15: 	{page:Section2;}
   16: -->
   17: </style>
   18: </head>
   19: <body bgcolor=#FFFFFF link=blue vlink=purple class="Normal" lang=EN-US>
   20: <div class=Section1> 
   21:   <h2>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation 
   22:     Guidelines (Guy)</h2>
   23:   <h3><a name="_Toc421867078">lpml.dtd</a></h3>
   24:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
   25:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   26:     Linux Packaging Markup Language version 1.0.</span></p>
   27:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   28:     Date: May 3, 2001</span></p>
   29:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   30:     Author: Scott Harrison</span></p>
   31:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   32:     Linux Packaging Markup Language aims to capture</span></p>
   33:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   34:     a source code development tree and effectively map</span></p>
   35:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   36:     that to a compilation and installation process for</span></p>
   37:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   38:     generating software packages and updating a run-time</span></p>
   39:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   40:     system.&nbsp; This language helps handle dependency information,</span></p>
   41:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   42:     file globbing, file permissions, file ownerships,</span></p>
   43:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   44:     different targets for different linux distributions,</span></p>
   45:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   46:     preservation of configuration information, directory</span></p>
   47:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   48:     permissions, directory ownerships, compilation commands,</span></p>
   49:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;and, 
   50:     ultimately, system software status reports.</span></p>
   51:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
   52:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
   53:   <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State 
   54:     University Board of Trustees</span></p>
   55:   <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the 
   56:     LearningOnline Network with CAPA (LON-CAPA).</span></p>
   57:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software; 
   58:     you can redistribute it and/or modify</span></p>
   59:   <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the 
   60:     GNU General Public License as published by</span></p>
   61:   <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation; 
   62:     either version 2 of the License, or</span></p>
   63:   <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later 
   64:     version.</span></p>
   65:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed 
   66:     in the hope that it will be useful,</span></p>
   67:   <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY; 
   68:     without even the implied warranty of</span></p>
   69:   <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS 
   70:     FOR A PARTICULAR PURPOSE.&nbsp; See the</span></p>
   71:   <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License 
   72:     for more details.</span></p>
   73:   <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received 
   74:     a copy of the GNU General Public License</span></p>
   75:   <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if 
   76:     not, write to the Free Software</span></p>
   77:   <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple 
   78:     Place, Suite 330, Boston, MA&nbsp; 02111-1307&nbsp; USA</span></p>
   79:   <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
   80:   <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
   81:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
   82:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ENTITY % lpml.Version</span></p>
   83:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   84:     &quot;-//TUX//DTD lpml 1.0 Final//EN&quot;</span></p>
   85:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   86:     &gt;</span></p>
   87:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- Typical usage: --&gt;</span></p>
   88:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- &lt;!DOCTYPE lpml 
   89:     PUBLIC &quot;-//TUX/DTD LPML 1.0 Final//EN&quot;</span></p>
   90:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   91:     &quot;http://lpml.sourceforge.net/DTD/lpml.dtd&quot;&gt; --&gt;</span></p>
   92:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- &lt;lpml&gt; --&gt;</span></p>
   93:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- ... --&gt;</span></p>
   94:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- &lt;/lpml&gt; --&gt;</span></p>
   95:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT categoryname 
   96:     (#PCDATA)&gt;</span></p>
   97:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT targetroot 
   98:     (#PCDATA)&gt;</span></p>
   99:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT sourceroot 
  100:     (#PCDATA)&gt;</span></p>
  101:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT target (#PCDATA)&gt;</span></p>
  102:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST target</span></p>
  103:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  104:     CDATA #REQUIRED</span></p>
  105:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  106:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT source (#PCDATA)&gt;</span></p>
  107:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT targetdir (#PCDATA)&gt;</span></p>
  108:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST targetdir</span></p>
  109:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  110:     CDATA #REQUIRED</span></p>
  111:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  112:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT sourcedir (#PCDATA)&gt;</span></p>
  113:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT glob (#PCDATA)&gt;</span></p>
  114:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT build (#PCDATA)&gt;</span></p>
  115:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT buildlink (#PCDATA)&gt;</span></p>
  116:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- </span></p>
  117:   <p class=MsoPlainText><span style='font-size:8.0pt'>The trigger attribute of 
  118:     the build element is meant</span></p>
  119:   <p class=MsoPlainText><span style='font-size:8.0pt'>to only have one of two 
  120:     possible values:</span></p>
  121:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; &quot;always run&quot;, 
  122:     or</span></p>
  123:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; &quot;run if dependencies 
  124:     change&quot;</span></p>
  125:   <p class=MsoPlainText><span style='font-size:8.0pt'>Note that you must type 
  126:     this text exactly in for the</span></p>
  127:   <p class=MsoPlainText><span style='font-size:8.0pt'>attribute value to be understood 
  128:     and processed correctly</span></p>
  129:   <p class=MsoPlainText><span style='font-size:8.0pt'>by the lpml &quot;make build&quot; 
  130:     parser.</span></p>
  131:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  132:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT lpml</span></p>
  133:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;(targetroot|sourceroot|specialnotices|files|categories|directories|rpm)+&gt;</span></p>
  134:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST build</span></p>
  135:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp; trigger CDATA 
  136:     #REQUIRED</span></p>
  137:   <p class=MsoPlainText><span style='font-size:8.0pt'>&gt;</span></p>
  138:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT specialnotices 
  139:     (specialnotice)+&gt;</span></p>
  140:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT categories 
  141:     (category)+&gt;</span></p>
  142:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT directories 
  143:     (directory)+&gt;</span></p>
  144:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT files (file|fileglob|link)+&gt;</span></p>
  145:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT dependencies 
  146:     (#PCDATA)&gt;</span></p>
  147:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT note (#PCDATA|table|b|br)*&gt;</span></p>
  148:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT b (#PCDATA)&gt;</span></p>
  149:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT specialnotice 
  150:     (#PCDATA)&gt;</span></p>
  151:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST specialnotice</span></p>
  152:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  153:     CDATA #REQUIRED</span></p>
  154:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  155:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT category (chmod,chown,abbreviation)&gt;</span></p>
  156:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST category</span></p>
  157:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; type 
  158:     CDATA #REQUIRED</span></p>
  159:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; name 
  160:     CDATA #REQUIRED</span></p>
  161:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  162:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT chown (#PCDATA)&gt;</span></p>
  163:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST chown</span></p>
  164:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  165:     CDATA #REQUIRED</span></p>
  166:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  167:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT chmod (#PCDATA)&gt;</span></p>
  168:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST chmod</span></p>
  169:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  170:     CDATA #REQUIRED</span></p>
  171:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  172:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT abbreviation 
  173:     (#PCDATA)&gt;</span></p>
  174:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT br EMPTY&gt;</span></p>
  175:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT nobr EMPTY&gt;</span></p>
  176:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT table (#PCDATA|tr)*&gt;</span></p>
  177:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST table</span></p>
  178:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; cellpadding 
  179:     CDATA #IMPLIED</span></p>
  180:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; cellspacing 
  181:     CDATA #IMPLIED</span></p>
  182:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; border 
  183:     CDATA #IMPLIED</span></p>
  184:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  185:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT tr (#PCDATA|td)*&gt;</span></p>
  186:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT td (#PCDATA|br|ul|tt|nobr)*&gt;</span></p>
  187:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT description 
  188:     (#PCDATA|br|tt|u)*&gt;</span></p>
  189:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT ul (#PCDATA|li)*&gt;</span></p>
  190:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT li (#PCDATA)&gt;</span></p>
  191:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT tt (#PCDATA)&gt;</span></p>
  192:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT u (#PCDATA)&gt;</span></p>
  193:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT status (#PCDATA)&gt;</span></p>
  194:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT linkto (#PCDATA)&gt;</span></p>
  195:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT directory (targetdir+,categoryname,description?)&gt;</span></p>
  196:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST directory</span></p>
  197:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  198:     CDATA #REQUIRED</span></p>
  199:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  200:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT file (source,target+,categoryname,description?,buildlink?,</span></p>
  201:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  202:     note?,build?,status?,dependencies?)&gt;</span></p>
  203:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT link (linkto,target,categoryname,description?,</span></p>
  204:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  205:     note?,build?,status?,dependencies?)&gt;</span></p>
  206:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT fileglob (glob,sourcedir,targetdir,categoryname,</span></p>
  207:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  208:     description?,note?,build?,buildlink?,status?,dependencies?,filenames?)&gt;</span></p>
  209:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT filenames (#PCDATA)&gt;</span></p>
  210:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpm (rpmSummary,rpmName,rpmVersion,rpmRelease,rpmVendor,</span></p>
  211:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  212:     rpmBuildRoot,rpmCopyright,rpmGroup,rpmSource,rpmAutoReqProv,</span></p>
  213:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  214:     rpmdescription,rpmpre,rpmRequires)&gt;</span></p>
  215:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmSummary 
  216:     (#PCDATA)&gt;</span></p>
  217:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmName (#PCDATA)&gt;</span></p>
  218:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmVersion 
  219:     (#PCDATA)&gt;</span></p>
  220:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmRelease 
  221:     (#PCDATA)&gt;</span></p>
  222:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmVendor (#PCDATA)&gt;</span></p>
  223:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmBuildRoot 
  224:     (#PCDATA)&gt;</span></p>
  225:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmCopyright 
  226:     (#PCDATA)&gt;</span></p>
  227:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmGroup (#PCDATA)&gt;</span></p>
  228:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmSource (#PCDATA)&gt;</span></p>
  229:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmAutoReqProv 
  230:     (#PCDATA)&gt;</span></p>
  231:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmdescription 
  232:     (#PCDATA)&gt;</span></p>
  233:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmpre (#PCDATA)&gt;</span></p>
  234:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmRequires 
  235:     (item)+&gt;</span></p>
  236:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT item (#PCDATA)&gt;</span></p>
  237:   <h3><a name="_Toc421867079">piml.dtd</a></h3>
  238:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  239:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  240:     Post Installation Markup Language version 1.0.</span></p>
  241:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  242:     Date: January 24, 2002</span></p>
  243:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  244:     Author: Scott Harrison</span></p>
  245:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  246:     Post Installation Markup Language works to perform</span></p>
  247:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  248:     'intelligent' modifications of existing files on</span></p>
  249:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  250:     a software system.&nbsp; This allows for the reconfiguring</span></p>
  251:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  252:     of existing configuration files without having the</span></p>
  253:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  254:     overlap of files between software packages.&nbsp; PIML</span></p>
  255:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  256:     also allows you to have file permission/ownership</span></p>
  257:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  258:     specifications different than that specified by the</span></p>
  259:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  260:     original software package.</span></p>
  261:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  262:     For instance, Apache web server configuration files</span></p>
  263:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  264:     are a popular target for many different software applications.</span></p>
  265:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  266:     A preferred approach is to simply append an 'Include ...'</span></p>
  267:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  268:     line to the Apache web server configuration files.</span></p>
  269:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  270:     Post Installation Markup Language is meant to be</span></p>
  271:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  272:     a natural wrapper to target installations generated</span></p>
  273:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  274:     by LPML (Linux Packaging Markup Language).</span></p>
  275:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  276:     Usages of Post Installation Markup Language are:</span></p>
  277:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  278:     * immediately after installation with LPML</span></p>
  279:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  280:     * generating '%post' syntax for RPMs</span></p>
  281:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  282:     * generating post-installation syntax for Debian packages.</span></p>
  283:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  284:     Dependency checking is supported as a poor man's probing....</span></p>
  285:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  286:     There is no point in reconfiguring a file that isn't installed,</span></p>
  287:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  288:     or is missing a system component for successful operation.</span></p>
  289:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  290:     Another neat use of PIML is to allow for invocation of various</span></p>
  291:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  292:     processes after installation.</span></p>
  293:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  294:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  295:   <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State 
  296:     University Board of Trustees</span></p>
  297:   <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the 
  298:     LearningOnline Network with CAPA (LON-CAPA).</span></p>
  299:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software; 
  300:     you can redistribute it and/or modify</span></p>
  301:   <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the 
  302:     GNU General Public License as published by</span></p>
  303:   <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation; 
  304:     either version 2 of the License, or</span></p>
  305:   <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later 
  306:     version.</span></p>
  307:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed 
  308:     in the hope that it will be useful,</span></p>
  309:   <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY; 
  310:     without even the implied warranty of</span></p>
  311:   <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS 
  312:     FOR A PARTICULAR PURPOSE.&nbsp; See the</span></p>
  313:   <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License 
  314:     for more details.</span></p>
  315:   <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received 
  316:     a copy of the GNU General Public License</span></p>
  317:   <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if 
  318:     not, write to the Free Software</span></p>
  319:   <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple 
  320:     Place, Suite 330, Boston, MA&nbsp; 02111-1307&nbsp; USA</span></p>
  321:   <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
  322:   <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
  323:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  324:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ENTITY % piml.Version</span></p>
  325:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  326:     &quot;-//TUX//DTD piml 1.0 Final//EN&quot;&gt;</span></p>
  327:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- Typical usage:</span></p>
  328:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  329:     &lt;!DOCTYPE piml PUBLIC &quot;-//TUX//DTD PIML 1.0 Final//EN&quot;</span></p>
  330:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  331:     &nbsp;&nbsp;&nbsp; &quot;http://lpml.sourceforge.net/DTD/piml.dtd&quot;&gt;</span></p>
  332:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  333:     &lt;piml&gt;</span></p>
  334:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  335:     &lt;/piml&gt;</span></p>
  336:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;--&gt;</span></p>
  337:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT categoryname 
  338:     (#PCDATA)&gt;</span></p>
  339:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT targetroot 
  340:     (#PCDATA)&gt;</span></p>
  341:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT target (#PCDATA)&gt;</span></p>
  342:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST target</span></p>
  343:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  344:     CDATA #REQUIRED</span></p>
  345:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  346:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT piml (targetroot|specialnotices|files|categories)+&gt;</span></p>
  347:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT specialnotices 
  348:     (specialnotice)+&gt;</span></p>
  349:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT categories 
  350:     (category)+&gt;</span></p>
  351:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT files (file)+&gt;</span></p>
  352:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT dependencies 
  353:     (#PCDATA)&gt;</span></p>
  354:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST dependencies</span></p>
  355:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  356:     CDATA #REQUIRED</span></p>
  357:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  358:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT note (#PCDATA)&gt;</span></p>
  359:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT specialnotice 
  360:     (#PCDATA)&gt;</span></p>
  361:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT category (chmod,chown,abbreviation)&gt;</span></p>
  362:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST category</span></p>
  363:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; type 
  364:     CDATA #REQUIRED</span></p>
  365:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; name 
  366:     CDATA #REQUIRED</span></p>
  367:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  368:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT chown (#PCDATA)&gt;</span></p>
  369:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST chown</span></p>
  370:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  371:     CDATA #REQUIRED</span></p>
  372:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  373:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT chmod (#PCDATA)&gt;</span></p>
  374:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST chmod</span></p>
  375:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  376:     CDATA #REQUIRED</span></p>
  377:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  378:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT abbreviation 
  379:     (#PCDATA)&gt;</span></p>
  380:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT file (target,categoryname?,</span></p>
  381:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  382:     note?,status?,dependencies?,perlscript)&gt;</span></p>
  383:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT TARGET EMPTY&gt;</span></p>
  384:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT perlscript 
  385:     (#PCDATA|TARGET)*&gt;</span></p>
  386:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST perlscript</span></p>
  387:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; mode 
  388:     CDATA #REQUIRED</span></p>
  389:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  390:   <h3><a name="_Toc421867080">xfml.dtd</a></h3>
  391:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  392:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  393:     XML Filter Markup Language version 1.0.</span></p>
  394:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;Date: 
  395:     January 27, 2002</span></p>
  396:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  397:     Author: Scott Harrison</span></p>
  398:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  399:     XML Filter Markup Language works to extract those sections</span></p>
  400:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  401:     of an XML document matching certain conditions.&nbsp; This, in some</span></p>
  402:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  403:     respects, relies on functionality similar to that expected</span></p>
  404:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  405:     with XSL-type files.&nbsp; (I do not use standard XSL syntax because</span></p>
  406:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  407:     I am not convinced that it would be simple and elegant for</span></p>
  408:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  409:     this particular task).</span></p>
  410:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  411:     This is anticipated to be a very important feature associated</span></p>
  412:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  413:     with a larger Makefile-ish type approach involving the XML dtds:</span></p>
  414:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  415:     LPML and PIML.</span></p>
  416:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  417:     LPML (Linux Packaging Markup Language) can work to install files</span></p>
  418:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  419:     on a single computer or a distributed network of computers with</span></p>
  420:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  421:     pre-configured ssh accessibility (.ssh/authorized_keys, etc).</span></p>
  422:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  423:     PIML (Post Installation Markup Language) works to coordinate the</span></p>
  424:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  425:     last little scripts that need to be run after an installation.</span></p>
  426:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  427:     With all this make-&quot;power&quot;, wouldn't it be nice to only pass through</span></p>
  428:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;portions 
  429:     of an LPML specification?</span></p>
  430:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  431:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  432:   <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State 
  433:     University Board of Trustees</span></p>
  434:   <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the 
  435:     LearningOnline Network with CAPA (LON-CAPA).</span></p>
  436:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software; 
  437:     you can redistribute it and/or modify</span></p>
  438:   <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the 
  439:     GNU General Public License as published by</span></p>
  440:   <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation; 
  441:     either version 2 of the License, or</span></p>
  442:   <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later 
  443:     version.</span></p>
  444:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed 
  445:     in the hope that it will be useful,</span></p>
  446:   <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY; 
  447:     without even the implied warranty of</span></p>
  448:   <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS 
  449:     FOR A PARTICULAR PURPOSE.&nbsp; See the</span></p>
  450:   <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License 
  451:     for more details.</span></p>
  452:   <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received 
  453:     a copy of the GNU General Public License</span></p>
  454:   <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if 
  455:     not, write to the Free Software</span></p>
  456:   <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple 
  457:     Place, Suite 330, Boston, MA&nbsp; 02111-1307&nbsp; USA</span></p>
  458:   <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
  459:   <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
  460:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  461:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- Note: current status 
  462:     is that choice:include is currently unsupported and</span></p>
  463:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; 
  464:     all matching statements REQUIRE two levels of 'when' statements;</span></p>
  465:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; 
  466:     not one or more than two...&nbsp; okay.. this will be fixed soon --&gt;</span></p>
  467:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ENTITY % xfml.Version</span></p>
  468:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  469:     &quot;-//TUX//DTD piml 1.0 Final//EN&quot;&gt;</span></p>
  470:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- Typical usage:</span></p>
  471:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  472:     &lt;!DOCTYPE xfml PUBLIC &quot;-//TUX//DTD PIML 1.0 Final//EN&quot;&gt;</span></p>
  473:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xfml&gt;</span></p>
  474:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  475:     &lt;/xfml&gt;</span></p>
  476:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  477:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT choice:include 
  478:     (#PCDATA)&gt;</span></p>
  479:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT choice:exclude 
  480:     (#PCDATA)&gt;</span></p>
  481:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT xfml (clause)+&gt;</span></p>
  482:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT clause (when:cdata|when:name|when:attribute|choice:exclude)+&gt;</span></p>
  483:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT when:name</span></p>
  484:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;(when:cdata|when:name|when:attribute|choice:include|choice:exclude)+&gt;</span></p>
  485:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT when:attribute 
  486:     </span></p>
  487:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; (when:cdata|when:name|when:attribute|choice:include|</span></p>
  488:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; choice:exclude)+&gt;</span></p>
  489:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT when:cdata 
  490:     </span></p>
  491:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; (when:cdata|when:name|when:attribute|choice:include|</span></p>
  492:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; choice:exclude)+&gt;</span></p>
  493:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST when:name</span></p>
  494:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; match 
  495:     CDATA #REQUIRED&gt;</span></p>
  496:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST when:attribute</span></p>
  497:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; match 
  498:     CDATA #REQUIRED&gt;</span></p>
  499:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST when:cdata</span></p>
  500:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; match 
  501:     CDATA #REQUIRED&gt;</span></p>
  502:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST choice:include</span></p>
  503:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; nodename 
  504:     CDATA #REQUIRED&gt;</span></p>
  505:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST choice:exclude</span></p>
  506:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; nodename 
  507:     CDATA #REQUIRED&gt;</span></p>
  508: </div>
  509: <br
  510: clear=ALL style='page-break-before:always;'>
  511: <div class=Section2> </div>
  512: </body>
  513: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>