logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

XML::Doctype::ElementDecl - A class representing an <!ELEMENT> tag

Author

       Barrie Slaymaker <barries@slaysys.com>

Description

       This module is used to represent <!ELEMENT> tags in an XML::Doctype object.  It contains <!ATTLIST> tags
       as well.

Methods

       new
              # Undefined element constructors:
              $dtd = XML::Doctype::ElementDecl->new( $name ) ;
              $dtd = XML::Doctype::ElementDecl->new( $name, undef, \@attdefs ) ;

              # Defined element constructors
              $dtd = XML::Doctype::ElementDecl->new( $name, \@kids, \@attdef ) ;
              $dtd = XML::Doctype::ElementDecl->new( $name, [], \@attdefs ) ;

       add_attdef
              $elt_decl->add_attdef( $att_def ) ;

       attdef
              $attr = $elt->attdef( $name ) ;

           Returns the XML::Doctype::AttDef named by $name or undef if there is no such attribute.

       attdefs
              $attdefs = $elt->attdefs( $name ) ;

           Returns the list of XML::Doctype::AttDef instances associated with this element.

       attribute_names
           Returns a list of the attdefs' names.

       child_names
              @names = $elt->child_names ;

           Returns a list of names of elements in this element decl's content model.

       is_declared
              if ( $elt_decl->is_declared ) ...
              $elt_decl->is_declared( 1 ) ;

           Returns  TRUE  if  there  is  any  data  defined  in the element other than name and attributes or if
           is_declared has been set by calling is_declared( 1 ) or passing DECLARED => 1 to new().

       is_empty
       is_any
       is_mixed
       name
              $n = $elt_decl->name ;

           Gets the name of the element.

       validate_content
              $v = $elt_decl->validate_content( \@seq ) ;

           Takes an ARRAY ref of tag names (or '#PCDATA') and checks to see if it would  be  valid  content  for
           elements of this type.

           Right  now, this must be called only when an element's end tag is emitted.  It can be broadened to be
           incremental if need be.

Name

       XML::Doctype::ElementDecl - A class representing an <!ELEMENT> tag

Status

       This module is alpha code.  It's developed enough to support XML::ValidWriter, but need a lot of work.
       Some big things that are lacking are:

Subclassing

       This object uses the fields pragma, so you should use base and fields for any subclasses.

Synopsis

          $elt = $dtd->element( 'foo' ) ;
          $elt->name() ;
          $elt->attr( 'foo' ) ;

See Also