home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _f8952c49d811e161ffee2731e443ad42 < prev    next >
Text File  |  2000-03-23  |  14KB  |  354 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>XML::PPMConfig - PPMConfig file format and XML parsing elements</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> XML::PPMConfig - PPMConfig file format and XML parsing elements</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#major elements">MAJOR ELEMENTS</A></LI>
  26.     <UL>
  27.  
  28.         <LI><A HREF="#ppmconfig">PPMCONFIG</A></LI>
  29.         <LI><A HREF="#package">PACKAGE</A></LI>
  30.     </UL>
  31.  
  32.     <LI><A HREF="#minor elements">MINOR ELEMENTS</A></LI>
  33.     <UL>
  34.  
  35.         <LI><A HREF="#ppmver">PPMVER</A></LI>
  36.         <LI><A HREF="#platform">PLATFORM</A></LI>
  37.         <LI><A HREF="#repository">REPOSITORY</A></LI>
  38.         <LI><A HREF="#options">OPTIONS</A></LI>
  39.         <LI><A HREF="#ppmprecious">PPMPRECIOUS</A></LI>
  40.         <LI><A HREF="#location">LOCATION</A></LI>
  41.         <LI><A HREF="#instdate">INSTDATE</A></LI>
  42.         <LI><A HREF="#instroot">INSTROOT</A></LI>
  43.         <LI><A HREF="#instpacklist">INSTPACKLIST</A></LI>
  44.         <LI><A HREF="#instppd">INSTPPD</A></LI>
  45.     </UL>
  46.  
  47.     <LI><A HREF="#document type definition">DOCUMENT TYPE DEFINITION</A></LI>
  48.     <LI><A HREF="#sample ppmconfig file">SAMPLE PPMConfig FILE</A></LI>
  49.     <LI><A HREF="#known bugs/issues">KNOWN BUGS/ISSUES</A></LI>
  50.     <LI><A HREF="#authors">AUTHORS</A></LI>
  51.     <LI><A HREF="#history">HISTORY</A></LI>
  52.     <LI><A HREF="#see also">SEE ALSO</A></LI>
  53. </UL>
  54. <!-- INDEX END -->
  55.  
  56. <HR>
  57. <P>
  58. <H1><A NAME="name">NAME</A></H1>
  59. <P>XML::PPMConfig - PPMConfig file format and XML parsing elements</P>
  60. <P>
  61. <HR>
  62. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  63. <UL>
  64. <LI>Linux</LI>
  65. <LI>Solaris</LI>
  66. <LI>Windows</LI>
  67. </UL>
  68. <HR>
  69. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  70. <PRE>
  71.  use XML::Parser;
  72.  use XML::PPMConfig;</PRE>
  73. <PRE>
  74.  $p = new XML::Parser( Style => 'Objects', Pkg => 'XML::PPMConfig' );
  75.  ...</PRE>
  76. <P>
  77. <HR>
  78. <H1><A NAME="description">DESCRIPTION</A></H1>
  79. <P>This module provides a set of classes for parsing PPM configuration files using
  80. the <CODE>XML::Parser</CODE> module.  All of the elements unique to a PPM
  81. configuration file are derived from <CODE>XML::ValidatingElement</CODE>. There are also
  82. several classes rebuilt here which are derived from elements in <CODE>XML::PPD</CODE>
  83. as we can include a PPD file within our own INSTPPD element.</P>
  84. <P>
  85. <HR>
  86. <H1><A NAME="major elements">MAJOR ELEMENTS</A></H1>
  87. <P>
  88. <H2><A NAME="ppmconfig">PPMCONFIG</A></H2>
  89. <P>Defines a PPM configuration file.  The root of a PPMConfig document is
  90. <STRONG>always</STRONG> a PPMCONFIG element.</P>
  91. <P>
  92. <H2><A NAME="package">PACKAGE</A></H2>
  93. <P>Child of PPMCONFIG, used to describe a Perl Package which has already been
  94. installed.  Multiple instances are valid.  The PACKAGE element allows for the
  95. following attributes:</P>
  96. <DL>
  97. <DT><STRONG><A NAME="item_NAME">NAME</A></STRONG><BR>
  98. <DD>
  99. Name of the package as given in it's PPD
  100. <P></P></DL>
  101. <P>
  102. <HR>
  103. <H1><A NAME="minor elements">MINOR ELEMENTS</A></H1>
  104. <P>
  105. <H2><A NAME="ppmver">PPMVER</A></H2>
  106. <P>Child of PPMCONFIG, used to state the version of PPM for which this
  107. configuration file is valid.  A single instance should be present.</P>
  108. <P>
  109. <H2><A NAME="platform">PLATFORM</A></H2>
  110. <P>Child of PPMCONFIG, used to specify the platform of the target machine.  A
  111. single instance should be present.  The PLATFORM element allows for the
  112. following attributes:</P>
  113. <DL>
  114. <DT><STRONG><A NAME="item_OSVALUE">OSVALUE</A></STRONG><BR>
  115. <DD>
  116. Description of the local operating system as defined in the Config.pm file
  117. under 'osname'.
  118. <P></P>
  119. <DT><STRONG><A NAME="item_OSVERSION">OSVERSION</A></STRONG><BR>
  120. <DD>
  121. Version of the local operating system.
  122. <P></P>
  123. <DT><STRONG><A NAME="item_CPU">CPU</A></STRONG><BR>
  124. <DD>
  125. Description of the CPU in the local system.  The following list of possible
  126. values was taken from the OSD Specification:
  127. <PRE>
  128.  x86 mips alpha ppc sparc 680x0</PRE>
  129. <P></P>
  130. <DT><STRONG><A NAME="item_LANGUAGE">LANGUAGE</A></STRONG><BR>
  131. <DD>
  132. Description of the language used on the local system as specified by the
  133. language codes in ISO 639.
  134. <P></P></DL>
  135. <P>
  136. <H2><A NAME="repository">REPOSITORY</A></H2>
  137. <P>Child of PPMCONFIG, used to specify a repository where Perl Packages can be
  138. found.  Multiple instances are valid.  The REPOSITORY element allows for the
  139. following attributes:</P>
  140. <DL>
  141. <DT><STRONG>NAME</STRONG><BR>
  142. <DD>
  143. Name by which the repository will be known (e.g.  ``ActiveState'').
  144. <P></P>
  145. <DT><STRONG><A NAME="item_LOCATION">LOCATION</A></STRONG><BR>
  146. <DD>
  147. An URL or directory where the repository can be found.
  148. <P></P>
  149. <DT><STRONG><A NAME="item_USERNAME">USERNAME</A></STRONG><BR>
  150. <DD>
  151. Optional username for a repository requiring authenticated connection.
  152. <P></P>
  153. <DT><STRONG><A NAME="item_PASSWORD">PASSWORD</A></STRONG><BR>
  154. <DD>
  155. Optional password for a repository requiring authenticated connection.
  156. <P></P>
  157. <DT><STRONG><A NAME="item_SUMMARYFILE">SUMMARYFILE</A></STRONG><BR>
  158. <DD>
  159. Optional package summary filename.
  160. <P>If this file exists on the repository, its contents can be retrieved
  161. using PPM::RepositorySummary().  The contents are not strictly enforced
  162. by PPM.pm, however ppm.pl expects this to be a file with the following
  163. format (for display with the 'summary' command):</P>
  164. <P>Agent [2.91]:   supplies agentspace methods for perl5.
  165. Apache-OutputChain [0.06]:      chain stacked Perl handlers
  166. [etc.]</P>
  167. <P></P></DL>
  168. <P>
  169. <H2><A NAME="options">OPTIONS</A></H2>
  170. <P>Child of PPMCONFIG, used to specify the current configuration options for PPM.
  171. A single instance should be present.  The OPTIONS element allows for the
  172. following attributes:</P>
  173. <DL>
  174. <DT><STRONG><A NAME="item_IGNORECASE">IGNORECASE</A></STRONG><BR>
  175. <DD>
  176. Sets case-sensitive searching.  Can be either 'Yes' or 'No'.
  177. <P></P>
  178. <DT><STRONG><A NAME="item_CLEAN">CLEAN</A></STRONG><BR>
  179. <DD>
  180. Sets removal of temporarily files.  Can be either 'Yes' or 'No'.
  181. <P></P>
  182. <DT><STRONG><A NAME="item_CONFIRM">CONFIRM</A></STRONG><BR>
  183. <DD>
  184. Sets confirmation of all installs/removals/upgrades.  Can be either 'Yes' or
  185. 'No'.
  186. <P></P>
  187. <DT><STRONG><A NAME="item_BUILDDIR">BUILDDIR</A></STRONG><BR>
  188. <DD>
  189. Directory in which packages will be unpacked before their installation.
  190. <P></P>
  191. <DT><STRONG><A NAME="item_ROOT">ROOT</A></STRONG><BR>
  192. <DD>
  193. Directory under which packages should be installed on the local system.
  194. <P></P>
  195. <DT><STRONG><A NAME="item_TRACE">TRACE</A></STRONG><BR>
  196. <DD>
  197. Level of tracing (0 is no tracing, 4 is max tracing).
  198. <P></P>
  199. <DT><STRONG><A NAME="item_TRACEFILE">TRACEFILE</A></STRONG><BR>
  200. <DD>
  201. File to which trace information will be written.
  202. <P></P>
  203. <DT><STRONG><A NAME="item_VERBOSE">VERBOSE</A></STRONG><BR>
  204. <DD>
  205. Controls whether query and search results are verbose (1 == verbose, 0 == no).
  206. <P></P></DL>
  207. <P>
  208. <H2><A NAME="ppmprecious">PPMPRECIOUS</A></H2>
  209. <P>Child of PPMCONFIG, used to specify the modules which PPM itself is dependant
  210. upon.  A single instance should be present.</P>
  211. <P>
  212. <H2><A NAME="location">LOCATION</A></H2>
  213. <P>Child of PACKAGE, used to specify locations at which to search for updated
  214. versions of the PPD file for this package.  Its value can be either a
  215. directory or an Internet address.  A single instance should be present.</P>
  216. <P>
  217. <H2><A NAME="instdate">INSTDATE</A></H2>
  218. <P>Child of PACKAGE, used to specify the date on which the Perl Package was
  219. installed.  A single instance should be present.</P>
  220. <P>
  221. <H2><A NAME="instroot">INSTROOT</A></H2>
  222. <P>Child of PACKAGE, used to specify the root directory that the Perl Package was
  223. installed into.  A single instance should be present.</P>
  224. <P>
  225. <H2><A NAME="instpacklist">INSTPACKLIST</A></H2>
  226. <P>Child of PACKAGE, used to specify a reference to the packlist for this Perl
  227. Package; a file containing a list of all of the files which were installed.  A
  228. single instance should be present.</P>
  229. <P>
  230. <H2><A NAME="instppd">INSTPPD</A></H2>
  231. <P>Child of PACKAGE, used to hold a copy of the PPD from which Perl Packages
  232. were installed.  Multiple instances are valid.</P>
  233. <P>
  234. <HR>
  235. <H1><A NAME="document type definition">DOCUMENT TYPE DEFINITION</A></H1>
  236. <P>The DTD for PPMConfig documents is available from the ActiveState website and
  237. the latest version can be found at:
  238.     <A HREF="http://www.ActiveState.com/PPM/DTD/ppmconfig.dtd">http://www.ActiveState.com/PPM/DTD/ppmconfig.dtd</A></P>
  239. <P>This revision of the <CODE>XML::PPMConfig</CODE> module implements the following DTD:</P>
  240. <PRE>
  241.  <!ELEMENT PPMCONFIG (PPMVER | PLATFORM | REPOSITORY | OPTIONS |
  242.                       PPMPRECIOUS | PACKAGE)*></PRE>
  243. <PRE>
  244.  <!ELEMENT PPMVER   (#PCDATA)></PRE>
  245. <PRE>
  246.  <!ELEMENT PLATFORM  EMPTY>
  247.  <!ATTLIST PLATFORM  OSVALUE     CDATA   #REQUIRED
  248.                      OSVERSION   CDATA   #REQUIRED
  249.                      CPU         CDATA   #REQUIRED
  250.                      LANGUAGE    CDATA   #IMPLIED></PRE>
  251. <PRE>
  252.  <!ELEMENT REPOSITORY    EMPTY>
  253.  <!ATTLIST REPOSITORY    NAME     CDATA  #REQUIRED
  254.                          LOCATION CDATA  #REQUIRED
  255.                          USERNAME CDATA  #IMPLIED
  256.                          PASSWORD CDATA  #IMPLIED
  257.                          SUMMARYFILE CDATA #IMPLIED></PRE>
  258. <PRE>
  259.  <!ELEMENT OPTIONS   EMPTY>
  260.  <!ATTLIST OPTIONS   IGNORECASE      CDATA   #REQUIRED
  261.                      CLEAN           CDATA   #REQUIRED
  262.                      CONFIRM         CDATA   #REQUIRED
  263.                      FORCEINSTALL    CDATA   #REQUIRED
  264.                      ROOT            CDATA   #REQUIRED
  265.                      BUILDDIR        CDATA   #REQUIRED
  266.                      MORE            CDATA   #REQUIRED
  267.                      TRACE           CDATA   #IMPLIED
  268.                      TRACEFILE       CDATA   #IMPLIED></PRE>
  269. <PRE>
  270.  <!ELEMENT PPMPRECIOUS (#PCDATA)></PRE>
  271. <PRE>
  272.  <!ELEMENT PACKAGE   (LOCATION | INSTDATE | INSTROOT | INSTPACKLIST |
  273.                       INSTPPD)*>
  274.  <!ATTLIST PACKAGE   NAME    CDATA   #REQUIRED></PRE>
  275. <PRE>
  276.  <!ELEMENT LOCATION  (#PCDATA)></PRE>
  277. <PRE>
  278.  <!ELEMENT INSTDATE  (#PCDATA)></PRE>
  279. <PRE>
  280.  <!ELEMENT INSTROOT  (#PCDATA)></PRE>
  281. <PRE>
  282.  <!ELEMENT INSTPACKLIST (#PCDATA)></PRE>
  283. <PRE>
  284.  <!ELEMENT INSTPPD   (#PCDATA)></PRE>
  285. <P>
  286. <HR>
  287. <H1><A NAME="sample ppmconfig file">SAMPLE PPMConfig FILE</A></H1>
  288. <P>The following is a sample PPMConfig file.  Note that this may <STRONG>not</STRONG> be a
  289. current description of this module and is for sample purposes only.</P>
  290. <PRE>
  291.  <PPMCONFIG>
  292.      <PPMVER>1,0,0,0</PPMVER>
  293.      <PLATFORM CPU="x86" OSVALUE="MSWin32" OSVERSION="4,0,0,0" />
  294.      <OPTIONS BUILDDIR="/tmp" CLEAN="Yes" CONFIRM="Yes" FORCEINSTALL="Yes"
  295.               IGNORECASE="No" MORE="0" ROOT="/usr/local" TRACE="0" TRACEFILE="" />
  296.      <REPOSITORY LOCATION="<A HREF="http://www.ActiveState.com/packages"">http://www.ActiveState.com/packages"</A>;
  297.                  NAME="ActiveState Package Repository" SUMMARYFILE="package.lst" />
  298.      <PPMPRECIOUS>PPM;libnet;Archive-Tar;Compress-Zlib;libwww-perl</PPMPRECIOUS>
  299.      <PACKAGE NAME="AtExit">
  300.          <LOCATION>g:/packages</LOCATION>
  301.          <INSTPACKLIST>c:/perllib/lib/site/MSWin32-x86/auto/AtExit/.packlist</INSTPACKLIST>
  302.          <INSTROOT>c:/perllib</INSTROOT>
  303.          <INSTDATE>Sun Mar  8 02:56:31 1998</INSTDATE>
  304.          <INSTPPD>
  305.              <SOFTPKG NAME="AtExit" VERSION="1,02,0,0">
  306.                  <TITLE>AtExit</TITLE>
  307.                  <ABSTRACT>Register a subroutine to be invoked at program -exit time.</ABSTRACT>
  308.                  <AUTHOR>Brad Appleton (Brad_Appleton-GBDA001@email.mot.com)</AUTHOR>
  309.                  <IMPLEMENTATION>
  310.                      <CODEBASE HREF="x86/AtExit.tar.gz" />
  311.                  </IMPLEMENTATION>
  312.              </SOFTPKG>
  313.          </INSTPPD>
  314.      </PACKAGE>
  315.  </PPMCONFIG></PRE>
  316. <P>
  317. <HR>
  318. <H1><A NAME="known bugs/issues">KNOWN BUGS/ISSUES</A></H1>
  319. <P>Elements which are required to be empty (e.g. REPOSITORY) are not enforced as
  320. such.</P>
  321. <P>Notations above about elements for which ``only one instance'' or ``multiple
  322. instances'' are valid are not enforced; this primarily a guideline for
  323. generating your own PPD files.</P>
  324. <P>Currently, this module creates new classes within it's own namespace for all of
  325. the PPD elements which can be contained within the INSTPPD element.  A suitable
  326. method for importing the entire XML::PPD:: namespace should be found in order
  327. to make this cleaner.</P>
  328. <P>
  329. <HR>
  330. <H1><A NAME="authors">AUTHORS</A></H1>
  331. <P>Graham TerMarsch <<A HREF="mailto:grahamt@activestate.com">grahamt@activestate.com</A>></P>
  332. <P>Murray Nesbitt <<A HREF="mailto:murrayn@activestate.com">murrayn@activestate.com</A>></P>
  333. <P>Dick Hardt <<A HREF="mailto:dick_hardt@activestate.com">dick_hardt@activestate.com</A>></P>
  334. <P>
  335. <HR>
  336. <H1><A NAME="history">HISTORY</A></H1>
  337. <P>v0.1 - Initial release</P>
  338. <P>
  339. <HR>
  340. <H1><A NAME="see also">SEE ALSO</A></H1>
  341. <P><A HREF="../../../site/lib/XML/ValidatingElement.html">the XML::ValidatingElement manpage</A>,
  342. <A HREF="../../../site/lib/XML/Parser.html">the XML::Parser manpage</A>,
  343. <A HREF="../../../site/lib/XML/PPD.html">the XML::PPD manpage</A>
  344. .</P>
  345. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  346. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  347. <STRONG><P CLASS=block> XML::PPMConfig - PPMConfig file format and XML parsing elements</P></STRONG>
  348. </TD></TR>
  349. </TABLE>
  350.  
  351. </BODY>
  352.  
  353. </HTML>
  354.