home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _47892c18d08dab0b4a8a6fb47d7e7dfd (.txt) < prev    next >
LaTeX Document  |  2000-03-23  |  4KB  |  96 lines

  1. <HTML>
  2. <HEAD>
  3. <TITLE>main/site/lib/SGMLS/Refs.pm</TITLE>
  4. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  5. <LINK REV="made" HREF="mailto:">
  6. </HEAD>
  7. <BODY>
  8. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  9. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  10. <STRONG><P CLASS=block> main/site/lib/SGMLS/Refs.pm</P></STRONG>
  11. </TD></TR>
  12. </TABLE>
  13. <A NAME="__index__"></A>
  14. <!-- INDEX BEGIN -->
  15.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  16.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  17.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  18.     <LI><A HREF="#author and copyright">AUTHOR AND COPYRIGHT</A></LI>
  19.     <LI><A HREF="#see also:">SEE ALSO:</A></LI>
  20. </UL>
  21. <!-- INDEX END -->
  22. <H1><A NAME="name">NAME</A></H1>
  23. <P>SGMLS::Refs</P>
  24. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  25. <LI>Windows</LI>
  26. </UL>
  27. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  28. <PRE>
  29.   use SGMLS::Refs;</PRE>
  30. <P>To create a new reference-manager object using the file ``foo.refs'':</P>
  31. <PRE>
  32.   my $refs = new SGMLS::Refs("foo.refs");</PRE>
  33. <P>To create a new reference-manager object using the file ``foo.refs'' and
  34. logging changes to the file ``foo.log'':</P>
  35. <PRE>
  36.   my $refs = new SGMLS::Refs("foo.refs","foo.log");</PRE>
  37. <P>To record a reference:</P>
  38. <PRE>
  39.   $refs->put("document title",$title);</PRE>
  40. <P>To retrieve a reference:</P>
  41. <PRE>
  42.   $title = $refs->get("document title");</PRE>
  43. <P>To return the number of references changed since the last run:</P>
  44. <PRE>
  45.   $num = $refs->changed;</PRE>
  46. <P>To print a LaTeX-like warning if any references have changed:</P>
  47. <PRE>
  48.   $refs->warn;</PRE>
  49. <H1><A NAME="description">DESCRIPTION</A></H1>
  50. <P>This library can be used together with the <STRONG>SGMLS</STRONG> package to keep
  51. track of forward references from one run to another, like the <STRONG>LaTeX</STRONG>
  52. <CODE>.aux</CODE> files.  Each reference manager is an object which reads and
  53. then rewrites a file of perl source, with the file name provided by
  54. the caller.</P>
  55. <P>Example:</P>
  56. <PRE>
  57.   # Start up the reference manager before the parse.
  58.   sgml('start', sub { $refs = new SGMLS::Refs("foo.refs"); });</PRE>
  59. <PRE>
  60.   # Warn about any changed references at the end.
  61.   sgml('end', sub { $refs->warn; });</PRE>
  62. <PRE>
  63.   # Look up the title from the last parse, if available.
  64.   sgml('<div>', sub { 
  65.     my $element = shift;
  66.     my $id = $element->attribute(ID)->value;
  67.     my $title = $refs->get("title:$id") || "[no title available]";</PRE>
  68. <PRE>
  69.     $current_div_id = $id;</PRE>
  70. <PRE>
  71.     output "\\section{$title}\n\n";
  72.   });</PRE>
  73. <PRE>
  74.   # Save the title for the next parse.
  75.   sgml('<head>', sub { push_output('string'); });
  76.   sgml('</head>', sub {
  77.     my $title = pop_output();
  78.     my $id = $current_div_id;</PRE>
  79. <PRE>
  80.     $refs->put("title:$id",$title);
  81.   });</PRE>
  82. <H1><A NAME="author and copyright">AUTHOR AND COPYRIGHT</A></H1>
  83. <P>Copyright 1994 and 1995 by David Megginson,
  84. <CODE>dmeggins@aix1.uottawa.ca</CODE>.  Distributed under the terms of the Gnu
  85. General Public License (version 2, 1991) -- see the file <CODE>COPYING</CODE>
  86. which is included in the <STRONG>SGMLS.pm</STRONG> distribution.</P>
  87. <H1><A NAME="see also:">SEE ALSO:</A></H1>
  88. <P><A HREF="../../../site/lib/SGMLS.html">the SGMLS manpage</A>, <A HREF="../../../site/lib/SGMLS/Output.html">the SGMLS::Output manpage</A>.</P>
  89. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  90. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  91. <STRONG><P CLASS=block> main/site/lib/SGMLS/Refs.pm</P></STRONG>
  92. </TD></TR>
  93. </TABLE>
  94. </BODY>
  95. </HTML>
  96.