class LibXML::XML::AttrDecl

At attribute declaration is used in XML::Dtds to define what attributes are allowed on an element. An attribute declaration defines an attribues name, data type and default value (if any).

Public Instance Methods

child → nil click to toggle source

Obtain this attribute declaration’s child attribute(s). It will always be nil.

# File lib/libxml/attr_decl.rb, line 13
def child
  nil
end
child? → (true|false) click to toggle source

Returns whether this attribute declaration has child attributes.

# File lib/libxml/attr_decl.rb, line 22
def child?
  not self.children.nil?
end
doc → XML::Document click to toggle source

Returns this attribute declaration’s document.

static VALUE rxml_attr_decl_doc_get(VALUE self)
{
  xmlAttributePtr xattr;
  Data_Get_Struct(self, xmlAttribute, xattr);
  if (xattr->doc == NULL)
    return Qnil;
  else
    return rxml_document_wrap(xattr->doc);
}
doc? → (true|false) click to toggle source

Determine whether this attribute declaration is associated with an XML::Document.

# File lib/libxml/attr_decl.rb, line 31
def doc?
  not self.doc.nil?
end
name → "name" click to toggle source

Obtain this attribute declaration’s name.

static VALUE rxml_attr_decl_name_get(VALUE self)
{
  xmlAttributePtr xattr;
  Data_Get_Struct(self, xmlAttribute, xattr);

  if (xattr->name == NULL)
    return Qnil;
  else
    return rxml_new_cstr( xattr->name, xattr->doc->encoding);
}
next → XML::AttrDecl click to toggle source

Obtain the next attribute declaration.

static VALUE rxml_attr_decl_next_get(VALUE self)
{
  xmlAttributePtr xattr;
  Data_Get_Struct(self, xmlAttribute, xattr);
  if (xattr->next == NULL)
    return Qnil;
  else
    return rxml_attr_decl_wrap((xmlAttributePtr)xattr->next);
}
next? → (true|false) click to toggle source

Determine whether there is a next attribute declaration.

# File lib/libxml/attr_decl.rb, line 39
def next?
  not self.next.nil?
end
type → num click to toggle source

Obtain this attribute declaration’s type node type.

static VALUE rxml_attr_decl_node_type(VALUE self)
{
  xmlAttrPtr xattr;
  Data_Get_Struct(self, xmlAttr, xattr);
  return INT2NUM(xattr->type);
}
node_type_name → 'attribute declaration' click to toggle source

Returns this attribute declaration’s node type name.

# File lib/libxml/attr_decl.rb, line 63
def node_type_name
  if node_type == Node::ATTRIBUTE_DECL
    'attribute declaration'
  else
    raise(UnknownType, "Unknown node type: %n", node.node_type);
  end
end
parent → XML::Dtd click to toggle source

Obtain this attribute declaration’s parent which is an instance of a XML::DTD.

static VALUE rxml_attr_decl_parent_get(VALUE self)
{
  xmlAttributePtr xattr;
  Data_Get_Struct(self, xmlAttribute, xattr);

  if (xattr->parent == NULL)
    return Qnil;
  else
    return rxml_dtd_wrap(xattr->parent);
}
parent? → (true|false) click to toggle source

Determine whether this attribute declaration has a parent .

# File lib/libxml/attr_decl.rb, line 47
def parent?
  not self.parent.nil?
end
prev → (XML::AttrDecl | XML::ElementDecl) click to toggle source

Obtain the previous attribute declaration or the owning element declration (not implemented).

static VALUE rxml_attr_decl_prev_get(VALUE self)
{
  xmlAttributePtr xattr;
  Data_Get_Struct(self, xmlAttribute, xattr);

  if (xattr->prev == NULL)
    return Qnil;
  else
    return rxml_attr_decl_wrap((xmlAttributePtr)xattr->prev);
}
prev? → (true|false) click to toggle source

Determine whether there is a previous attribute declaration.

# File lib/libxml/attr_decl.rb, line 55
def prev?
  not self.prev.nil?
end
to_s → string click to toggle source

Returns a string representation of this attribute declaration.

# File lib/libxml/attr_decl.rb, line 75
def to_s
  "#{name} = #{value}"
end
value → "value" click to toggle source

Obtain the default value of this attribute declaration.

VALUE rxml_attr_decl_value_get(VALUE self)
{
  xmlAttributePtr xattr;

  Data_Get_Struct(self, xmlAttribute, xattr);

  if (xattr->defaultValue)
    return rxml_new_cstr(xattr->defaultValue, NULL);
  else
    return Qnil;
}