Annotation of doc/gutshtml/SessionFour.html, revision 1.2

1.2     ! bowersj2    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>