SGMLS man page on Slackware

Man page or keyword search:  
man Server   14563 pages
apropos Keyword Search (all sections)
Output format
Slackware logo
[printable version]

SGMLS(3)	      User Contributed Perl Documentation	      SGMLS(3)

NAME
       SGMLS - class for postprocessing the output from the sgmls and nsgmls
       parsers.

SYNOPSIS
	 use SGMLS;

	 my $parse = new SGMLS(STDIN);

	 my $event = $parse->next_event;
	 while ($event) {

	   SWITCH: {

	     ($event->type eq 'start_element') && do {
	       my $element = $event->data;    # An object of class SGMLS_Element
	       [[your code for the beginning of an element]]
	       last SWITCH;
	     };

	     ($event->type eq 'end_element') && do {
	       my $element = $event->data;    # An object of class SGMLS_Element
	       [[your code for the end of an element]]
	       last SWITCH;
	     };

	     ($event->type eq 'cdata') && do {
	       my $cdata = $event->data;      # A string
	       [[your code for character data]]
	       last SWITCH;
	     };

	     ($event->type eq 'sdata') && do {
	       my $sdata = $event->data;      # A string
	       [[your code for system data]]
	       last SWITCH;
	     };

	     ($event->type eq 're') && do {
	       [[your code for a record end]]
	       last SWITCH;
	     };

	     ($event->type eq 'pi') && do {
	       my $pi = $event->data;	      # A string
	       [[your code for a processing instruction]]
	       last SWITCH;
	     };

	     ($event->type eq 'entity') && do {
	       my $entity = $event->data;     # An object of class SGMLS_Entity
	       [[your code for an external entity]]
	       last SWITCH;
	     };

	     ($event->type eq 'start_subdoc') && do {
	       my $entity = $event->data;     # An object of class SGMLS_Entity
	       [[your code for the beginning of a subdoc entity]]
	       last SWITCH;
	     };

	     ($event->type eq 'end_subdoc') && do {
	       my $entity = $event->data;     # An object of class SGMLS_Entity
	       [[your code for the end of a subdoc entity]]
	       last SWITCH;
	     };

	     ($event->type eq 'conforming') && do {
	       [[your code for a conforming document]]
	       last SWITCH;
	     };

	     die "Internal error: unknown event type " . $event->type . "\n";
	   }

	   $event = $parse->next_event;
	 }

