xml::doctype::elementdecl(3)
NAME
XML::Doctype::ElementDecl - A class representing an <!ELE
MENT> tag
SYNOPSIS
$elt = $dtd->element( 'foo' ) ; $elt->name() ; $elt->attr( 'foo' ) ;
DESCRIPTION
This module is used to represent <!ELEMENT> tags in an
XML::Doctype object. It contains <!ATTLIST> tags as well.
STATUS
This module is alpha code. It's developed enough to sup
port XML::ValidWriter, but need a lot of work. Some big
things that are lacking are:
METHODS
- new
- # Undefined element constructors:
$dtd = XML::Doctype::ElementDecl->new( $name ) ;
$dtd = XML::Doctype::ElementDecl->new( $name, un - def, @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 ele
ment 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 ele
ments of this type. - Right now, this must be called only when an element's
end tag is emitted. It can be broadened to be incre
mental if need be.
SUBCLASSING
This object uses the fields pragma, so you should use base
and fields for any subclasses.
AUTHOR
Barrie Slaymaker <barries@slaysys.com>
COPYRIGHT
This module is Copyright 2000, Barrie Slaymaker. All
rights reserved.
- This module is licensed under the GPL, version 2. Please
contact me if this does not suit your needs.