# phpman > perldoc > XML::SAX2Perl

## NAME
    [XML::SAX2Perl](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX2Perl/markdown) -- translate Java/CORBA style SAX methods to Perl methods

## SYNOPSIS
     use [XML::SAX2Perl](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX2Perl/markdown);

     $sax2perl = [XML::SAX2Perl](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX2Perl/markdown)(Handler => $my_handler);
     $sax->setDocumentHandler($sax2perl);

## DESCRIPTION
    "[XML::SAX2Perl](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX2Perl/markdown)" is a SAX filter that translates Java/CORBA style SAX methods to Perl style
    method calls. This man page summarizes the specific options, handlers, and properties supported
    by "[XML::SAX2Perl](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX2Perl/markdown)"; please refer to the Perl SAX standard "[XML::SAX](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX/markdown)" for general usage
    information.

## METHODS
    new Creates a new parser object. Default options for parsing, described below, are passed as
        key-value pairs or as a single hash. Options may be changed directly in the parser object
        unless stated otherwise. Options passed to `"parse()"' override the default options in the
        parser object for the duration of the parse.

    parse
        Parses a document. Options, described below, are passed as key-value pairs or as a single
        hash. Options passed to `"parse()"' override default options in the parser object.

    location
        Returns the location as a hash:

          ColumnNumber    The column number of the parse.
          LineNumber      The line number of the parse.
          PublicId        A string containing the public identifier, or undef
                          if none is available.
          SystemId        A string containing the system identifier, or undef
                          if none is available.

    SAX DocumentHandler Methods
        The following methods are DocumentHandler methods that the SAX 1.0 parser will call and
        "[XML::SAX2Perl](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX2Perl/markdown)" will translate to Perl SAX methods calls. See SAX 1.0 for details.

         setDocumentLocator(locator)
         startDocument()
         endDocument()
         startElement(name, atts)
         [endElement(name)](https://www.chedong.com/phpMan.php/man/endElement/name/markdown)
         characters(ch, start, length)
         ignorableWhitespace(ch, start, length)
         processingInstruction(target, data)

## OPTIONS
    The following options are supported by "[XML::SAX2Perl](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX2Perl/markdown)":

     Handler          default handler to receive events
     DocumentHandler  handler to receive document events
     DTDHandler       handler to receive DTD events
     ErrorHandler     handler to receive error events
     EntityResolver   handler to resolve entities
     Locale           locale to provide localisation for errors
     Source           hash containing the input source for parsing

    If no handlers are provided then all events will be silently ignored, except for
    `"fatal_error()"' which will cause a `"die()"' to be called after calling `"end_document()"'.

    If a single string argument is passed to the `"parse()"' method, it is treated as if a
    `"Source"' option was given with a `"String"' parameter.

    The `"Source"' hash may contain the following parameters:

     ByteStream       The raw byte stream (file handle) containing the
                      document.
     String           A string containing the document.
     SystemId         The system identifier (URI) of the document.
     PublicId         The public identifier.
     Encoding         A string describing the character encoding.

    If more than one of `"ByteStream"', `"String"', or `"SystemId"', then preference is given first
    to `"ByteStream"', then `"String"', then `"SystemId"'.

## HANDLERS
    The following handlers and properties are supported by "[XML::SAX2Perl](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ASAX2Perl/markdown)":

### DocumentHandler methods
    start_document
        Receive notification of the beginning of a document.

         Locator          An object that can return the location of any SAX
                          document event.

    end_document
        Receive notification of the end of a document.

        No properties defined.

    start_element
        Receive notification of the beginning of an element.

         Name             The element type name.
         Attributes       Attributes attached to the element, if any.

        ALPHA WARNING: The `"Attributes"' value is not translated from the SAX 1.0 value, so it will
        contain an AttributeList object.

    end_element
        Receive notification of the end of an element.

         Name             The element type name.

    characters
        Receive notification of character data.

         Data             The characters from the XML document.

    ignorable_whitespace
        Receive notification of ignorable whitespace in element content.

         Data             The characters from the XML document.

    processing_instruction
        Receive notification of a processing instruction.

         Target           The processing instruction target.
         Data             The processing instruction data, if any.

## AUTHOR
    Ken MacLeod <<ken@bitsko.slc.ut.us>>

## SEE ALSO
### perl

     Extensible Markup Language (XML) <<http://www.w3c.org/XML/>>
     Simple API for XML (SAX) <<http://www.megginson.com/SAX/>>

