⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sax.html

📁 SVG 是一种广泛使用的矢量图格式
💻 HTML
字号:
<head><!-- Generated by perlmod2www.pl --><title>SAX documentation.</title></head><body bgcolor="white"><HR><H4>SVG::Parser</H4><H3>SAX</H3><A NAME="TOP"></A><TABLE BORDER="1" WIDTH="100%"><TR><TD><A HREF="#SUMMARY">Summary</A></TD><TD><A HREF="#libs">Included libraries</A></TD><TD><A HREF="#vardefs">Package variables</A></TD><TD><A HREF="#SYNOPSIS">Synopsis</A></TD><TD><A HREF="#DESCRIPTION">Description</A></TD><TD><A HREF="#General">General documentation</A></TD><TD><A HREF="#Methods">Methods</A></TD></TR></TABLE><HR><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR><TD BGCOLOR="#ffae84"><B>Summary</B></TD></TR></TABLE><TABLE BORDER="0" WIDTH="100%"><TR><TD><pre><B>SVG::Parser::SAX</B> - XML SAX Parser for SVG documents<BR></pre></TD></TR></TABLE><A NAME="vardefs"></A><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#ffae84"><TD><B>Package variables</B></TD><TD ALIGN="RIGHT"><A HREF="#TOP">top</A></TD></TR></TABLE><TABLE BORDER="0" WIDTH="100%"><TR BGCOLOR="#ffd39b"><TD COLSPAN="2"><B>Globals (from <FONT COLOR="BLUE">use vars</FONT> definitions)</B></TD></TR><TR><TD COLSPAN="2"><font color="#1f32ff">$VERSION</font> = <font color="#007400">"0.97"</font></TD></TR></TABLE><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#ffae84"><TD WIDTH="150"><B>Included modules</B></TD><TD ALIGN="RIGHT"><A HREF="#TOP">top</A></TD></TR></TABLE><TABLE BORDER="0"><TR><TD COLSPAN="2"><b><font color="#0000ff">Carp</font></b></TD></TR><TR><TD COLSPAN="2"><b><font color="#0000ff"><a href="Base.html">SVG::Parser::Base</a></font></b> </TD></TR><TR><TD COLSPAN="2"><b><font color="#0000ff"><a href="SAX/Handler.html">SVG::Parser::SAX::Handler</a></font></b> </TD></TR><TR><TD COLSPAN="2"><b><font color="#0000ff">XML::SAX</font></b> </TD></TR><TR><TD COLSPAN="2"><b><font color="#0000ff">strict</font></b></TD></TR></TABLE><A NAME="libs"></A><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#ffae84"><TD><B>Inherit</B></TD><TD ALIGN="RIGHT"><A HREF="#TOP">top</A></TD></TR></TABLE><TABLE BORDER="0"><TR><TD><b><font color="#0000ff">## this changes once the parser type is known</font></b> <b><font color="#0000ff"><a href="Base.html">SVG::Parser::Base</a></font></b> </TD></TR></TABLE><A NAME="SYNOPSIS"></A><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#ffae84"><TD><B>Synopsis</B></TD><TD ALIGN="RIGHT"><A HREF="#TOP">top</A></TD></TR></TABLE><TABLE BORDER="0"><TR><TD COLSPAN="2"><pre>  #!/usr/bin/perl -w<BR>  use strict;<BR>  use SVG::Parser::SAX;<BR><BR>  die &quot;Usage: $0 &lt;file&gt;\n&quot; unless @ARGV;<BR><BR>  my $xml;<BR>  {<BR>      local $/=undef;<BR>      $xml=&lt;&gt;;<BR>  }<BR><BR>  my $parser=new <B>SVG::Parser::SAX</B>(-debug =&gt; 1);<BR><BR>  my $svg=$parser-&gt;parse($xml);<BR><BR>  print $svg-&gt;xmlify;<BR></pre></TD></TR></TABLE><A NAME="DESCRIPTION"></A><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#ffae84"><TD><B>Description</B></TD><TD ALIGN="RIGHT"><A HREF="#TOP">top</A></TD></TR></TABLE><TABLE BORDER="0"><TR><TD COLSPAN="2"><pre><B>SVG::Parser::SAX</B> is the SAX-based parser module used by SVG::Parser when an<BR>underlying XML::SAX-based parser is selected. It may also be used directly, as shown<BR>in the synopsis above.<BR><BR>Use SVG::Parser to retain maximum flexibility as to which underlying parser is chosen.<BR>Use <B>SVG::Parser::SAX</B> to supply SAX-specific parser options or where the presence<BR>of a functional XML::SAX parser is known and/or preferred.<BR></pre><pre>None. However, a preferred SAX parser implementations can be specified by<BR>passing the package name to <B>SVG::Parser::SAX</B> in the import list. For example:<BR><BR>    use <B>SVG::Parser::SAX</B> qw(XML::LibXML::SAX::Parser);<BR><BR>A minimum version number may be additionally suppied as a second import item:<BR><BR>    use <B>SVG::Parser::SAX</B> (XML::LibXML::SAX::Parser =&gt; 1.40);<BR><BR>This overrides the automatic selection of a suitable SAX parser. To try several<BR>different parsers in turn, use the SVG::Parser module instead and restrict it<BR>to only try SAX-based parsers. To make use of the automatic selection mechanism,<BR>omit the import list.<BR><BR>When loaded via SVG::Parser, this parent class may be specified by placing it<BR>after the '=' in a parser specification:<BR><BR>See <a href="../Parser.html" target="urlWin"><b>SVG::Parser</b></a> for more details.<BR></pre><pre>See svgsaxparse in the examples directory of the distribution.<BR></pre></TD></TR></TABLE><A NAME="Methods"></A><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#ffae84"><TD><B>Methods</B></TD><TD ALIGN="RIGHT"><A HREF="#TOP">top</A></TD></TR></TABLE><TABLE BORDER="1" CELLSPACING="5"><TR><TD><B>import</B></TD><TD><FONT COLOR="RED"><B>No description</B></FONT></TD><TD><A HREF="#CODE1">Code</A></TD></TR><TR><TD><B>new</B></TD><TD><FONT COLOR="RED"><B>No description</B></FONT></TD><TD><A HREF="#CODE2">Code</A></TD></TR><TR><TD><B>parsefile</B></TD><TD><FONT COLOR="RED"><B>No description</B></FONT></TD><TD><A HREF="#CODE3">Code</A></TD></TR></TABLE><A NAME="MethDesc"></A><HR><H2>Methods description</H2><A NAME="MethCode"></A><HR><H2>Methods code</H2><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#dcab68"><TD WIDTH="200"><A NAME="CODE1"></A><B>import</B></TD><TD>description</TD><TD WIDTH="30"><A HREF="#TOP">top</A></TD><TD WIDTH="30">prev</TD><TD WIDTH="30"><A HREF="#CODE2">next</A></TD></TR></TABLE><font color="#0000ff"><b>sub</b></font> <font color="#ff0000"><b>import</b></font> {<pre>    <font color="#0000ff"><b>my</b></font> <font color="#1f32ff">$package</font>=<font color="#4169e1"><b>shift</b></font>;    <font color="#ff0000">## permit an alternative XML::SAX parser to be our parser</font><BR>    <font color="#0000ff"><b>if</b></font> <font color="#0000ff"><b>(</b></font><font color="#1f32ff">@_</font><font color="#0000ff"><b>)</b></font> <font color="#0000ff"><b>{</b></font>        <font color="#0000ff"><b>my</b></font> <font color="#0000ff"><b>(</b></font><font color="#1f32ff">$superclass</font>,<font color="#1f32ff">$version</font><font color="#0000ff"><b>)</b></font>=<font color="#1f32ff">@_</font>;        <font color="#ff0000">## select specific XML::SAX parser: 'pkg' or 'pkg =&gt; version'</font><BR>        <font color="#0000ff"><b>if</b></font> <font color="#0000ff"><b>(</b></font><font color="#1f32ff">$version</font><font color="#0000ff"><b>)</b></font> <font color="#0000ff"><b>{</b></font>            <font color="#1f32ff">$XML</font>::<font color="#8000ff"><b>SAX::ParserPackage</b></font>=<font color="#007400">"<font color="#1f32ff">$superclass</font> (<font color="#1f32ff">$version</font>)"</font> <font color="#0000ff"><b>if</b></font> <font color="#0000ff"><b>eval</b></font> <font color="#4169e1"><b>qq</b></font><font color="#007400">[                require <font color="#1f32ff">$superclass</font> <font color="#1f32ff">$version</font>;            ]</font>;        <font color="#0000ff"><b>}</b></font> <font color="#0000ff"><b>else</b></font> <font color="#0000ff"><b>{</b></font>            <font color="#1f32ff">$XML</font>::<font color="#8000ff"><b>SAX::ParserPackage</b></font>=<font color="#1f32ff">$superclass</font> <font color="#0000ff"><b>if</b></font> <font color="#0000ff"><b>eval</b></font> <font color="#4169e1"><b>qq</b></font><font color="#007400">[                require <font color="#1f32ff">$superclass</font>;            ]</font>;        <font color="#0000ff"><b>}</b></font>    <font color="#0000ff"><b>}</b></font></pre>}<BR><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#dcab68"><TD WIDTH="200"><A NAME="CODE2"></A><B>new</B></TD><TD>description</TD><TD WIDTH="30"><A HREF="#TOP">top</A></TD><TD WIDTH="30"><A HREF="#CODE1">prev</A></TD><TD WIDTH="30"><A HREF="#CODE3">next</A></TD></TR></TABLE><font color="#0000ff"><b>sub</b></font> <font color="#ff0000"><b>new</b></font> {<pre>    <font color="#0000ff"><b>my</b></font> <font color="#1f32ff">$proto</font>=<font color="#4169e1"><b>shift</b></font>;    <font color="#0000ff"><b>my</b></font> <font color="#1f32ff">$class</font>=<font color="#4169e1"><b>ref</b></font><font color="#0000ff"><b>(</b></font><font color="#1f32ff">$proto</font><font color="#0000ff"><b>)</b></font> || <font color="#1f32ff">$proto</font>;    <font color="#0000ff"><b>my</b></font> <font color="#1f32ff">%attrs</font>=<font color="#1f32ff">@_</font>;    <font color="#0000ff"><b>my</b></font> <font color="#1f32ff">$self</font>=<font color="#8000ff"><b>XML::SAX::ParserFactory</b></font>-&gt;<font color="#ff8204">parser</font><font color="#0000ff"><b>(</b></font>        Handler =&gt; <A HREF="SAX/Handler.html"><font color="#8000ff"><b>SVG::Parser::SAX::Handler</b></font></A>-&gt;<font color="#0000ff"><b>new</b></font><font color="#0000ff"><b>(</b></font><font color="#1f32ff">%attrs</font><font color="#0000ff"><b>)</b></font>,    <font color="#0000ff"><b>)</b></font>;    <font color="#ff0000">## first time through set up the @ISA for the package</font><BR>    <font color="#1f32ff">@ISA</font>=<font color="#0000ff"><b>(</b></font><font color="#4169e1"><b>ref</b></font><font color="#0000ff"><b>(</b></font><font color="#1f32ff">$self</font><font color="#0000ff"><b>)</b></font>,<font color="#007400">"SVG::Parser::Base"</font><font color="#0000ff"><b>)</b></font> <font color="#0000ff"><b>if</b></font> <font color="#1f32ff">@ISA</font>==1;    <font color="#0000ff"><b>return</b></font> <font color="#4169e1"><b>bless</b></font> <font color="#1f32ff">$self</font>,<font color="#1f32ff">$class</font>;</pre>}<BR><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#dcab68"><TD WIDTH="200"><A NAME="CODE3"></A><B>parsefile</B></TD><TD>description</TD><TD WIDTH="30"><A HREF="#TOP">top</A></TD><TD WIDTH="30"><A HREF="#CODE2">prev</A></TD><TD WIDTH="30">next</TD></TR></TABLE><font color="#0000ff"><b>sub</b></font> <font color="#ff0000"><b>parsefile</b></font> {<pre>    <font color="#0000ff"><b>my</b></font> <font color="#0000ff"><b>(</b></font><font color="#1f32ff">$self</font>,<font color="#1f32ff">$source</font>,<font color="#1f32ff">@args</font><font color="#0000ff"><b>)</b></font>=<font color="#1f32ff">@_</font>;    <font color="#0000ff"><b>my</b></font> <font color="#1f32ff">$type</font>=<font color="#1f32ff">$self</font>-&gt;<font color="#ff8204">identify</font><font color="#0000ff"><b>(</b></font><font color="#1f32ff">$source</font><font color="#0000ff"><b>)</b></font>;    <font color="#0000ff"><b>return</b></font> <font color="#007400">""</font> <font color="#0000ff"><b>if</b></font> <font color="#1f32ff">$type</font> <font color="#0000ff"><b>eq</b></font> <font color="#1f32ff">$self</font>-&gt;ARG_IS_INVALID;    <font color="#0000ff"><b>if</b></font> <font color="#0000ff"><b>(</b></font><font color="#1f32ff">$type</font> <font color="#0000ff"><b>eq</b></font> <font color="#1f32ff">$self</font>-&gt;ARG_IS_STRING<font color="#0000ff"><b>)</b></font> <font color="#0000ff"><b>{</b></font>        <font color="#0000ff"><b>local</b></font><font color="#0000ff"><b>(</b></font>*FH<font color="#0000ff"><b>)</b></font>;        <font color="#4169e1"><b>open</b></font> FH,<font color="#1f32ff">$source</font> or croak <font color="#007400">"Couldn't open $: $!"</font>;        <font color="#0000ff"><b>return</b></font> <font color="#1f32ff">$self</font>-&gt;<font color="#8000ff"><b>SUPER</b></font>::<font color="#ff8204">parse_file</font><font color="#0000ff"><b>(</b></font>*FH,<font color="#1f32ff">@_</font><font color="#0000ff"><b>)</b></font>;    <font color="#0000ff"><b>}</b></font> <font color="#0000ff"><b>elsif</b></font> <font color="#0000ff"><b>(</b></font><font color="#1f32ff">$type</font> <font color="#0000ff"><b>eq</b></font> <font color="#1f32ff">$self</font>-&gt;ARG_IS_HASHRF<font color="#0000ff"><b>)</b></font> <font color="#0000ff"><b>{</b></font>        <font color="#0000ff"><b>return</b></font> <font color="#1f32ff">$self</font>-&gt;<font color="#8000ff"><b>SUPER</b></font>::<font color="#ff8204">parse</font><font color="#0000ff"><b>(</b></font><font color="#0000ff"><b>{</b></font> %$source,@args <font color="#0000ff"><b>}</b></font><font color="#0000ff"><b>)</b></font>;    <font color="#0000ff"><b>}</b></font> <font color="#0000ff"><b>else</b></font> <font color="#0000ff"><b>{</b></font>        <font color="#0000ff"><b>return</b></font> <font color="#1f32ff">$self</font>-&gt;<font color="#8000ff"><b>SUPER</b></font>::<font color="#ff8204">parse_file</font><font color="#0000ff"><b>(</b></font><font color="#1f32ff">$source</font>,<font color="#1f32ff">@_</font><font color="#0000ff"><b>)</b></font>;    <font color="#0000ff"><b>}</b></font></pre>}<BR><A NAME="General"></A><HR><H2>General documentation</H2><TABLE BORDER="0" WIDTH="100%" CELLSPACING="0"><TR BGCOLOR="#4492df"><TD><A NAME="_pod_AUTHOR"><B>AUTHOR</A></B></TD><TD><A HREF="#TOP">top</A></TD></TR><TR><TD COLSPAN="2"><pre>Peter Wainwright, <a href="mailto:peter.wainwright@cybrid.net">peter.wainwright@cybrid.net</a><BR></pre></TD></TR><TR BGCOLOR="#4492df"><TD><A NAME="_pod_SEE ALSO"><B>SEE ALSO</A></B></TD><TD><A HREF="#TOP">top</A></TD></TR><TR><TD COLSPAN="2"><pre><a href="#_pod_SVG">SVG</a>, <a href="../Parser.html" target="urlWin"><b>SVG::Parser</b></a>, <a href="Expat.html" target="urlWin"><b>SVG::Parser::Expat</b></a>, <a href="#_pod_XML::SAX">XML::SAX</a><BR></pre></TD></TR></TABLE></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -