File:  [LON-CAPA] / doc / gutshtml / SessionFour.html
Revision 1.2: download - view: text, annotated - select for diffs
Tue Jul 22 14:47:00 2003 UTC (20 years, 9 months ago) by bowersj2
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, bz6209-base, bz6209, HEAD, GCI_3, GCI_2, GCI_1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
Convert GUTs HTML to PROPER line endings.

    1: <html>
    2: 
    3: <head>
    4: 
    5: <meta name=Title
    6: 
    7: content="Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation Guidelines (Guy)">
    8: 
    9: <meta http-equiv=Content-Type content="text/html; charset=macintosh">
   10: 
   11: <title>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation 
   12: 
   13: Guidelines (Guy)</title>
   14: 
   15: <style><!--
   16: 
   17: .MsoPlainText
   18: 
   19: 	{font-size:10.0pt;
   20: 
   21: 	font-family:"Courier New";}
   22: 
   23: .Section1
   24: 
   25: 	{page:Section1;}
   26: 
   27: .Section2
   28: 
   29: 	{page:Section2;}
   30: 
   31: -->
   32: 
   33: </style>
   34: 
   35: </head>
   36: 
   37: <body bgcolor=#FFFFFF link=blue vlink=purple class="Normal" lang=EN-US>
   38: 
   39: <div class=Section1> 
   40: 
   41:   <h2>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation 
   42: 
   43:     Guidelines (Guy)</h2>
   44: 
   45:   <h3><a name="_Toc421867078">lpml.dtd</a></h3>
   46: 
   47:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
   48: 
   49:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   50: 
   51:     Linux Packaging Markup Language version 1.0.</span></p>
   52: 
   53:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   54: 
   55:     Date: May 3, 2001</span></p>
   56: 
   57:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   58: 
   59:     Author: Scott Harrison</span></p>
   60: 
   61:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   62: 
   63:     Linux Packaging Markup Language aims to capture</span></p>
   64: 
   65:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   66: 
   67:     a source code development tree and effectively map</span></p>
   68: 
   69:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   70: 
   71:     that to a compilation and installation process for</span></p>
   72: 
   73:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   74: 
   75:     generating software packages and updating a run-time</span></p>
   76: 
   77:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   78: 
   79:     system.&nbsp; This language helps handle dependency information,</span></p>
   80: 
   81:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   82: 
   83:     file globbing, file permissions, file ownerships,</span></p>
   84: 
   85:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   86: 
   87:     different targets for different linux distributions,</span></p>
   88: 
   89:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   90: 
   91:     preservation of configuration information, directory</span></p>
   92: 
   93:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   94: 
   95:     permissions, directory ownerships, compilation commands,</span></p>
   96: 
   97:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;and, 
   98: 
   99:     ultimately, system software status reports.</span></p>
  100: 
  101:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  102: 
  103:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  104: 
  105:   <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State 
  106: 
  107:     University Board of Trustees</span></p>
  108: 
  109:   <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the 
  110: 
  111:     LearningOnline Network with CAPA (LON-CAPA).</span></p>
  112: 
  113:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software; 
  114: 
  115:     you can redistribute it and/or modify</span></p>
  116: 
  117:   <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the 
  118: 
  119:     GNU General Public License as published by</span></p>
  120: 
  121:   <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation; 
  122: 
  123:     either version 2 of the License, or</span></p>
  124: 
  125:   <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later 
  126: 
  127:     version.</span></p>
  128: 
  129:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed 
  130: 
  131:     in the hope that it will be useful,</span></p>
  132: 
  133:   <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY; 
  134: 
  135:     without even the implied warranty of</span></p>
  136: 
  137:   <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS 
  138: 
  139:     FOR A PARTICULAR PURPOSE.&nbsp; See the</span></p>
  140: 
  141:   <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License 
  142: 
  143:     for more details.</span></p>
  144: 
  145:   <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received 
  146: 
  147:     a copy of the GNU General Public License</span></p>
  148: 
  149:   <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if 
  150: 
  151:     not, write to the Free Software</span></p>
  152: 
  153:   <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple 
  154: 
  155:     Place, Suite 330, Boston, MA&nbsp; 02111-1307&nbsp; USA</span></p>
  156: 
  157:   <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
  158: 
  159:   <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
  160: 
  161:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  162: 
  163:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ENTITY % lpml.Version</span></p>
  164: 
  165:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  166: 
  167:     &quot;-//TUX//DTD lpml 1.0 Final//EN&quot;</span></p>
  168: 
  169:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  170: 
  171:     &gt;</span></p>
  172: 
  173:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- Typical usage: --&gt;</span></p>
  174: 
  175:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- &lt;!DOCTYPE lpml 
  176: 
  177:     PUBLIC &quot;-//TUX/DTD LPML 1.0 Final//EN&quot;</span></p>
  178: 
  179:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  180: 
  181:     &quot;http://lpml.sourceforge.net/DTD/lpml.dtd&quot;&gt; --&gt;</span></p>
  182: 
  183:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- &lt;lpml&gt; --&gt;</span></p>
  184: 
  185:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- ... --&gt;</span></p>
  186: 
  187:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- &lt;/lpml&gt; --&gt;</span></p>
  188: 
  189:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT categoryname 
  190: 
  191:     (#PCDATA)&gt;</span></p>
  192: 
  193:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT targetroot 
  194: 
  195:     (#PCDATA)&gt;</span></p>
  196: 
  197:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT sourceroot 
  198: 
  199:     (#PCDATA)&gt;</span></p>
  200: 
  201:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT target (#PCDATA)&gt;</span></p>
  202: 
  203:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST target</span></p>
  204: 
  205:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  206: 
  207:     CDATA #REQUIRED</span></p>
  208: 
  209:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  210: 
  211:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT source (#PCDATA)&gt;</span></p>
  212: 
  213:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT targetdir (#PCDATA)&gt;</span></p>
  214: 
  215:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST targetdir</span></p>
  216: 
  217:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  218: 
  219:     CDATA #REQUIRED</span></p>
  220: 
  221:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  222: 
  223:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT sourcedir (#PCDATA)&gt;</span></p>
  224: 
  225:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT glob (#PCDATA)&gt;</span></p>
  226: 
  227:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT build (#PCDATA)&gt;</span></p>
  228: 
  229:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT buildlink (#PCDATA)&gt;</span></p>
  230: 
  231:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- </span></p>
  232: 
  233:   <p class=MsoPlainText><span style='font-size:8.0pt'>The trigger attribute of 
  234: 
  235:     the build element is meant</span></p>
  236: 
  237:   <p class=MsoPlainText><span style='font-size:8.0pt'>to only have one of two 
  238: 
  239:     possible values:</span></p>
  240: 
  241:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; &quot;always run&quot;, 
  242: 
  243:     or</span></p>
  244: 
  245:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; &quot;run if dependencies 
  246: 
  247:     change&quot;</span></p>
  248: 
  249:   <p class=MsoPlainText><span style='font-size:8.0pt'>Note that you must type 
  250: 
  251:     this text exactly in for the</span></p>
  252: 
  253:   <p class=MsoPlainText><span style='font-size:8.0pt'>attribute value to be understood 
  254: 
  255:     and processed correctly</span></p>
  256: 
  257:   <p class=MsoPlainText><span style='font-size:8.0pt'>by the lpml &quot;make build&quot; 
  258: 
  259:     parser.</span></p>
  260: 
  261:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  262: 
  263:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT lpml</span></p>
  264: 
  265:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;(targetroot|sourceroot|specialnotices|files|categories|directories|rpm)+&gt;</span></p>
  266: 
  267:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST build</span></p>
  268: 
  269:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp; trigger CDATA 
  270: 
  271:     #REQUIRED</span></p>
  272: 
  273:   <p class=MsoPlainText><span style='font-size:8.0pt'>&gt;</span></p>
  274: 
  275:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT specialnotices 
  276: 
  277:     (specialnotice)+&gt;</span></p>
  278: 
  279:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT categories 
  280: 
  281:     (category)+&gt;</span></p>
  282: 
  283:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT directories 
  284: 
  285:     (directory)+&gt;</span></p>
  286: 
  287:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT files (file|fileglob|link)+&gt;</span></p>
  288: 
  289:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT dependencies 
  290: 
  291:     (#PCDATA)&gt;</span></p>
  292: 
  293:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT note (#PCDATA|table|b|br)*&gt;</span></p>
  294: 
  295:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT b (#PCDATA)&gt;</span></p>
  296: 
  297:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT specialnotice 
  298: 
  299:     (#PCDATA)&gt;</span></p>
  300: 
  301:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST specialnotice</span></p>
  302: 
  303:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  304: 
  305:     CDATA #REQUIRED</span></p>
  306: 
  307:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  308: 
  309:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT category (chmod,chown,abbreviation)&gt;</span></p>
  310: 
  311:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST category</span></p>
  312: 
  313:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; type 
  314: 
  315:     CDATA #REQUIRED</span></p>
  316: 
  317:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; name 
  318: 
  319:     CDATA #REQUIRED</span></p>
  320: 
  321:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  322: 
  323:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT chown (#PCDATA)&gt;</span></p>
  324: 
  325:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST chown</span></p>
  326: 
  327:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  328: 
  329:     CDATA #REQUIRED</span></p>
  330: 
  331:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  332: 
  333:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT chmod (#PCDATA)&gt;</span></p>
  334: 
  335:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST chmod</span></p>
  336: 
  337:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  338: 
  339:     CDATA #REQUIRED</span></p>
  340: 
  341:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  342: 
  343:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT abbreviation 
  344: 
  345:     (#PCDATA)&gt;</span></p>
  346: 
  347:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT br EMPTY&gt;</span></p>
  348: 
  349:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT nobr EMPTY&gt;</span></p>
  350: 
  351:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT table (#PCDATA|tr)*&gt;</span></p>
  352: 
  353:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST table</span></p>
  354: 
  355:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; cellpadding 
  356: 
  357:     CDATA #IMPLIED</span></p>
  358: 
  359:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; cellspacing 
  360: 
  361:     CDATA #IMPLIED</span></p>
  362: 
  363:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; border 
  364: 
  365:     CDATA #IMPLIED</span></p>
  366: 
  367:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  368: 
  369:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT tr (#PCDATA|td)*&gt;</span></p>
  370: 
  371:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT td (#PCDATA|br|ul|tt|nobr)*&gt;</span></p>
  372: 
  373:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT description 
  374: 
  375:     (#PCDATA|br|tt|u)*&gt;</span></p>
  376: 
  377:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT ul (#PCDATA|li)*&gt;</span></p>
  378: 
  379:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT li (#PCDATA)&gt;</span></p>
  380: 
  381:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT tt (#PCDATA)&gt;</span></p>
  382: 
  383:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT u (#PCDATA)&gt;</span></p>
  384: 
  385:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT status (#PCDATA)&gt;</span></p>
  386: 
  387:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT linkto (#PCDATA)&gt;</span></p>
  388: 
  389:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT directory (targetdir+,categoryname,description?)&gt;</span></p>
  390: 
  391:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST directory</span></p>
  392: 
  393:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  394: 
  395:     CDATA #REQUIRED</span></p>
  396: 
  397:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  398: 
  399:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT file (source,target+,categoryname,description?,buildlink?,</span></p>
  400: 
  401:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  402: 
  403:     note?,build?,status?,dependencies?)&gt;</span></p>
  404: 
  405:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT link (linkto,target,categoryname,description?,</span></p>
  406: 
  407:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  408: 
  409:     note?,build?,status?,dependencies?)&gt;</span></p>
  410: 
  411:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT fileglob (glob,sourcedir,targetdir,categoryname,</span></p>
  412: 
  413:   <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; 
  414: 
  415:     description?,note?,build?,buildlink?,status?,dependencies?,filenames?)&gt;</span></p>
  416: 
  417:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT filenames (#PCDATA)&gt;</span></p>
  418: 
  419:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpm (rpmSummary,rpmName,rpmVersion,rpmRelease,rpmVendor,</span></p>
  420: 
  421:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  422: 
  423:     rpmBuildRoot,rpmCopyright,rpmGroup,rpmSource,rpmAutoReqProv,</span></p>
  424: 
  425:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  426: 
  427:     rpmdescription,rpmpre,rpmRequires)&gt;</span></p>
  428: 
  429:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmSummary 
  430: 
  431:     (#PCDATA)&gt;</span></p>
  432: 
  433:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmName (#PCDATA)&gt;</span></p>
  434: 
  435:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmVersion 
  436: 
  437:     (#PCDATA)&gt;</span></p>
  438: 
  439:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmRelease 
  440: 
  441:     (#PCDATA)&gt;</span></p>
  442: 
  443:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmVendor (#PCDATA)&gt;</span></p>
  444: 
  445:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmBuildRoot 
  446: 
  447:     (#PCDATA)&gt;</span></p>
  448: 
  449:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmCopyright 
  450: 
  451:     (#PCDATA)&gt;</span></p>
  452: 
  453:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmGroup (#PCDATA)&gt;</span></p>
  454: 
  455:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmSource (#PCDATA)&gt;</span></p>
  456: 
  457:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmAutoReqProv 
  458: 
  459:     (#PCDATA)&gt;</span></p>
  460: 
  461:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmdescription 
  462: 
  463:     (#PCDATA)&gt;</span></p>
  464: 
  465:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmpre (#PCDATA)&gt;</span></p>
  466: 
  467:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT rpmRequires 
  468: 
  469:     (item)+&gt;</span></p>
  470: 
  471:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT item (#PCDATA)&gt;</span></p>
  472: 
  473:   <h3><a name="_Toc421867079">piml.dtd</a></h3>
  474: 
  475:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  476: 
  477:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  478: 
  479:     Post Installation Markup Language version 1.0.</span></p>
  480: 
  481:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  482: 
  483:     Date: January 24, 2002</span></p>
  484: 
  485:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  486: 
  487:     Author: Scott Harrison</span></p>
  488: 
  489:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  490: 
  491:     Post Installation Markup Language works to perform</span></p>
  492: 
  493:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  494: 
  495:     'intelligent' modifications of existing files on</span></p>
  496: 
  497:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  498: 
  499:     a software system.&nbsp; This allows for the reconfiguring</span></p>
  500: 
  501:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  502: 
  503:     of existing configuration files without having the</span></p>
  504: 
  505:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  506: 
  507:     overlap of files between software packages.&nbsp; PIML</span></p>
  508: 
  509:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  510: 
  511:     also allows you to have file permission/ownership</span></p>
  512: 
  513:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  514: 
  515:     specifications different than that specified by the</span></p>
  516: 
  517:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  518: 
  519:     original software package.</span></p>
  520: 
  521:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  522: 
  523:     For instance, Apache web server configuration files</span></p>
  524: 
  525:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  526: 
  527:     are a popular target for many different software applications.</span></p>
  528: 
  529:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  530: 
  531:     A preferred approach is to simply append an 'Include ...'</span></p>
  532: 
  533:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  534: 
  535:     line to the Apache web server configuration files.</span></p>
  536: 
  537:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  538: 
  539:     Post Installation Markup Language is meant to be</span></p>
  540: 
  541:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  542: 
  543:     a natural wrapper to target installations generated</span></p>
  544: 
  545:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  546: 
  547:     by LPML (Linux Packaging Markup Language).</span></p>
  548: 
  549:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  550: 
  551:     Usages of Post Installation Markup Language are:</span></p>
  552: 
  553:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  554: 
  555:     * immediately after installation with LPML</span></p>
  556: 
  557:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  558: 
  559:     * generating '%post' syntax for RPMs</span></p>
  560: 
  561:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  562: 
  563:     * generating post-installation syntax for Debian packages.</span></p>
  564: 
  565:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  566: 
  567:     Dependency checking is supported as a poor man's probing....</span></p>
  568: 
  569:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  570: 
  571:     There is no point in reconfiguring a file that isn't installed,</span></p>
  572: 
  573:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  574: 
  575:     or is missing a system component for successful operation.</span></p>
  576: 
  577:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  578: 
  579:     Another neat use of PIML is to allow for invocation of various</span></p>
  580: 
  581:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  582: 
  583:     processes after installation.</span></p>
  584: 
  585:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  586: 
  587:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  588: 
  589:   <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State 
  590: 
  591:     University Board of Trustees</span></p>
  592: 
  593:   <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the 
  594: 
  595:     LearningOnline Network with CAPA (LON-CAPA).</span></p>
  596: 
  597:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software; 
  598: 
  599:     you can redistribute it and/or modify</span></p>
  600: 
  601:   <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the 
  602: 
  603:     GNU General Public License as published by</span></p>
  604: 
  605:   <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation; 
  606: 
  607:     either version 2 of the License, or</span></p>
  608: 
  609:   <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later 
  610: 
  611:     version.</span></p>
  612: 
  613:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed 
  614: 
  615:     in the hope that it will be useful,</span></p>
  616: 
  617:   <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY; 
  618: 
  619:     without even the implied warranty of</span></p>
  620: 
  621:   <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS 
  622: 
  623:     FOR A PARTICULAR PURPOSE.&nbsp; See the</span></p>
  624: 
  625:   <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License 
  626: 
  627:     for more details.</span></p>
  628: 
  629:   <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received 
  630: 
  631:     a copy of the GNU General Public License</span></p>
  632: 
  633:   <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if 
  634: 
  635:     not, write to the Free Software</span></p>
  636: 
  637:   <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple 
  638: 
  639:     Place, Suite 330, Boston, MA&nbsp; 02111-1307&nbsp; USA</span></p>
  640: 
  641:   <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
  642: 
  643:   <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
  644: 
  645:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  646: 
  647:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ENTITY % piml.Version</span></p>
  648: 
  649:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  650: 
  651:     &quot;-//TUX//DTD piml 1.0 Final//EN&quot;&gt;</span></p>
  652: 
  653:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- Typical usage:</span></p>
  654: 
  655:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  656: 
  657:     &lt;!DOCTYPE piml PUBLIC &quot;-//TUX//DTD PIML 1.0 Final//EN&quot;</span></p>
  658: 
  659:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  660: 
  661:     &nbsp;&nbsp;&nbsp; &quot;http://lpml.sourceforge.net/DTD/piml.dtd&quot;&gt;</span></p>
  662: 
  663:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  664: 
  665:     &lt;piml&gt;</span></p>
  666: 
  667:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  668: 
  669:     &lt;/piml&gt;</span></p>
  670: 
  671:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;--&gt;</span></p>
  672: 
  673:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT categoryname 
  674: 
  675:     (#PCDATA)&gt;</span></p>
  676: 
  677:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT targetroot 
  678: 
  679:     (#PCDATA)&gt;</span></p>
  680: 
  681:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT target (#PCDATA)&gt;</span></p>
  682: 
  683:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST target</span></p>
  684: 
  685:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  686: 
  687:     CDATA #REQUIRED</span></p>
  688: 
  689:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  690: 
  691:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT piml (targetroot|specialnotices|files|categories)+&gt;</span></p>
  692: 
  693:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT specialnotices 
  694: 
  695:     (specialnotice)+&gt;</span></p>
  696: 
  697:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT categories 
  698: 
  699:     (category)+&gt;</span></p>
  700: 
  701:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT files (file)+&gt;</span></p>
  702: 
  703:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT dependencies 
  704: 
  705:     (#PCDATA)&gt;</span></p>
  706: 
  707:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST dependencies</span></p>
  708: 
  709:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  710: 
  711:     CDATA #REQUIRED</span></p>
  712: 
  713:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  714: 
  715:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT note (#PCDATA)&gt;</span></p>
  716: 
  717:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT specialnotice 
  718: 
  719:     (#PCDATA)&gt;</span></p>
  720: 
  721:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT category (chmod,chown,abbreviation)&gt;</span></p>
  722: 
  723:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST category</span></p>
  724: 
  725:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; type 
  726: 
  727:     CDATA #REQUIRED</span></p>
  728: 
  729:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; name 
  730: 
  731:     CDATA #REQUIRED</span></p>
  732: 
  733:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  734: 
  735:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT chown (#PCDATA)&gt;</span></p>
  736: 
  737:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST chown</span></p>
  738: 
  739:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  740: 
  741:     CDATA #REQUIRED</span></p>
  742: 
  743:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  744: 
  745:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT chmod (#PCDATA)&gt;</span></p>
  746: 
  747:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST chmod</span></p>
  748: 
  749:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; dist 
  750: 
  751:     CDATA #REQUIRED</span></p>
  752: 
  753:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  754: 
  755:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT abbreviation 
  756: 
  757:     (#PCDATA)&gt;</span></p>
  758: 
  759:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT file (target,categoryname?,</span></p>
  760: 
  761:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  762: 
  763:     note?,status?,dependencies?,perlscript)&gt;</span></p>
  764: 
  765:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT TARGET EMPTY&gt;</span></p>
  766: 
  767:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT perlscript 
  768: 
  769:     (#PCDATA|TARGET)*&gt;</span></p>
  770: 
  771:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST perlscript</span></p>
  772: 
  773:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; mode 
  774: 
  775:     CDATA #REQUIRED</span></p>
  776: 
  777:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; &gt;</span></p>
  778: 
  779:   <h3><a name="_Toc421867080">xfml.dtd</a></h3>
  780: 
  781:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  782: 
  783:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  784: 
  785:     XML Filter Markup Language version 1.0.</span></p>
  786: 
  787:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;Date: 
  788: 
  789:     January 27, 2002</span></p>
  790: 
  791:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  792: 
  793:     Author: Scott Harrison</span></p>
  794: 
  795:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  796: 
  797:     XML Filter Markup Language works to extract those sections</span></p>
  798: 
  799:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  800: 
  801:     of an XML document matching certain conditions.&nbsp; This, in some</span></p>
  802: 
  803:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  804: 
  805:     respects, relies on functionality similar to that expected</span></p>
  806: 
  807:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  808: 
  809:     with XSL-type files.&nbsp; (I do not use standard XSL syntax because</span></p>
  810: 
  811:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  812: 
  813:     I am not convinced that it would be simple and elegant for</span></p>
  814: 
  815:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  816: 
  817:     this particular task).</span></p>
  818: 
  819:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  820: 
  821:     This is anticipated to be a very important feature associated</span></p>
  822: 
  823:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  824: 
  825:     with a larger Makefile-ish type approach involving the XML dtds:</span></p>
  826: 
  827:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  828: 
  829:     LPML and PIML.</span></p>
  830: 
  831:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  832: 
  833:     LPML (Linux Packaging Markup Language) can work to install files</span></p>
  834: 
  835:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  836: 
  837:     on a single computer or a distributed network of computers with</span></p>
  838: 
  839:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  840: 
  841:     pre-configured ssh accessibility (.ssh/authorized_keys, etc).</span></p>
  842: 
  843:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  844: 
  845:     PIML (Post Installation Markup Language) works to coordinate the</span></p>
  846: 
  847:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  848: 
  849:     last little scripts that need to be run after an installation.</span></p>
  850: 
  851:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  852: 
  853:     With all this make-&quot;power&quot;, wouldn't it be nice to only pass through</span></p>
  854: 
  855:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;portions 
  856: 
  857:     of an LPML specification?</span></p>
  858: 
  859:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  860: 
  861:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!--</span></p>
  862: 
  863:   <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State 
  864: 
  865:     University Board of Trustees</span></p>
  866: 
  867:   <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the 
  868: 
  869:     LearningOnline Network with CAPA (LON-CAPA).</span></p>
  870: 
  871:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software; 
  872: 
  873:     you can redistribute it and/or modify</span></p>
  874: 
  875:   <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the 
  876: 
  877:     GNU General Public License as published by</span></p>
  878: 
  879:   <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation; 
  880: 
  881:     either version 2 of the License, or</span></p>
  882: 
  883:   <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later 
  884: 
  885:     version.</span></p>
  886: 
  887:   <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed 
  888: 
  889:     in the hope that it will be useful,</span></p>
  890: 
  891:   <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY; 
  892: 
  893:     without even the implied warranty of</span></p>
  894: 
  895:   <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS 
  896: 
  897:     FOR A PARTICULAR PURPOSE.&nbsp; See the</span></p>
  898: 
  899:   <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License 
  900: 
  901:     for more details.</span></p>
  902: 
  903:   <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received 
  904: 
  905:     a copy of the GNU General Public License</span></p>
  906: 
  907:   <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if 
  908: 
  909:     not, write to the Free Software</span></p>
  910: 
  911:   <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple 
  912: 
  913:     Place, Suite 330, Boston, MA&nbsp; 02111-1307&nbsp; USA</span></p>
  914: 
  915:   <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
  916: 
  917:   <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
  918: 
  919:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  920: 
  921:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- Note: current status 
  922: 
  923:     is that choice:include is currently unsupported and</span></p>
  924: 
  925:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; 
  926: 
  927:     all matching statements REQUIRE two levels of 'when' statements;</span></p>
  928: 
  929:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; 
  930: 
  931:     not one or more than two...&nbsp; okay.. this will be fixed soon --&gt;</span></p>
  932: 
  933:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ENTITY % xfml.Version</span></p>
  934: 
  935:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  936: 
  937:     &quot;-//TUX//DTD piml 1.0 Final//EN&quot;&gt;</span></p>
  938: 
  939:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!-- Typical usage:</span></p>
  940: 
  941:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  942: 
  943:     &lt;!DOCTYPE xfml PUBLIC &quot;-//TUX//DTD PIML 1.0 Final//EN&quot;&gt;</span></p>
  944: 
  945:   <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>
  946: 
  947:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  948: 
  949:     &lt;/xfml&gt;</span></p>
  950: 
  951:   <p class=MsoPlainText><span style='font-size:8.0pt'>--&gt;</span></p>
  952: 
  953:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT choice:include 
  954: 
  955:     (#PCDATA)&gt;</span></p>
  956: 
  957:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT choice:exclude 
  958: 
  959:     (#PCDATA)&gt;</span></p>
  960: 
  961:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT xfml (clause)+&gt;</span></p>
  962: 
  963:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT clause (when:cdata|when:name|when:attribute|choice:exclude)+&gt;</span></p>
  964: 
  965:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT when:name</span></p>
  966: 
  967:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;(when:cdata|when:name|when:attribute|choice:include|choice:exclude)+&gt;</span></p>
  968: 
  969:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT when:attribute 
  970: 
  971:     </span></p>
  972: 
  973:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; (when:cdata|when:name|when:attribute|choice:include|</span></p>
  974: 
  975:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; choice:exclude)+&gt;</span></p>
  976: 
  977:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ELEMENT when:cdata 
  978: 
  979:     </span></p>
  980: 
  981:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; (when:cdata|when:name|when:attribute|choice:include|</span></p>
  982: 
  983:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp; choice:exclude)+&gt;</span></p>
  984: 
  985:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST when:name</span></p>
  986: 
  987:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; match 
  988: 
  989:     CDATA #REQUIRED&gt;</span></p>
  990: 
  991:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST when:attribute</span></p>
  992: 
  993:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; match 
  994: 
  995:     CDATA #REQUIRED&gt;</span></p>
  996: 
  997:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST when:cdata</span></p>
  998: 
  999:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; match 
 1000: 
 1001:     CDATA #REQUIRED&gt;</span></p>
 1002: 
 1003:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST choice:include</span></p>
 1004: 
 1005:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; nodename 
 1006: 
 1007:     CDATA #REQUIRED&gt;</span></p>
 1008: 
 1009:   <p class=MsoPlainText><span style='font-size:8.0pt'>&lt;!ATTLIST choice:exclude</span></p>
 1010: 
 1011:   <p class=MsoPlainText><span style='font-size:8.0pt'>&nbsp;&nbsp;&nbsp; nodename 
 1012: 
 1013:     CDATA #REQUIRED&gt;</span></p>
 1014: 
 1015: </div>
 1016: 
 1017: <br
 1018: 
 1019: clear=ALL style='page-break-before:always;'>
 1020: 
 1021: <div class=Section2> </div>
 1022: 
 1023: </body>
 1024: 
 1025: </html>
 1026: 

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