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).
Methods
public instance
Included modules
- Enumerable
Public instance methods
Obtain this attribute declaration’s child attribute(s). It will always be nil.
# File lib/libxml/attr_decl.rb, line 13 13: def child 14: nil 15: end
Returns whether this attribute declaration has child attributes.
# File lib/libxml/attr_decl.rb, line 22 22: def child? 23: not self.children.nil? 24: end
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);
}
Determine whether this attribute declaration is associated with an XML::Document.
# File lib/libxml/attr_decl.rb, line 31 31: def doc? 32: not self.doc.nil? 33: end
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_str_new2((const char*) xattr->name, xattr->doc->encoding);
}
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);
}
Determine whether there is a next attribute declaration.
# File lib/libxml/attr_decl.rb, line 39 39: def next? 40: not self.next.nil? 41: end
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);
}
Returns this attribute declaration’s node type name.
# File lib/libxml/attr_decl.rb, line 63 63: def node_type_name 64: if node_type == Node::ATTRIBUTE_DECL 65: 'attribute declaration' 66: else 67: raise(UnknownType, "Unknown node type: %n", node.node_type); 68: end 69: end
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);
}
Determine whether this attribute declaration has a parent .
# File lib/libxml/attr_decl.rb, line 47 47: def parent? 48: not self.parent.nil? 49: end
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);
}
Determine whether there is a previous attribute declaration.
# File lib/libxml/attr_decl.rb, line 55 55: def prev? 56: not self.prev.nil? 57: end
Returns a string representation of this attribute declaration.
# File lib/libxml/attr_decl.rb, line 75 75: def to_s 76: "#{name} = #{value}" 77: end
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_str_new2((const char *)xattr->defaultValue, xattr->doc->encoding);
else
return Qnil;
}