[][src]Trait xml_dom::level2::Attribute

pub trait Attribute: Node {
    fn value(&self) -> Option<String>;
fn set_value(&mut self, value: &str) -> Result<()>;
fn unset_value(&mut self) -> Result<()>;
fn owner_element(&self) -> Option<Self::NodeRef>; fn specified(&self) -> bool { ... } }

This corresponds to the DOM Attr interface.

Required methods

fn value(&self) -> Option<String>

On retrieval, the value of the attribute is returned as a string.

Specification

Character and general entity references are replaced with their values. See also the method getAttribute on the Element interface.

On setting, this creates a Text node with the unparsed contents of the string. I.e. any characters that an XML processor would recognize as markup are instead treated as literal text. See also the method setAttribute on the Element interface.

Exceptions on setting

  • NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.

fn set_value(&mut self, value: &str) -> Result<()>

Set the value for the node; see value.

fn unset_value(&mut self) -> Result<()>

Set the value for the node to None; see value.

fn owner_element(&self) -> Option<Self::NodeRef>

The Element node this attribute is attached to or null if this attribute is not in use.

Loading content...

Provided methods

fn specified(&self) -> bool

If this attribute was explicitly given a value in the original document, this is true; otherwise, it is false.

Specification

Note that the implementation is in charge of this attribute, not the user. If the user changes the value of the attribute (even if it ends up having the same value as the default value) then the specified flag is automatically flipped to true. To re-specify the attribute as the default value from the DTD, the user must delete the attribute. The implementation will then make a new attribute available with specified set to false and the default value (if one exists).

In summary:

  • If the attribute has an assigned value in the document then specified is true, and the value is the assigned value.
  • If the attribute has no assigned value in the document and has a default value in the DTD, then specified is false, and the value is the default value in the DTD.
  • If the attribute has no assigned value in the document and has a value of #IMPLIED in the DTD, then the attribute does not appear in the structure model of the document.
  • If the ownerElement attribute is null (i.e. because it was just created or was set to null by the various removal and cloning operations) specified is true.
Loading content...

Implementors

impl Attribute for RefNode[src]

Loading content...