libxml-ruby 2.8.0 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/HISTORY +859 -775
- data/LICENSE +20 -20
- data/MANIFEST +166 -166
- data/README.rdoc +217 -184
- data/Rakefile +98 -78
- data/ext/libxml/extconf.rb +61 -116
- data/ext/libxml/libxml.c +80 -76
- data/ext/libxml/ruby_libxml.h +67 -75
- data/ext/libxml/ruby_xml.c +937 -893
- data/ext/libxml/ruby_xml.h +10 -10
- data/ext/libxml/ruby_xml_attr.c +333 -333
- data/ext/libxml/ruby_xml_attr.h +12 -12
- data/ext/libxml/ruby_xml_attr_decl.c +153 -153
- data/ext/libxml/ruby_xml_attr_decl.h +11 -11
- data/ext/libxml/ruby_xml_attributes.c +275 -275
- data/ext/libxml/ruby_xml_attributes.h +15 -15
- data/ext/libxml/ruby_xml_cbg.c +85 -85
- data/ext/libxml/ruby_xml_document.c +1123 -1147
- data/ext/libxml/ruby_xml_document.h +11 -11
- data/ext/libxml/ruby_xml_dtd.c +248 -268
- data/ext/libxml/ruby_xml_dtd.h +9 -9
- data/ext/libxml/ruby_xml_encoding.c +250 -260
- data/ext/libxml/ruby_xml_encoding.h +16 -19
- data/ext/libxml/ruby_xml_error.c +996 -996
- data/ext/libxml/ruby_xml_error.h +12 -12
- data/ext/libxml/ruby_xml_html_parser.c +89 -92
- data/ext/libxml/ruby_xml_html_parser.h +10 -10
- data/ext/libxml/ruby_xml_html_parser_context.c +337 -338
- data/ext/libxml/ruby_xml_html_parser_context.h +10 -10
- data/ext/libxml/ruby_xml_html_parser_options.c +46 -46
- data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
- data/ext/libxml/ruby_xml_input_cbg.c +191 -191
- data/ext/libxml/ruby_xml_input_cbg.h +20 -20
- data/ext/libxml/ruby_xml_io.c +47 -50
- data/ext/libxml/ruby_xml_io.h +10 -10
- data/ext/libxml/ruby_xml_namespace.c +154 -153
- data/ext/libxml/ruby_xml_namespace.h +10 -10
- data/ext/libxml/ruby_xml_namespaces.c +293 -293
- data/ext/libxml/ruby_xml_namespaces.h +9 -9
- data/ext/libxml/ruby_xml_node.c +1406 -1452
- data/ext/libxml/ruby_xml_node.h +13 -11
- data/ext/libxml/ruby_xml_parser.c +91 -94
- data/ext/libxml/ruby_xml_parser.h +12 -12
- data/ext/libxml/ruby_xml_parser_context.c +999 -1001
- data/ext/libxml/ruby_xml_parser_context.h +10 -10
- data/ext/libxml/ruby_xml_parser_options.c +66 -66
- data/ext/libxml/ruby_xml_parser_options.h +12 -12
- data/ext/libxml/ruby_xml_reader.c +1239 -1228
- data/ext/libxml/ruby_xml_reader.h +17 -17
- data/ext/libxml/ruby_xml_relaxng.c +110 -111
- data/ext/libxml/ruby_xml_relaxng.h +10 -10
- data/ext/libxml/ruby_xml_sax2_handler.c +326 -328
- data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
- data/ext/libxml/ruby_xml_sax_parser.c +116 -120
- data/ext/libxml/ruby_xml_sax_parser.h +10 -10
- data/ext/libxml/ruby_xml_schema.c +350 -301
- data/ext/libxml/ruby_xml_schema.h +806 -809
- data/ext/libxml/ruby_xml_schema_attribute.c +61 -109
- data/ext/libxml/ruby_xml_schema_attribute.h +15 -15
- data/ext/libxml/ruby_xml_schema_element.c +69 -94
- data/ext/libxml/ruby_xml_schema_element.h +14 -14
- data/ext/libxml/ruby_xml_schema_facet.c +46 -52
- data/ext/libxml/ruby_xml_schema_facet.h +13 -13
- data/ext/libxml/ruby_xml_schema_type.c +214 -259
- data/ext/libxml/ruby_xml_schema_type.h +9 -9
- data/ext/libxml/ruby_xml_version.h +9 -9
- data/ext/libxml/ruby_xml_writer.c +1133 -1137
- data/ext/libxml/ruby_xml_writer.h +10 -10
- data/ext/libxml/ruby_xml_xinclude.c +16 -16
- data/ext/libxml/ruby_xml_xinclude.h +11 -11
- data/ext/libxml/ruby_xml_xpath.c +194 -188
- data/ext/libxml/ruby_xml_xpath.h +13 -13
- data/ext/libxml/ruby_xml_xpath_context.c +360 -361
- data/ext/libxml/ruby_xml_xpath_context.h +9 -9
- data/ext/libxml/ruby_xml_xpath_expression.c +81 -81
- data/ext/libxml/ruby_xml_xpath_expression.h +10 -10
- data/ext/libxml/ruby_xml_xpath_object.c +338 -335
- data/ext/libxml/ruby_xml_xpath_object.h +17 -17
- data/ext/libxml/ruby_xml_xpointer.c +99 -99
- data/ext/libxml/ruby_xml_xpointer.h +11 -11
- data/ext/vc/libxml_ruby.sln +17 -15
- data/lib/libxml/node.rb +2 -78
- data/lib/libxml/parser.rb +0 -266
- data/lib/libxml/sax_parser.rb +0 -17
- data/lib/libxml/schema/attribute.rb +19 -19
- data/lib/libxml/schema/element.rb +19 -27
- data/lib/libxml/schema/type.rb +21 -29
- data/lib/libxml/schema.rb +47 -66
- data/lib/libxml-ruby.rb +30 -0
- data/lib/libxml.rb +3 -33
- data/libxml-ruby.gemspec +48 -44
- data/script/benchmark/depixelate +634 -634
- data/script/benchmark/hamlet.xml +9054 -9054
- data/script/benchmark/parsecount +170 -170
- data/script/benchmark/throughput +41 -41
- data/script/test +6 -6
- data/setup.rb +0 -1
- data/test/c14n/given/example-1.xml +14 -14
- data/test/c14n/given/example-2.xml +11 -11
- data/test/c14n/given/example-3.xml +18 -18
- data/test/c14n/given/example-4.xml +9 -9
- data/test/c14n/given/example-5.xml +12 -12
- data/test/c14n/given/example-6.xml +2 -2
- data/test/c14n/given/example-7.xml +11 -11
- data/test/c14n/given/example-8.xml +11 -11
- data/test/c14n/given/example-8.xpath +9 -9
- data/test/c14n/result/1-1-without-comments/example-1 +3 -3
- data/test/c14n/result/1-1-without-comments/example-2 +10 -10
- data/test/c14n/result/1-1-without-comments/example-3 +13 -13
- data/test/c14n/result/1-1-without-comments/example-4 +8 -8
- data/test/c14n/result/1-1-without-comments/example-5 +2 -2
- data/test/c14n/result/with-comments/example-1 +5 -5
- data/test/c14n/result/with-comments/example-2 +10 -10
- data/test/c14n/result/with-comments/example-3 +13 -13
- data/test/c14n/result/with-comments/example-4 +8 -8
- data/test/c14n/result/with-comments/example-5 +3 -3
- data/test/c14n/result/without-comments/example-1 +3 -3
- data/test/c14n/result/without-comments/example-2 +10 -10
- data/test/c14n/result/without-comments/example-3 +13 -13
- data/test/c14n/result/without-comments/example-4 +8 -8
- data/test/c14n/result/without-comments/example-5 +2 -2
- data/test/model/atom.xml +12 -12
- data/test/model/bands.iso-8859-1.xml +4 -4
- data/test/model/bands.utf-8.xml +4 -4
- data/test/model/bands.xml +4 -4
- data/test/model/books.xml +153 -153
- data/test/model/cwm_1_0.xml +11336 -0
- data/test/model/merge_bug_data.xml +58 -58
- data/test/model/ruby-lang.html +238 -238
- data/test/model/rubynet.xml +79 -79
- data/test/model/shiporder.rnc +28 -28
- data/test/model/shiporder.rng +86 -86
- data/test/model/shiporder.xml +22 -22
- data/test/model/shiporder.xsd +44 -40
- data/test/model/shiporder_bad.xsd +40 -0
- data/test/model/shiporder_import.xsd +45 -0
- data/test/model/soap.xml +27 -27
- data/test/model/xinclude.xml +4 -4
- data/test/{tc_attr.rb → test_attr.rb} +23 -25
- data/test/{tc_attr_decl.rb → test_attr_decl.rb} +13 -14
- data/test/{tc_attributes.rb → test_attributes.rb} +11 -18
- data/test/{tc_canonicalize.rb → test_canonicalize.rb} +36 -41
- data/test/test_deprecated_require.rb +12 -0
- data/test/{tc_document.rb → test_document.rb} +33 -27
- data/test/test_document_write.rb +146 -0
- data/test/{tc_dtd.rb → test_dtd.rb} +29 -29
- data/test/{tc_encoding.rb → test_encoding.rb} +129 -126
- data/test/{tc_encoding_sax.rb → test_encoding_sax.rb} +7 -6
- data/test/test_error.rb +178 -0
- data/test/test_helper.rb +4 -9
- data/test/test_html_parser.rb +162 -0
- data/test/test_html_parser_context.rb +23 -0
- data/test/test_namespace.rb +60 -0
- data/test/{tc_namespaces.rb → test_namespaces.rb} +34 -44
- data/test/{tc_node.rb → test_node.rb} +68 -47
- data/test/{tc_node_cdata.rb → test_node_cdata.rb} +12 -13
- data/test/{tc_node_comment.rb → test_node_comment.rb} +7 -8
- data/test/{tc_node_copy.rb → test_node_copy.rb} +4 -6
- data/test/{tc_node_edit.rb → test_node_edit.rb} +23 -41
- data/test/{tc_node_pi.rb → test_node_pi.rb} +37 -40
- data/test/{tc_node_text.rb → test_node_text.rb} +10 -12
- data/test/{tc_node_write.rb → test_node_write.rb} +18 -29
- data/test/test_node_xlink.rb +28 -0
- data/test/test_parser.rb +324 -0
- data/test/{tc_parser_context.rb → test_parser_context.rb} +42 -49
- data/test/{tc_properties.rb → test_properties.rb} +6 -7
- data/test/test_reader.rb +364 -0
- data/test/test_relaxng.rb +53 -0
- data/test/{tc_sax_parser.rb → test_sax_parser.rb} +44 -38
- data/test/test_schema.rb +231 -0
- data/test/test_suite.rb +38 -40
- data/test/{tc_traversal.rb → test_traversal.rb} +5 -6
- data/test/{tc_writer.rb → test_writer.rb} +468 -448
- data/test/{tc_xinclude.rb → test_xinclude.rb} +4 -5
- data/test/test_xml.rb +263 -0
- data/test/{tc_xpath.rb → test_xpath.rb} +31 -32
- data/test/{tc_xpath_context.rb → test_xpath_context.rb} +8 -9
- data/test/test_xpath_expression.rb +37 -0
- data/test/{tc_xpointer.rb → test_xpointer.rb} +16 -18
- metadata +122 -100
- data/lib/libxml/ns.rb +0 -22
- data/lib/libxml/properties.rb +0 -23
- data/lib/libxml/reader.rb +0 -29
- data/lib/libxml/xpath_object.rb +0 -16
- data/test/etc_doc_to_s.rb +0 -21
- data/test/ets_doc_file.rb +0 -17
- data/test/ets_doc_to_s.rb +0 -23
- data/test/ets_gpx.rb +0 -28
- data/test/ets_node_gc.rb +0 -23
- data/test/ets_test.xml +0 -2
- data/test/ets_tsr.rb +0 -11
- data/test/tc_deprecated_require.rb +0 -13
- data/test/tc_document_write.rb +0 -196
- data/test/tc_error.rb +0 -180
- data/test/tc_html_parser.rb +0 -153
- data/test/tc_html_parser_context.rb +0 -24
- data/test/tc_namespace.rb +0 -62
- data/test/tc_node_xlink.rb +0 -29
- data/test/tc_parser.rb +0 -381
- data/test/tc_reader.rb +0 -400
- data/test/tc_relaxng.rb +0 -54
- data/test/tc_schema.rb +0 -162
- data/test/tc_xml.rb +0 -226
- data/test/tc_xpath_expression.rb +0 -38
|
@@ -1,109 +1,61 @@
|
|
|
1
|
-
#include "ruby_libxml.h"
|
|
2
|
-
#include "ruby_xml_schema_attribute.h"
|
|
3
|
-
#include "ruby_xml_schema_type.h"
|
|
4
|
-
|
|
5
|
-
VALUE cXMLSchemaAttribute;
|
|
6
|
-
|
|
7
|
-
static void rxml_schema_attribute_free(xmlSchemaAttributeUsePtr attr)
|
|
8
|
-
{
|
|
9
|
-
attr = NULL;
|
|
10
|
-
xmlFree(attr);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
VALUE rxml_wrap_schema_attribute(xmlSchemaAttributeUsePtr attr)
|
|
14
|
-
{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
QNIL_OR_STRING(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
{
|
|
63
|
-
xmlSchemaAttributeUsePtr attr;
|
|
64
|
-
xmlSchemaTypePtr xtype;
|
|
65
|
-
|
|
66
|
-
Data_Get_Struct(self, xmlSchemaAttributeUse, attr);
|
|
67
|
-
|
|
68
|
-
xtype = attr->attrDecl->subtypes;
|
|
69
|
-
|
|
70
|
-
return rxml_wrap_schema_type((xmlSchemaTypePtr) xtype);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
static VALUE rxml_schema_attribute_node(VALUE self)
|
|
74
|
-
{
|
|
75
|
-
xmlSchemaAttributeUsePtr attr;
|
|
76
|
-
|
|
77
|
-
Data_Get_Struct(self, xmlSchemaAttributeUse, attr);
|
|
78
|
-
|
|
79
|
-
return rxml_node_wrap(attr->node);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
static VALUE rxml_schema_attribute_value(VALUE self)
|
|
83
|
-
{
|
|
84
|
-
xmlSchemaAttributeUsePtr attr;
|
|
85
|
-
|
|
86
|
-
Data_Get_Struct(self, xmlSchemaAttributeUse, attr);
|
|
87
|
-
|
|
88
|
-
QNIL_OR_STRING(attr->defValue)
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
static VALUE rxml_schema_attribute_occurs(VALUE self)
|
|
92
|
-
{
|
|
93
|
-
xmlSchemaAttributeUsePtr attr;
|
|
94
|
-
|
|
95
|
-
Data_Get_Struct(self, xmlSchemaAttributeUse, attr);
|
|
96
|
-
|
|
97
|
-
return INT2NUM(attr->occurs);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
void rxml_init_schema_attribute(void)
|
|
101
|
-
{
|
|
102
|
-
cXMLSchemaAttribute = rb_define_class_under(cXMLSchema, "Attribute", rb_cObject);
|
|
103
|
-
rb_define_method(cXMLSchemaAttribute, "namespace", rxml_schema_attribute_namespace, 0);
|
|
104
|
-
rb_define_method(cXMLSchemaAttribute, "name", rxml_schema_attribute_name, 0);
|
|
105
|
-
rb_define_method(cXMLSchemaAttribute, "type", rxml_schema_attribute_type, 0);
|
|
106
|
-
rb_define_method(cXMLSchemaAttribute, "node", rxml_schema_attribute_node, 0);
|
|
107
|
-
rb_define_method(cXMLSchemaAttribute, "value", rxml_schema_attribute_value, 0);
|
|
108
|
-
rb_define_method(cXMLSchemaAttribute, "occurs", rxml_schema_attribute_occurs, 0);
|
|
109
|
-
}
|
|
1
|
+
#include "ruby_libxml.h"
|
|
2
|
+
#include "ruby_xml_schema_attribute.h"
|
|
3
|
+
#include "ruby_xml_schema_type.h"
|
|
4
|
+
|
|
5
|
+
VALUE cXMLSchemaAttribute;
|
|
6
|
+
|
|
7
|
+
static void rxml_schema_attribute_free(xmlSchemaAttributeUsePtr attr)
|
|
8
|
+
{
|
|
9
|
+
attr = NULL;
|
|
10
|
+
xmlFree(attr);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
VALUE rxml_wrap_schema_attribute(xmlSchemaAttributeUsePtr attr)
|
|
14
|
+
{
|
|
15
|
+
VALUE result;
|
|
16
|
+
const xmlChar *tns_str, *name_str;
|
|
17
|
+
|
|
18
|
+
if (!attr)
|
|
19
|
+
rb_raise(rb_eArgError, "XML::Schema::Attribute required!");
|
|
20
|
+
|
|
21
|
+
result = Data_Wrap_Struct(cXMLSchemaAttribute, NULL, rxml_schema_attribute_free, attr);
|
|
22
|
+
|
|
23
|
+
if (attr->type == XML_SCHEMA_EXTRA_ATTR_USE_PROHIB) {
|
|
24
|
+
tns_str = ((xmlSchemaAttributeUseProhibPtr) attr)->targetNamespace;
|
|
25
|
+
name_str = ((xmlSchemaAttributeUseProhibPtr) attr)->name;
|
|
26
|
+
} else if (attr->type == XML_SCHEMA_EXTRA_QNAMEREF) {
|
|
27
|
+
tns_str = ((xmlSchemaQNameRefPtr) attr)->targetNamespace;
|
|
28
|
+
name_str = ((xmlSchemaQNameRefPtr) attr)->name;
|
|
29
|
+
} else {
|
|
30
|
+
tns_str = ((xmlSchemaAttributePtr) (attr->attrDecl))->targetNamespace;
|
|
31
|
+
name_str = ((xmlSchemaAttributePtr) (attr->attrDecl))->name;
|
|
32
|
+
}
|
|
33
|
+
rb_iv_set(result, "@target_namespace", QNIL_OR_STRING(tns_str));
|
|
34
|
+
rb_iv_set(result, "@name", QNIL_OR_STRING(name_str));
|
|
35
|
+
rb_iv_set(result, "@type", rxml_wrap_schema_type((xmlSchemaTypePtr)attr->attrDecl->subtypes));
|
|
36
|
+
rb_iv_set(result, "@value", QNIL_OR_STRING(attr->defValue));
|
|
37
|
+
rb_iv_set(result, "@occurs", INT2NUM(attr->occurs));
|
|
38
|
+
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static VALUE rxml_schema_attribute_node(VALUE self)
|
|
43
|
+
{
|
|
44
|
+
xmlSchemaAttributeUsePtr attr;
|
|
45
|
+
|
|
46
|
+
Data_Get_Struct(self, xmlSchemaAttributeUse, attr);
|
|
47
|
+
|
|
48
|
+
return rxml_node_wrap(attr->node);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
void rxml_init_schema_attribute(void)
|
|
52
|
+
{
|
|
53
|
+
cXMLSchemaAttribute = rb_define_class_under(cXMLSchema, "Attribute", rb_cObject);
|
|
54
|
+
rb_define_attr(cXMLSchemaAttribute, "name", 1, 0);
|
|
55
|
+
rb_define_attr(cXMLSchemaAttribute, "type", 1, 0);
|
|
56
|
+
rb_define_attr(cXMLSchemaAttribute, "namespace", 1, 0);
|
|
57
|
+
rb_define_attr(cXMLSchemaAttribute, "value", 1, 0);
|
|
58
|
+
rb_define_attr(cXMLSchemaAttribute, "occurs", 1, 0);
|
|
59
|
+
|
|
60
|
+
rb_define_method(cXMLSchemaAttribute, "node", rxml_schema_attribute_node, 0);
|
|
61
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
#ifndef __RXML_SCHEMA_ATTRIBUTE__
|
|
2
|
-
#define __RXML_SCHEMA_ATTRIBUTE__
|
|
3
|
-
|
|
4
|
-
#include "ruby_xml_schema.h"
|
|
5
|
-
#include <libxml/schemasInternals.h>
|
|
6
|
-
#include <libxml/xmlschemas.h>
|
|
7
|
-
#include <libxml/xmlschemastypes.h>
|
|
8
|
-
|
|
9
|
-
extern VALUE cXMLSchemaAttribute;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
void rxml_init_schema_attribute(void);
|
|
13
|
-
VALUE rxml_wrap_schema_attribute(xmlSchemaAttributeUsePtr attr);
|
|
14
|
-
|
|
15
|
-
#endif
|
|
1
|
+
#ifndef __RXML_SCHEMA_ATTRIBUTE__
|
|
2
|
+
#define __RXML_SCHEMA_ATTRIBUTE__
|
|
3
|
+
|
|
4
|
+
#include "ruby_xml_schema.h"
|
|
5
|
+
#include <libxml/schemasInternals.h>
|
|
6
|
+
#include <libxml/xmlschemas.h>
|
|
7
|
+
#include <libxml/xmlschemastypes.h>
|
|
8
|
+
|
|
9
|
+
extern VALUE cXMLSchemaAttribute;
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
void rxml_init_schema_attribute(void);
|
|
13
|
+
VALUE rxml_wrap_schema_attribute(xmlSchemaAttributeUsePtr attr);
|
|
14
|
+
|
|
15
|
+
#endif
|
|
@@ -1,94 +1,69 @@
|
|
|
1
|
-
#include "ruby_libxml.h"
|
|
2
|
-
#include "ruby_xml_schema_element.h"
|
|
3
|
-
#include "ruby_xml_schema_type.h"
|
|
4
|
-
|
|
5
|
-
VALUE cXMLSchemaElement;
|
|
6
|
-
|
|
7
|
-
static void rxml_schema_element_free(xmlSchemaElementPtr xschema_element)
|
|
8
|
-
{
|
|
9
|
-
xschema_element = NULL;
|
|
10
|
-
xmlFree(xschema_element);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
VALUE rxml_wrap_schema_element(xmlSchemaElementPtr
|
|
14
|
-
{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
QNIL_OR_STRING(xelem->targetNamespace)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
static VALUE rxml_schema_element_max_occurs(VALUE self)
|
|
73
|
-
{
|
|
74
|
-
return rb_iv_get(self, "@max");
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
static VALUE rxml_schema_element_annot(VALUE self)
|
|
78
|
-
{
|
|
79
|
-
return rb_iv_get(self, "@annotation");
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
void rxml_init_schema_element(void)
|
|
84
|
-
{
|
|
85
|
-
cXMLSchemaElement = rb_define_class_under(cXMLSchema, "Element", rb_cObject);
|
|
86
|
-
rb_define_method(cXMLSchemaElement, "namespace", rxml_schema_element_namespace, 0);
|
|
87
|
-
rb_define_method(cXMLSchemaElement, "name", rxml_schema_element_name, 0);
|
|
88
|
-
rb_define_method(cXMLSchemaElement, "type", rxml_schema_element_type, 0);
|
|
89
|
-
rb_define_method(cXMLSchemaElement, "node", rxml_schema_element_node, 0);
|
|
90
|
-
rb_define_method(cXMLSchemaElement, "value", rxml_schema_element_value, 0);
|
|
91
|
-
rb_define_method(cXMLSchemaElement, "min_occurs", rxml_schema_element_min_occurs, 0);
|
|
92
|
-
rb_define_method(cXMLSchemaElement, "max_occurs", rxml_schema_element_max_occurs, 0);
|
|
93
|
-
rb_define_method(cXMLSchemaElement, "annotation", rxml_schema_element_annot, 0);
|
|
94
|
-
}
|
|
1
|
+
#include "ruby_libxml.h"
|
|
2
|
+
#include "ruby_xml_schema_element.h"
|
|
3
|
+
#include "ruby_xml_schema_type.h"
|
|
4
|
+
|
|
5
|
+
VALUE cXMLSchemaElement;
|
|
6
|
+
|
|
7
|
+
static void rxml_schema_element_free(xmlSchemaElementPtr xschema_element)
|
|
8
|
+
{
|
|
9
|
+
xschema_element = NULL;
|
|
10
|
+
xmlFree(xschema_element);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
VALUE rxml_wrap_schema_element(xmlSchemaElementPtr xelem)
|
|
14
|
+
{
|
|
15
|
+
VALUE result;
|
|
16
|
+
|
|
17
|
+
if (!xelem)
|
|
18
|
+
rb_raise(rb_eArgError, "XML::Schema::Element is required!");
|
|
19
|
+
|
|
20
|
+
result = Data_Wrap_Struct(cXMLSchemaElement, NULL, rxml_schema_element_free, xelem);
|
|
21
|
+
|
|
22
|
+
rb_iv_set(result, "@name", QNIL_OR_STRING(xelem->name));
|
|
23
|
+
rb_iv_set(result, "@value", QNIL_OR_STRING(xelem->value));
|
|
24
|
+
rb_iv_set(result, "@namespace", QNIL_OR_STRING(xelem->targetNamespace));
|
|
25
|
+
rb_iv_set(result, "@type", rxml_wrap_schema_type((xmlSchemaTypePtr) (xelem->subtypes)));
|
|
26
|
+
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static VALUE rxml_schema_element_node(VALUE self)
|
|
31
|
+
{
|
|
32
|
+
xmlSchemaElementPtr xelem;
|
|
33
|
+
|
|
34
|
+
Data_Get_Struct(self, xmlSchemaElement, xelem);
|
|
35
|
+
|
|
36
|
+
return rxml_node_wrap(xelem->node);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static VALUE rxml_schema_element_annot(VALUE self)
|
|
40
|
+
{
|
|
41
|
+
xmlSchemaElementPtr xelem;
|
|
42
|
+
VALUE annotation = Qnil;
|
|
43
|
+
|
|
44
|
+
Data_Get_Struct(self, xmlSchemaElement, xelem);
|
|
45
|
+
|
|
46
|
+
if ((xelem->annot != NULL) && (xelem->annot->content != NULL))
|
|
47
|
+
{
|
|
48
|
+
xmlChar *content = xmlNodeGetContent(xelem->annot->content);
|
|
49
|
+
if (content)
|
|
50
|
+
{
|
|
51
|
+
annotation = rxml_new_cstr(content, NULL);
|
|
52
|
+
xmlFree(content);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return annotation;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
void rxml_init_schema_element(void)
|
|
60
|
+
{
|
|
61
|
+
cXMLSchemaElement = rb_define_class_under(cXMLSchema, "Element", rb_cObject);
|
|
62
|
+
rb_define_attr(cXMLSchemaElement, "name", 1, 0);
|
|
63
|
+
rb_define_attr(cXMLSchemaElement, "value", 1, 0);
|
|
64
|
+
rb_define_attr(cXMLSchemaElement, "namespace", 1, 0);
|
|
65
|
+
rb_define_attr(cXMLSchemaElement, "type", 1, 0);
|
|
66
|
+
|
|
67
|
+
rb_define_method(cXMLSchemaElement, "node", rxml_schema_element_node, 0);
|
|
68
|
+
rb_define_method(cXMLSchemaElement, "annotation", rxml_schema_element_annot, 0);
|
|
69
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
#ifndef __RXML_SCHEMA_ELEMENT__
|
|
2
|
-
#define __RXML_SCHEMA_ELEMENT__
|
|
3
|
-
|
|
4
|
-
#include "ruby_xml_schema.h"
|
|
5
|
-
#include <libxml/schemasInternals.h>
|
|
6
|
-
#include <libxml/xmlschemas.h>
|
|
7
|
-
#include <libxml/xmlschemastypes.h>
|
|
8
|
-
|
|
9
|
-
extern VALUE cXMLSchemaElement;
|
|
10
|
-
|
|
11
|
-
VALUE rxml_wrap_schema_element(xmlSchemaElementPtr xelement);
|
|
12
|
-
void rxml_init_schema_element(void);
|
|
13
|
-
|
|
14
|
-
#endif
|
|
1
|
+
#ifndef __RXML_SCHEMA_ELEMENT__
|
|
2
|
+
#define __RXML_SCHEMA_ELEMENT__
|
|
3
|
+
|
|
4
|
+
#include "ruby_xml_schema.h"
|
|
5
|
+
#include <libxml/schemasInternals.h>
|
|
6
|
+
#include <libxml/xmlschemas.h>
|
|
7
|
+
#include <libxml/xmlschemastypes.h>
|
|
8
|
+
|
|
9
|
+
extern VALUE cXMLSchemaElement;
|
|
10
|
+
|
|
11
|
+
VALUE rxml_wrap_schema_element(xmlSchemaElementPtr xelement);
|
|
12
|
+
void rxml_init_schema_element(void);
|
|
13
|
+
|
|
14
|
+
#endif
|
|
@@ -1,52 +1,46 @@
|
|
|
1
|
-
#include "ruby_libxml.h"
|
|
2
|
-
#include "ruby_xml_schema_facet.h"
|
|
3
|
-
|
|
4
|
-
VALUE cXMLSchemaFacet;
|
|
5
|
-
|
|
6
|
-
static void rxml_schema_facet_free(xmlSchemaFacetPtr xschema_type)
|
|
7
|
-
{
|
|
8
|
-
xschema_type = NULL;
|
|
9
|
-
xmlFree(xschema_type);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{
|
|
48
|
-
cXMLSchemaFacet = rb_define_class_under(cXMLSchema, "Facet", rb_cObject);
|
|
49
|
-
rb_define_method(cXMLSchemaFacet, "value", rxml_schema_facet_value, 0);
|
|
50
|
-
rb_define_method(cXMLSchemaFacet, "node", rxml_schema_facet_node, 0);
|
|
51
|
-
rb_define_method(cXMLSchemaFacet, "kind", rxml_schema_facet_kind, 0);
|
|
52
|
-
}
|
|
1
|
+
#include "ruby_libxml.h"
|
|
2
|
+
#include "ruby_xml_schema_facet.h"
|
|
3
|
+
|
|
4
|
+
VALUE cXMLSchemaFacet;
|
|
5
|
+
|
|
6
|
+
static void rxml_schema_facet_free(xmlSchemaFacetPtr xschema_type)
|
|
7
|
+
{
|
|
8
|
+
xschema_type = NULL;
|
|
9
|
+
xmlFree(xschema_type);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
VALUE rxml_wrap_schema_facet(xmlSchemaFacetPtr facet)
|
|
13
|
+
{
|
|
14
|
+
VALUE result;
|
|
15
|
+
|
|
16
|
+
if (!facet)
|
|
17
|
+
rb_raise(rb_eArgError, "XML::Schema::Facet required!");
|
|
18
|
+
|
|
19
|
+
result = Data_Wrap_Struct(cXMLSchemaFacet, NULL, rxml_schema_facet_free, facet);
|
|
20
|
+
|
|
21
|
+
rb_iv_set(result, "@kind", INT2NUM(facet->type));
|
|
22
|
+
rb_iv_set(result, "@value", QNIL_OR_STRING(facet->value));
|
|
23
|
+
|
|
24
|
+
return result;
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* START FACET*/
|
|
29
|
+
|
|
30
|
+
static VALUE rxml_schema_facet_node(VALUE self)
|
|
31
|
+
{
|
|
32
|
+
xmlSchemaFacetPtr facet;
|
|
33
|
+
|
|
34
|
+
Data_Get_Struct(self, xmlSchemaFacet, facet);
|
|
35
|
+
|
|
36
|
+
return rxml_node_wrap(facet->node);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
void rxml_init_schema_facet(void)
|
|
40
|
+
{
|
|
41
|
+
cXMLSchemaFacet = rb_define_class_under(cXMLSchema, "Facet", rb_cObject);
|
|
42
|
+
rb_define_attr(cXMLSchemaFacet, "kind", 1, 0);
|
|
43
|
+
rb_define_attr(cXMLSchemaFacet, "value", 1, 0);
|
|
44
|
+
|
|
45
|
+
rb_define_method(cXMLSchemaFacet, "node", rxml_schema_facet_node, 0);
|
|
46
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
#ifndef __RXML_SCHEMA_FACET__
|
|
2
|
-
#define __RXML_SCHEMA_FACET__
|
|
3
|
-
|
|
4
|
-
#include <libxml/schemasInternals.h>
|
|
5
|
-
#include <libxml/xmlschemas.h>
|
|
6
|
-
#include <libxml/xmlschemastypes.h>
|
|
7
|
-
|
|
8
|
-
extern VALUE cXMLSchemaFacet;
|
|
9
|
-
|
|
10
|
-
VALUE rxml_wrap_schema_facet(xmlSchemaFacetPtr facet);
|
|
11
|
-
void rxml_init_schema_facet(void);
|
|
12
|
-
|
|
13
|
-
#endif
|
|
1
|
+
#ifndef __RXML_SCHEMA_FACET__
|
|
2
|
+
#define __RXML_SCHEMA_FACET__
|
|
3
|
+
|
|
4
|
+
#include <libxml/schemasInternals.h>
|
|
5
|
+
#include <libxml/xmlschemas.h>
|
|
6
|
+
#include <libxml/xmlschemastypes.h>
|
|
7
|
+
|
|
8
|
+
extern VALUE cXMLSchemaFacet;
|
|
9
|
+
|
|
10
|
+
VALUE rxml_wrap_schema_facet(xmlSchemaFacetPtr facet);
|
|
11
|
+
void rxml_init_schema_facet(void);
|
|
12
|
+
|
|
13
|
+
#endif
|