File:
[LON-CAPA] /
doc /
gutshtml /
SessionFour.html
Revision
1.1:
download - view:
text,
annotated -
select for diffs
Fri Jun 28 20:30:29 2002 UTC (22 years, 5 months ago) by
www
Branches:
MAIN
CVS tags:
version_0_99_3,
version_0_99_2,
version_0_99_1,
version_0_99_0,
version_0_6_2,
version_0_6,
version_0_5_1,
version_0_5,
version_0_4,
stable_2002_july,
conference_2003,
STABLE,
HEAD
HTML version of GUTS manual. Individual files will still need cleanup.
<html>
<head>
<meta name=Title
content="Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation Guidelines (Guy)">
<meta http-equiv=Content-Type content="text/html; charset=macintosh">
<title>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation
Guidelines (Guy)</title>
<style><!--
.MsoPlainText
{font-size:10.0pt;
font-family:"Courier New";}
.Section1
{page:Section1;}
.Section2
{page:Section2;}
-->
</style>
</head>
<body bgcolor=#FFFFFF link=blue vlink=purple class="Normal" lang=EN-US>
<div class=Section1>
<h2>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation
Guidelines (Guy)</h2>
<h3><a name="_Toc421867078">lpml.dtd</a></h3>
<p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Linux Packaging Markup Language version 1.0.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Date: May 3, 2001</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Author: Scott Harrison</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Linux Packaging Markup Language aims to capture</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
a source code development tree and effectively map</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
that to a compilation and installation process for</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
generating software packages and updating a run-time</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
system. This language helps handle dependency information,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
file globbing, file permissions, file ownerships,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
different targets for different linux distributions,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
preservation of configuration information, directory</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
permissions, directory ownerships, compilation commands,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> and,
ultimately, system software status reports.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
University Board of Trustees</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
LearningOnline Network with CAPA (LON-CAPA).</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
you can redistribute it and/or modify</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
GNU General Public License as published by</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
either version 2 of the License, or</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
version.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
in the hope that it will be useful,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
without even the implied warranty of</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
for more details.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
a copy of the GNU General Public License</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
not, write to the Free Software</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % lpml.Version</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
"-//TUX//DTD lpml 1.0 Final//EN"</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage: --></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- <!DOCTYPE lpml
PUBLIC "-//TUX/DTD LPML 1.0 Final//EN"</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
"http://lpml.sourceforge.net/DTD/lpml.dtd"> --></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- <lpml> --></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- ... --></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- </lpml> --></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categoryname
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetroot
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT sourceroot
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT target (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST target</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT source (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetdir (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST targetdir</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT sourcedir (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT glob (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT build (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT buildlink (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- </span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>The trigger attribute of
the build element is meant</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>to only have one of two
possible values:</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> "always run",
or</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> "run if dependencies
change"</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>Note that you must type
this text exactly in for the</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>attribute value to be understood
and processed correctly</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>by the lpml "make build"
parser.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT lpml</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> (targetroot|sourceroot|specialnotices|files|categories|directories|rpm)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST build</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> trigger CDATA
#REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotices
(specialnotice)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categories
(category)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT directories
(directory)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT files (file|fileglob|link)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT dependencies
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT note (#PCDATA|table|b|br)*></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT b (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotice
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST specialnotice</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT category (chmod,chown,abbreviation)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST category</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> type
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> name
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chown (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chown</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chmod (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chmod</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT abbreviation
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT br EMPTY></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT nobr EMPTY></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT table (#PCDATA|tr)*></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST table</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> cellpadding
CDATA #IMPLIED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> cellspacing
CDATA #IMPLIED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> border
CDATA #IMPLIED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT tr (#PCDATA|td)*></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT td (#PCDATA|br|ul|tt|nobr)*></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT description
(#PCDATA|br|tt|u)*></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT ul (#PCDATA|li)*></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT li (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT tt (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT u (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT status (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT linkto (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT directory (targetdir+,categoryname,description?)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST directory</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT file (source,target+,categoryname,description?,buildlink?,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
note?,build?,status?,dependencies?)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT link (linkto,target,categoryname,description?,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
note?,build?,status?,dependencies?)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT fileglob (glob,sourcedir,targetdir,categoryname,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
description?,note?,build?,buildlink?,status?,dependencies?,filenames?)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT filenames (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpm (rpmSummary,rpmName,rpmVersion,rpmRelease,rpmVendor,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
rpmBuildRoot,rpmCopyright,rpmGroup,rpmSource,rpmAutoReqProv,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
rpmdescription,rpmpre,rpmRequires)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmSummary
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmName (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmVersion
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmRelease
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmVendor (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmBuildRoot
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmCopyright
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmGroup (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmSource (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmAutoReqProv
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmdescription
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmpre (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmRequires
(item)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT item (#PCDATA)></span></p>
<h3><a name="_Toc421867079">piml.dtd</a></h3>
<p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Post Installation Markup Language version 1.0.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Date: January 24, 2002</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Author: Scott Harrison</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Post Installation Markup Language works to perform</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
'intelligent' modifications of existing files on</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
a software system. This allows for the reconfiguring</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
of existing configuration files without having the</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
overlap of files between software packages. PIML</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
also allows you to have file permission/ownership</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
specifications different than that specified by the</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
original software package.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
For instance, Apache web server configuration files</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
are a popular target for many different software applications.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
A preferred approach is to simply append an 'Include ...'</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
line to the Apache web server configuration files.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Post Installation Markup Language is meant to be</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
a natural wrapper to target installations generated</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
by LPML (Linux Packaging Markup Language).</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Usages of Post Installation Markup Language are:</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
* immediately after installation with LPML</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
* generating '%post' syntax for RPMs</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
* generating post-installation syntax for Debian packages.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Dependency checking is supported as a poor man's probing....</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
There is no point in reconfiguring a file that isn't installed,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
or is missing a system component for successful operation.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Another neat use of PIML is to allow for invocation of various</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
processes after installation.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
University Board of Trustees</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
LearningOnline Network with CAPA (LON-CAPA).</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
you can redistribute it and/or modify</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
GNU General Public License as published by</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
either version 2 of the License, or</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
version.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
in the hope that it will be useful,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
without even the implied warranty of</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
for more details.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
a copy of the GNU General Public License</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
not, write to the Free Software</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % piml.Version</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
"-//TUX//DTD piml 1.0 Final//EN"></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage:</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
<!DOCTYPE piml PUBLIC "-//TUX//DTD PIML 1.0 Final//EN"</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
"http://lpml.sourceforge.net/DTD/piml.dtd"></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
<piml></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
</piml></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> --></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categoryname
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetroot
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT target (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST target</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT piml (targetroot|specialnotices|files|categories)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotices
(specialnotice)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categories
(category)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT files (file)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT dependencies
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST dependencies</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT note (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotice
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT category (chmod,chown,abbreviation)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST category</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> type
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> name
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chown (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chown</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chmod (#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chmod</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> dist
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT abbreviation
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT file (target,categoryname?,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
note?,status?,dependencies?,perlscript)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT TARGET EMPTY></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT perlscript
(#PCDATA|TARGET)*></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST perlscript</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> mode
CDATA #REQUIRED</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
<h3><a name="_Toc421867080">xfml.dtd</a></h3>
<p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
XML Filter Markup Language version 1.0.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> Date:
January 27, 2002</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
Author: Scott Harrison</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
XML Filter Markup Language works to extract those sections</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
of an XML document matching certain conditions. This, in some</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
respects, relies on functionality similar to that expected</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
with XSL-type files. (I do not use standard XSL syntax because</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
I am not convinced that it would be simple and elegant for</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
this particular task).</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
This is anticipated to be a very important feature associated</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
with a larger Makefile-ish type approach involving the XML dtds:</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
LPML and PIML.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
LPML (Linux Packaging Markup Language) can work to install files</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
on a single computer or a distributed network of computers with</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
pre-configured ssh accessibility (.ssh/authorized_keys, etc).</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
PIML (Post Installation Markup Language) works to coordinate the</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
last little scripts that need to be run after an installation.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
With all this make-"power", wouldn't it be nice to only pass through</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> portions
of an LPML specification?</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
University Board of Trustees</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
LearningOnline Network with CAPA (LON-CAPA).</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
you can redistribute it and/or modify</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
GNU General Public License as published by</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
either version 2 of the License, or</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
version.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
in the hope that it will be useful,</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
without even the implied warranty of</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
for more details.</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
a copy of the GNU General Public License</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
not, write to the Free Software</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- Note: current status
is that choice:include is currently unsupported and</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
all matching statements REQUIRE two levels of 'when' statements;</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
not one or more than two... okay.. this will be fixed soon --></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % xfml.Version</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
"-//TUX//DTD piml 1.0 Final//EN"></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage:</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
<!DOCTYPE xfml PUBLIC "-//TUX//DTD PIML 1.0 Final//EN"></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> <xfml></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>
</xfml></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT choice:include
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT choice:exclude
(#PCDATA)></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT xfml (clause)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT clause (when:cdata|when:name|when:attribute|choice:exclude)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:name</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|choice:exclude)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:attribute
</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> choice:exclude)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:cdata
</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> choice:exclude)+></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:name</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> match
CDATA #REQUIRED></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:attribute</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> match
CDATA #REQUIRED></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:cdata</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> match
CDATA #REQUIRED></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST choice:include</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> nodename
CDATA #REQUIRED></span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST choice:exclude</span></p>
<p class=MsoPlainText><span style='font-size:8.0pt'> nodename
CDATA #REQUIRED></span></p>
</div>
<br
clear=ALL style='page-break-before:always;'>
<div class=Section2> </div>
</body>
</html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>