DESCRIPTION
       The SGMLS package consists of several related classes: see "SGMLS",
       "SGMLS_Event", "SGMLS_Element", "SGMLS_Attribute", "SGMLS_Notation",
       and "SGMLS_Entity".  All of these classes are available when you
       specify

	 use SGMLS;

       Generally, the only object which you will create explicitly will belong
       to the "SGMLS" class; all of the others will then be created
       automatically for you over the course of the parse.  Much fuller
       documentation is available in the ".sgml" files in the "DOC/" directory
       of the "SGMLS.pm" distribution.

   The "SGMLS" class
       This class holds a single parse.	 When you create an instance of it,
       you specify a file handle as an argument (if you are reading the output
       of sgmls or nsgmls from a pipe, the file handle will ordinarily be
       "STDIN"):

	 my $parse = new SGMLS(STDIN);

       The most important method for this class is "next_event", which reads
       and returns the next major event from the input stream.	It is
       important to note that the "SGMLS" class deals with most ESIS events
       itself: attributes and entity definitions, for example, are collected
       and stored automatically and invisibly to the user.  The following list
       contains all of the methods for the "SGMLS" class:

       "next_event()": Return an "SGMLS_Event" object containing the next
       major event from the SGML parse.
       "element()": Return an "SGMLS_Element" object containing the current
       element in the document.
       "file()": Return a string containing the name of the current SGML
       source file (this will work only if the "-l" option was given to sgmls
       or nsgmls).
       "line()": Return a string containing the current line number from the
       source file (this will work only if the "-l" option was given to sgmls
       or nsgmls).
       "appinfo()": Return a string containing the "APPINFO" parameter (if
       any) from the SGML declaration.
       "notation(NNAME)": Return an "SGMLS_Notation" object representing the
       notation named "NNAME".	With newer versions of nsgmls, all notations
       are available; otherwise, only the notations which are actually used
       will be available.
       "entity(ENAME)": Return an "SGMLS_Entity" object representing the
       entity named "ENAME".  With newer versions of nsgmls, all entities are
       available; otherwise, only external data entities and internal entities
       used as attribute values will be available.
       "ext()": Return a reference to an associative array for user-defined
       extensions.

   The "SGMLS_Event" class
       This class holds a single major event, as generated by the "next_event"
       method in the "SGMLS" class.  It uses the following methods:

       "type()": Return a string describing the type of event:
       "start_element", "end_element", "cdata", "sdata", "re", "pi", "entity",
       "start_subdoc", "end_subdoc", and "conforming".	See "SYNOPSIS", above,
       for the values associated with each of these.
       "data()": Return the data associated with the current event (if any).
       For "start_element" and "end_element", returns an "SGMLS_ELement"
       object; for "entity", "start_subdoc", and "end_subdoc", returns an
       "SGMLS_Entity" object; for "cdata", "sdata", and "pi", returns a
       string; and for "re" and "conforming", returns the empty string.	 See
       "SYNOPSIS", above, for an example of this method's use.
       "key()": Return a string key to the event, such as an element or entity
       name (otherwise, the same as "data()").
       "file()": Return the current file name, as in the "SGMLS" class.
       "line()": Return the current line number, as in the "SGMLS" class.
       "element()": Return the current element, as in the "SGMLS" class.
       "parse()": Return the "SGMLS" object which generated the event.
       "entity(ENAME)": Look up an entity, as in the "SGMLS" class.
       "notation(ENAME)": Look up a notation, as in the "SGMLS" class.
       "ext()": Return a reference to an associative array for user-defined
       extensions.

   The "SGMLS_Element" class
       This class is used for elements, and contains all associated
       information (such as the element's attributes).	It recognises the
       following methods:

       "name()": Return a string containing the name, or Generic Identifier,
       of the element, in upper case.
       "parent()": Return the "SGMLS_Element" object for the element's parent
       (if any).
       "parse()": Return the "SGMLS" object for the current parse.
       "attributes()": Return a reference to an associative array of attribute
       names and "SGMLS_Attribute" structures.	Attribute names will be all in
       upper case.
       "attribute_names()": Return an array of strings containing the names of
       all attributes defined for the current element, in upper case.
       "attribute(ANAME)": Return the "SGMLS_Attribute" structure for the
       attribute "ANAME".
       "set_attribute(ATTRIB)": Add the "SGMLS_Attribute" object "ATTRIB" to
       the current element, replacing any other attribute structure with the
       same name.
       "in(GI)": Return "true" (ie. 1) if the string "GI" is the name of the
       current element's parent, or "false" (ie. 0) if it is not.
       "within(GI)": Return "true" (ie. 1) if the string "GI" is the name of
       any of the ancestors of the current element, or "false" (ie. 0) if it
       is not.
       "ext()": Return a reference to an associative array for user-defined
       extensions.

   The "SGMLS_Attribute" class
       Each instance of an attribute for each "SGMLS_Element" is an object
       belonging to this class, which recognises the following methods:

       "name()": Return a string containing the name of the current attribute,
       all in upper case.
       "type()": Return a string containing the type of the current attribute,
       all in upper case.  Available types are "IMPLIED", "CDATA", "NOTATION",
       "ENTITY", and "TOKEN".
       "value()": Return the value of the current attribute, if any. This will
       be an empty string if the type is "IMPLIED", a string of some sort if
       the type is "CDATA" or "TOKEN" (if it is "TOKEN", you may want to split
       the string into a series of separate tokens), an "SGMLS_Notation"
       object if the type is "NOTATION", or an "SGMLS_Entity" object if the
       type is "ENTITY".  Note that if the value is "CDATA", it will not have
       escape sequences for 8-bit characters, record ends, or SDATA processed
       -- that will be your responsibility.
       "is_implied()": Return "true" (ie. 1) if the value of the attribute is
       implied, or "false" (ie. 0) if it is specified in the document.
       "set_type(TYPE)": Change the type of the attribute to the string "TYPE"
       (which should be all in upper case).  Available types are "IMPLIED",
       "CDATA", "NOTATION", "ENTITY", and "TOKEN".
       "set_value(VALUE)": Change the value of the attribute to "VALUE", which
       may be a string, an "SGMLS_Entity" object, or an "SGMLS_Notation"
       subject, depending on the attribute's type.
       "ext()": Return a reference to an associative array available for user-
       defined extensions.

   The "SGMLS_Notation" class
       All declared notations appear as objects belonging to this class, which
       recognises the following methods:

       "name()": Return a string containing the name of the notation.
       "sysid()": Return a string containing the system identifier of the
       notation, if any.
       "pubid()": Return a string containing the public identifier of the
       notation, if any.
       "ext()": Return a reference to an associative array available for user-
       defined extensions.

   The "SGMLS_Entity" class
       All declared entities appear as objects belonging to this class, which
       recognises the following methods:

       "name()": Return a string containing the name of the entity, in mixed
       case.
       "type()": Return a string containing the type of the entity, in upper
       case.  Available types are "CDATA", "SDATA", "NDATA" (external entities
       only), "SUBDOC", "PI" (newer versions of nsgmls only), or "TEXT" (newer
       versions of nsgmls only).
       "value()": Return a string containing the value of the entity, if it is
       internal.
       "sysid()": Return a string containing the system identifier of the
       entity (if any), if it is external.
       "pubid()": Return a string containing the public identifier of the
       entity (if any), if it is external.
       "filenames()": Return an array of strings containing any file names
       generated from the identifiers, if the entity is external.
       "notation()": Return the "SGMLS_Notation" object associated with the
       entity, if it is external.
       "data_attributes()": Return a reference to an associative array of data
       attribute names (in upper case) and the associated "SGMLS_Attribute"
       objects for the current entity.
       "data_attribute_names()": Return an array of data attribute names (in
       upper case) for the current entity.
       "data_attribute(ANAME)": Return the "SGMLS_Attribute" object for the
       data attribute named "ANAME" for the current entity.
       "set_data_attribute(ATTRIB)": Add the "SGMLS_Attribute" object "ATTRIB"
       to the current entity, replacing any other data attribute with the same
       name.
       "ext()": Return a reference to an associative array for user-defined
       extensions.

AUTHOR AND COPYRIGHT
       Copyright 1994 and 1995 by David Megginson, "dmeggins@aix1.uottawa.ca".
       Distributed under the terms of the Gnu General Public License (version
       2, 1991) -- see the file "COPYING" which is included in the SGMLS.pm
       distribution.

SEE ALSO:
       SGMLS::Output and SGMLS::Refs.

POD ERRORS
       Hey! The above document had some coding errors, which are explained
       below:

       Around line 117:
	   '=item' outside of any '=over'

       Around line 148:
	   You forgot a '=back' before '=head2'

       Around line 154:
	   '=item' outside of any '=over'

       Around line 191:
	   You forgot a '=back' before '=head2'

       Around line 197:
	   '=item' outside of any '=over'

       Around line 232:
	   You forgot a '=back' before '=head2'

       Around line 237:
	   '=item' outside of any '=over'

       Around line 270:
	   You forgot a '=back' before '=head2'

       Around line 275:
	   '=item' outside of any '=over'

       Around line 287:
	   You forgot a '=back' before '=head2'

       Around line 292:
	   '=item' outside of any '=over'

       Around line 333:
	   You forgot a '=back' before '=head1'

perl v5.18.0			  2013-07-09			      SGMLS(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Slackware

List of man pages available for Slackware

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net