Barrie Slaymaker > XML-AutoWriter-0.39 > XML::Doctype::AttDef

Download:
XML-AutoWriter-0.39.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  5
Open  0
View/Report Bugs
Module Version: 0.1   Source   Latest Release: XML-AutoWriter-0.4

NAME ^

XML::Doctype::AttDef - A class representing a definition in an <!ATTLIST> tag

SYNOPSIS ^

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

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 support XML::ValidWriter, but need a lot of work. Some big things that are lacking are:

METHODS ^

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.

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, 2005 Barrie Slaymaker. All rights reserved.

This module is licensed under your choice of the Artistic, BSD or General Public License.

syntax highlighting: