XML::Doctype::AttDef - A class representing a definition in an
<!ATTLIST> tag
$attr = $elt->attribute( $name ) ;
$attr->name ;
This module is used to represent <!ELEMENT> tags in an
XML::Doctype object. It contains <!ATTLIST> tags as well.
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:
- new
-
$dtd = XML::Doctype::AttDef->new( $name, $type, $default ) ;
- default
-
( $spec, $value ) = $attr->default ;
$attr->default( '#REQUIRED' ) ;
$attr->default( '#IMPLIED' ) ;
$attr->default( '', 'foo' ) ;
$attr->default( '#FIXED', 'foo' ) ;
Sets/gets the default value. This is a
- quant
-
$attdef->quant( $q ) ;
$q = $attdef->quant ;
Sets/gets the attribute quantifier: '#REQUIRED', '#FIXED',
'#IMPLIED', or ''.
- name
-
$attdef->name( $name ) ;
$name = $attdef->name ;
Sets/gets this attribute name. Don't change the name while an
attribute is in an element's attlist, since it will then be filed under
the wrong name.
- default_on_write
-
$attdef->default_on_write( $value ) ;
$value = $attdef->default_on_write ;
$attdef->default_on_write( $attdef->default ) ;
Sets/gets the value which is automatically output for this
attribute if none is supplied to
$writer->startTag. This is typically used to
set a document-wide default for #REQUIRED attributes (and perhaps plain
attributes) so that the attribute is treated like a #FIXED tag and
emitted with a fixed value.
The default_on_write does not need to be the same as the
default unless the quantifier is #FIXED.
This object uses the fields pragma, so you should use base and
fields for any subclasses.
Barrie Slaymaker <barries@slaysys.com>
This module is Copyright 2000, 2005 Barrie Slaymaker. All rights
reserved.
This module is licensed under your choice of the Artistic, BSD or
General Public License.