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.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout