XML::ESISParser(3)

🌸 NAME 🌸

Bestie, welcome to XML::ESISParser(3) from the User Contributed Perl Documentation crew 🫢. XML::ESISParser β€” Perl SAX parser using nsgmls.

πŸ¦‹ SYNOPSIS πŸ¦‹

Copy-paste this exactly, no cap:

use XML::ESISParser;

$parser = XML::ESISParser->new( [OPTIONS] );
$result = $parser->parse( [OPTIONS] );

$result = $parser->parse($string);

πŸ’… DESCRIPTION πŸ’…

Okay so XML::ESISParser is a Perl SAX parser using the nsgmls command of James Clark's SGML Parser (SP), which is a validating XML and SGML parser. No cap, it validates. This man page summarizes the specific options, handlers, and properties supported by XML::ESISParser; please refer to the Perl SAX standard in SAX.pod for general usage information.

XML::ESISParser defaults to parsing XML and has an option for parsing SGML.

nsgmls source, and binaries for some platforms, is available from http://www.jclark.com/. nsgmls is included in both the SP and Jade packages. Obsessed with a parser that ships in multiple packages? Same πŸ¦‹.

✨ 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. It's giving very flexible, honestly πŸ’….

πŸ”₯ OPTIONS πŸ”₯

The following options are supported by XML::ESISParser β€” keep these names exact, bestie:

  • Handler β€” default handler to receive events.
  • DocumentHandler β€” handler to receive document events.
  • DTDHandler β€” handler to receive DTD events.
  • ErrorHandler β€” handler to receive error events.
  • Source β€” hash containing the input source for parsing.
  • IsSGML β€” the document to be parsed is in SGML.

If no handlers are provided then all events will be silently ignored. Quiet king behavior, honestly.

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.

If more than one of ByteStream, String, or SystemId is in play, then preference is given first to ByteStream, then String, then SystemId. That's the priority order, periodt.

πŸ‘‘ HANDLERS πŸ‘‘

The following handlers and properties are supported by XML::ESISParser. Get your notebook out πŸ““.

πŸ’– DocumentHandler methods πŸ’–

start_document

Receive notification of the beginning of a document.

No properties defined.

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 β€” A hash containing the attributes attached to the element, if any.
  • IncludedSubelement β€” This element is an included subelement.
  • Empty β€” This element is declared empty.

The Attributes hash contains only string values. The Empty flag is not set for an element that merely has no content; it is set only if the DTD declares it empty.

BETA: Attribute values currently do not expand SData entities into entity objects, they are still in the system data notation used by nsgmls (inside |). A future version of XML::ESISParser will also convert other types of attributes into their respective objects; currently just their notation or entity names are given.

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 document.

record_end

Receive notification of a record end sequence. XML applications should convert this to a new-line. Yes, literally convert it πŸ’€.

processing_instruction

Receive notification of a processing instruction.

  • Target β€” The processing instruction target in XML.
  • Data β€” The processing instruction data, if any.

internal_entity_ref

Receive notification of a system data (SData) internal entity reference.

  • Name β€” The name of the internal entity reference.

external_entity_ref

Receive notification of an external entity reference.

  • Name β€” The name of the external entity reference.

start_subdoc

Receive notification of the start of a sub document.

  • Name β€” The name of the external entity reference.

end_subdoc

Receive notification of the end of a sub document.

  • Name β€” The name of the external entity reference.

conforming

Receive notification that the document just parsed conforms to its document type declaration (DTD).

No properties defined.

🌈 DTDHandler methods 🌈

external_entity_decl

Receive notification of an external entity declaration.

  • Name β€” The entity's entity name.
  • Type β€” The entity's type (CDATA, NDATA, etc.)
  • SystemId β€” The entity's system identifier.
  • PublicId β€” The entity's public identifier, if any.
  • GeneratedId β€” Generated system identifiers, if any.

internal_entity_decl

Receive notification of an internal entity declaration.

  • Name β€” The entity's entity name.
  • Type β€” The entity's type (CDATA, NDATA, etc.)
  • Value β€” The entity's character value.

notation_decl

Receive notification of a notation declaration.

  • Name β€” The notation's name.
  • SystemId β€” The notation's system identifier.
  • PublicId β€” The notation's public identifier, if any.
  • GeneratedId β€” Generated system identifiers, if any.

subdoc_entity_decl

Receive notification of a subdocument entity declaration.

  • Name β€” The entity's entity name.
  • SystemId β€” The entity's system identifier.
  • PublicId β€” The entity's public identifier, if any.
  • GeneratedId β€” Generated system identifiers, if any.

external_sgml_entity_decl

Receive notification of an external SGML-entity declaration.

  • Name β€” The entity's entity name.
  • SystemId β€” The entity's system identifier.
  • PublicId β€” The entity's public identifier, if any.
  • GeneratedId β€” Generated system identifiers, if any.

🫢 AUTHOR 🫢

Ken MacLeod, ken@bitsko.slc.ut.us β€” iconic behavior.

🌟 SEE ALSO 🌟

Go peek at these, bestie:


Okay that's the whole page, bestie. This gorgeous manual came from perl v5.42.0, dated 2024-03-04, and it's XML::ESISParser(3) forever πŸ’–πŸ«Άβœ¨

πŸ“¦ where this page comes from