XML::Doctype::AttDef.3pm

Langue: en

Autres versions - même langue

Version: 2005-12-27 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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> 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.

POD ERRORS

Hey! The above document had some coding errors, which are explained below:
Around line 40:
You forgot a '=back' before '=head1'
Around line 42:
'=item' outside of any '=over'
Around line 164:
You forgot a '=back' before '=head1'