=head1 NAME

XML::LibXML::Attr - XML::LibXML Attribute Class

=head1 SYNOPSIS

  $attr = XML::LibXML::Attr->new($name [,$value]);
  $string = $attr->getValue();
  $string = $attr->value;
  $attr->setValue( $string );
  $node = $attr->getOwnerElement();
  $attr->setNamespace($nsURI, $prefix);
  $bool = $attr->isId;
  $string = $attr->serializeContent;


=head1 DESCRIPTION

This is the interface to handle Attributes like ordinary nodes. The naming of
the class relies on the W3C DOM documentation.

=over 4

=item B<new>

  $attr = XML::LibXML::Attr->new($name [,$value]);

Class constructor. If you need to work with ISO encoded strings, you should
always use the createAttrbute of XML::LibXML::Document.


=item B<getValue>

  $string = $attr->getValue();

Returns the value stored for the attribute. If undef is returned, the attribute
has no value, which is different of being not specified.


=item B<value>

  $string = $attr->value;

Alias for getValue()


=item B<setValue>

  $attr->setValue( $string );

This is needed to set a new attribute value. If ISO encoded strings are passed
as parameter, the node has to be bound to a document, otherwise the encoding
might be done incorrectly.


=item B<getOwnerElement>

  $node = $attr->getOwnerElement();

returns the node the attribute belongs to. If the attribute is not bound to a
node, undef will be returned. Overwriting the underlying implementation, the
parentNode function will return undef, instead of the owner element.


=item B<setNamespace>

  $attr->setNamespace($nsURI, $prefix);

This function tries to bound the attribute to a given namespace. If $nsURI is
undefined or empty, the function discards any previous association of the
attribute with a namespace. If the namespace was not previously declared in the
context of the attribute, this function will fail. In this case you may wish to
call setNamespace() on the ownerElement. If the namespace URI is non-empty and
declared in the context of the attribute, but only with a different (non-empty)
prefix, then the attribute is still bound to the namespace but gets a different
prefix than $prefix. The function also fails if the prefix is empty but the
namespace URI is not (because unprefixed attributes should by definition belong
to no namespace). This function returns 1 on success, 0 otherwise.


=item B<isId>

  $bool = $attr->isId;

Determine whether an attribute is of type ID. For documents with a DTD, this
information is only available if DTD loading/validation has been requested. For
HTML documents parsed with the HTML parser ID detection is done automatically.
In XML documents, all "xml:id" attributes are considered to be of type ID.


=item B<serializeContent($docencoding)>

  $string = $attr->serializeContent;

This function is not part of DOM API. It returns attribute content in the form
in which it serializes into XML, that is with all meta-characters properly
quoted and with raw entity references (except for entities expanded during
parse time). Setting the optional $docencoding flag to 1 enforces document
encoding for the output string (which is then passed to Perl as a byte string).
Otherwise the string is passed to Perl as (UTF-8 encoded) characters.



=back

=head1 AUTHORS

Matt Sergeant, 
Christian Glahn, 
Petr Pajas, 

=head1 VERSION

1.63

=head1 COPYRIGHT

2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2007 Petr Pajas, All rights reserved.

=cut
