logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Barrie Slaymaker <barries@slaysys.com>

Description

       This module is used to represent <!ELEMENT> tags in an XML::Doctype object.  It contains <!ATTLIST> tags
       as well.

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.

Name

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

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:

Subclassing

       This object uses the fields pragma, so you should use base and fields for any subclasses.

Synopsis

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

See Also