NAME

    SML::Item - parsed SML item object

     $Revision: 1.3 $
     $Date: 2004/05/23 21:38:47 $

METHODS

    new ( [ \@item ] )
    get_type ( ) : string
        Get type of item, 'E'lement, 'C'omment, 'T'ext.

    is_element ( ) : bool
        Return true if item is element.

    is_comment ( ) : bool
        Return true if item is comment.

    is_text ( ) : bool
        Return true if item is text.

    is_pi ( ) : bool
        Return true if item is pi (processing instruction), eg it has one of
        '!', '?', '/' modifiers in tag name, see example:

         <!section>
         <?my-pi>
         </my-tag>
 
        Yes, the closing tag is also considered processing instruction,
        however, it could be tested by is_closing_tag() method.

    is_opening ( ) : bool
        Return true if item is opening tag eg. element !pi.

    is_closing ( ) : bool
        Return true if item is closing tag eg. get_pi() eq '/'.

    get_pi ( ) : string
        Get pi (processing instruction) mark. Valid only for element type of
        item, otherwise false (by empty string '').

    get_name ( ) : string
        Get name of element tag. Valid only for element type of item,
        otherwise false (by empty string '').

    get_text ( ) : string
        Get text value of text or comment item type. For element type return
        allway false (by empty string '').

    get_attributes_str ( ) : string
        Get attributes part of tag body as plain uparsed, unmodified string
        value. Valid only for element type of item, otherwise false (by
        empty string '').

    get_attribute_value ( $name [, $position ] ) : string
        Get value of named attribute, optionally from specified position.

    get_attribute ( $name )
        Get attribute by $name represented as arrayref of corresponding
        values.

    set_attribute_value ( $name, $value [, $pos ] )
        Set attribute $name optionaly at specified position $pos.

    get_attributes ( )
        Get parsed attributes.

    get_attributes_names ( )
        Get list of all named attributes.

    build_attributes_str ( [ $strict ] )
        Build new attributes_str from parsed attributes info, replacing the
        old one attributes_str.

        If $strict >= 1 or any true value, drop invalid attribute body
        entries, eg. <myTag #$ myAttr=1> --> <myTag myAttr=1>.

        If $strict >= 2, build only attributes in the form of single token
        or token with equal sign and quoted values, eg. <myTag #$ myAttr=1>
        --> <myTag myAttr="1">

TODO

