Class: LibXML::XML::AttrDecl
- Inherits:
-
Object
- Object
- LibXML::XML::AttrDecl
- Includes:
- Enumerable
- Defined in:
- ext/libxml/ruby_xml_attr_decl.c,
lib/libxml/attr_decl.rb,
ext/libxml/ruby_xml_attr_decl.c
Overview
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).
Instance Method Summary collapse
-
#child ⇒ Object
call-seq: attr_decl.child -> nil.
-
#child? ⇒ Boolean
call-seq: attr_decl.child? -> (true|false).
-
#doc ⇒ XML::Document
Returns this attribute declaration’s document.
-
#doc? ⇒ Boolean
call-seq: attr_decl.doc? -> (true|false).
-
#name ⇒ Object
Obtain this attribute declaration’s name.
-
#next ⇒ XML::AttrDecl
Obtain the next attribute declaration.
-
#next? ⇒ Boolean
call-seq: attr_decl.next? -> (true|false).
-
#type ⇒ Numeric
Obtain this attribute declaration’s type node type.
-
#node_type_name ⇒ Object
call-seq: attr_decl.node_type_name -> ‘attribute declaration’.
-
#parent ⇒ XML::Dtd
Obtain this attribute declaration’s parent which is an instance of a XML::DTD.
-
#parent? ⇒ Boolean
call-seq: attr_decl.parent? -> (true|false).
-
#prev ⇒ (XML::AttrDecl | XML::ElementDecl)
Obtain the previous attribute declaration or the owning element declration (not implemented).
-
#prev? ⇒ Boolean
call-seq: attr_decl.prev? -> (true|false).
-
#to_s ⇒ Object
call-seq: attr_decl.to_s -> string.
-
#value ⇒ Object
Obtain the default value of this attribute declaration.
Instance Method Details
#child ⇒ Object
call-seq:
attr_decl.child -> nil
Obtain this attribute declaration’s child attribute(s). It will always be nil.
13 14 15 |
# File 'lib/libxml/attr_decl.rb', line 13 def child nil end |
#child? ⇒ Boolean
call-seq:
attr_decl.child? -> (true|false)
Returns whether this attribute declaration has child attributes.
22 23 24 |
# File 'lib/libxml/attr_decl.rb', line 22 def child? not self.children.nil? end |
#doc ⇒ XML::Document
Returns this attribute declaration’s document.
39 40 41 42 43 44 45 46 47 |
# File 'ext/libxml/ruby_xml_attr_decl.c', line 39
static VALUE rxml_attr_decl_doc_get(VALUE self)
{
xmlAttributePtr xattr;
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
if (xattr->doc == NULL)
return Qnil;
else
return rxml_registry_lookup(xattr->doc);
}
|
#doc? ⇒ Boolean
call-seq:
attr_decl.doc? -> (true|false)
Determine whether this attribute declaration is associated with an XML::Document.
31 32 33 |
# File 'lib/libxml/attr_decl.rb', line 31 def doc? not self.doc.nil? end |
#name ⇒ Object
Obtain this attribute declaration’s name.
56 57 58 59 60 61 62 63 64 65 |
# File 'ext/libxml/ruby_xml_attr_decl.c', line 56
static VALUE rxml_attr_decl_name_get(VALUE self)
{
xmlAttributePtr xattr;
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
if (xattr->name == NULL)
return Qnil;
else
return rxml_new_cstr( xattr->name, xattr->doc->encoding);
}
|
#next ⇒ XML::AttrDecl
Obtain the next attribute declaration.
73 74 75 76 77 78 79 80 81 |
# File 'ext/libxml/ruby_xml_attr_decl.c', line 73
static VALUE rxml_attr_decl_next_get(VALUE self)
{
xmlAttributePtr xattr;
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
if (xattr->next == NULL)
return Qnil;
else
return rxml_attr_decl_wrap((xmlAttributePtr)xattr->next);
}
|
#next? ⇒ Boolean
call-seq:
attr_decl.next? -> (true|false)
Determine whether there is a next attribute declaration.
39 40 41 |
# File 'lib/libxml/attr_decl.rb', line 39 def next? not self.next.nil? end |
#type ⇒ Numeric
Obtain this attribute declaration’s type node type.
89 90 91 92 93 94 |
# File 'ext/libxml/ruby_xml_attr_decl.c', line 89
static VALUE rxml_attr_decl_node_type(VALUE self)
{
xmlAttributePtr xattr;
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
return INT2NUM(xattr->type);
}
|
#node_type_name ⇒ Object
call-seq:
attr_decl.node_type_name -> 'attribute declaration'
Returns this attribute declaration’s node type name.
63 64 65 66 67 68 69 |
# 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
Obtain this attribute declaration’s parent which is an instance of a XML::DTD.
103 104 105 106 107 108 109 110 111 112 |
# File 'ext/libxml/ruby_xml_attr_decl.c', line 103
static VALUE rxml_attr_decl_parent_get(VALUE self)
{
xmlAttributePtr xattr;
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
if (xattr->parent == NULL)
return Qnil;
else
return rxml_dtd_wrap(xattr->parent);
}
|
#parent? ⇒ Boolean
call-seq:
attr_decl.parent? -> (true|false)
Determine whether this attribute declaration has a parent .
47 48 49 |
# File 'lib/libxml/attr_decl.rb', line 47 def parent? not self.parent.nil? end |
#prev ⇒ (XML::AttrDecl | XML::ElementDecl)
Obtain the previous attribute declaration or the owning element declration (not implemented).
121 122 123 124 125 126 127 128 129 130 |
# File 'ext/libxml/ruby_xml_attr_decl.c', line 121
static VALUE rxml_attr_decl_prev_get(VALUE self)
{
xmlAttributePtr xattr;
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
if (xattr->prev == NULL)
return Qnil;
else
return rxml_attr_decl_wrap((xmlAttributePtr)xattr->prev);
}
|
#prev? ⇒ Boolean
call-seq:
attr_decl.prev? -> (true|false)
Determine whether there is a previous attribute declaration.
55 56 57 |
# File 'lib/libxml/attr_decl.rb', line 55 def prev? not self.prev.nil? end |
#to_s ⇒ Object
call-seq:
attr_decl.to_s -> string
Returns a string representation of this attribute declaration.
75 76 77 |
# File 'lib/libxml/attr_decl.rb', line 75 def to_s "#{name} = #{value}" end |
#value ⇒ Object
Obtain the default value of this attribute declaration.
138 139 140 141 142 143 144 145 146 147 148 |
# File 'ext/libxml/ruby_xml_attr_decl.c', line 138
VALUE rxml_attr_decl_value_get(VALUE self)
{
xmlAttributePtr xattr;
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
if (xattr->defaultValue)
return rxml_new_cstr(xattr->defaultValue, NULL);
else
return Qnil;
}
|