libxml-ruby 3.2.3 → 3.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/HISTORY +5 -0
- data/ext/libxml/extconf.h +3 -0
- data/ext/libxml/ruby_libxml.h +0 -22
- data/ext/libxml/ruby_xml.c +2 -0
- data/ext/libxml/ruby_xml_document.c +6 -0
- data/ext/libxml/ruby_xml_encoding.h +2 -0
- data/ext/libxml/ruby_xml_error.h +2 -0
- data/ext/libxml/ruby_xml_html_parser.c +2 -0
- data/ext/libxml/ruby_xml_html_parser_context.c +1 -0
- data/ext/libxml/ruby_xml_html_parser_options.c +2 -0
- data/ext/libxml/ruby_xml_node.c +4 -0
- data/ext/libxml/ruby_xml_parser_context.c +2 -0
- data/ext/libxml/ruby_xml_reader.c +3 -0
- data/ext/libxml/ruby_xml_reader.h +0 -3
- data/ext/libxml/ruby_xml_relaxng.c +2 -0
- data/ext/libxml/ruby_xml_relaxng.h +0 -2
- data/ext/libxml/ruby_xml_schema.c +72 -2
- data/ext/libxml/ruby_xml_schema.h +4 -785
- data/ext/libxml/ruby_xml_schema_attribute.c +46 -0
- data/ext/libxml/ruby_xml_schema_attribute.h +25 -3
- data/ext/libxml/ruby_xml_schema_element.h +0 -3
- data/ext/libxml/ruby_xml_schema_facet.c +4 -0
- data/ext/libxml/ruby_xml_schema_facet.h +0 -4
- data/ext/libxml/ruby_xml_schema_type.c +37 -0
- data/ext/libxml/ruby_xml_version.h +3 -3
- data/ext/libxml/ruby_xml_writer.c +4 -0
- data/ext/libxml/ruby_xml_writer.h +0 -4
- data/ext/libxml/ruby_xml_xinclude.c +4 -0
- data/ext/libxml/ruby_xml_xpath.c +1 -0
- data/ext/libxml/ruby_xml_xpath.h +2 -0
- data/ext/libxml/ruby_xml_xpath_context.c +2 -0
- data/ext/libxml/ruby_xml_xpath_object.c +1 -0
- data/ext/libxml/ruby_xml_xpointer.c +5 -1
- data/lib/libxml-ruby.rb +1 -1
- data/test/test_helper.rb +4 -0
- data/test/test_xml.rb +15 -3
- metadata +4 -3
@@ -2,6 +2,52 @@
|
|
2
2
|
#include "ruby_xml_schema_attribute.h"
|
3
3
|
#include "ruby_xml_schema_type.h"
|
4
4
|
|
5
|
+
/**
|
6
|
+
* xmlSchemaBasicItem:
|
7
|
+
*
|
8
|
+
* The abstract base type for schema components.
|
9
|
+
*/
|
10
|
+
typedef struct _xmlSchemaBasicItem xmlSchemaBasicItem;
|
11
|
+
typedef xmlSchemaBasicItem *xmlSchemaBasicItemPtr;
|
12
|
+
struct _xmlSchemaBasicItem {
|
13
|
+
xmlSchemaTypeType type;
|
14
|
+
};
|
15
|
+
|
16
|
+
/**
|
17
|
+
* xmlSchemaQNameRef:
|
18
|
+
*
|
19
|
+
* A component reference item (not a schema component)
|
20
|
+
* (Extends xmlSchemaBasicItem)
|
21
|
+
*/
|
22
|
+
typedef struct _xmlSchemaQNameRef xmlSchemaQNameRef;
|
23
|
+
typedef xmlSchemaQNameRef *xmlSchemaQNameRefPtr;
|
24
|
+
struct _xmlSchemaQNameRef {
|
25
|
+
xmlSchemaTypeType type;
|
26
|
+
xmlSchemaBasicItemPtr item;
|
27
|
+
/* The resolved referenced item. */
|
28
|
+
xmlSchemaTypeType itemType;
|
29
|
+
const xmlChar *name;
|
30
|
+
const xmlChar *targetNamespace;
|
31
|
+
xmlNodePtr node;
|
32
|
+
};
|
33
|
+
|
34
|
+
/**
|
35
|
+
* xmlSchemaAttributeUseProhibPtr:
|
36
|
+
*
|
37
|
+
* A helper component to reflect attribute prohibitions.
|
38
|
+
* (Extends xmlSchemaBasicItem)
|
39
|
+
*/
|
40
|
+
typedef struct _xmlSchemaAttributeUseProhib xmlSchemaAttributeUseProhib;
|
41
|
+
typedef xmlSchemaAttributeUseProhib *xmlSchemaAttributeUseProhibPtr;
|
42
|
+
struct _xmlSchemaAttributeUseProhib {
|
43
|
+
xmlSchemaTypeType type;
|
44
|
+
/* == XML_SCHEMA_EXTRA_ATTR_USE_PROHIB */
|
45
|
+
xmlNodePtr node;
|
46
|
+
const xmlChar *name;
|
47
|
+
const xmlChar *targetNamespace;
|
48
|
+
int isRef;
|
49
|
+
};
|
50
|
+
|
5
51
|
VALUE cXMLSchemaAttribute;
|
6
52
|
|
7
53
|
static void rxml_schema_attribute_free(xmlSchemaAttributeUsePtr attr)
|
@@ -2,12 +2,34 @@
|
|
2
2
|
#define __RXML_SCHEMA_ATTRIBUTE__
|
3
3
|
|
4
4
|
#include "ruby_xml_schema.h"
|
5
|
-
#include <libxml/schemasInternals.h>
|
6
|
-
#include <libxml/xmlschemas.h>
|
7
|
-
#include <libxml/xmlschemastypes.h>
|
8
5
|
|
9
6
|
extern VALUE cXMLSchemaAttribute;
|
10
7
|
|
8
|
+
/**
|
9
|
+
* xmlSchemaAttributeUsePtr:
|
10
|
+
*
|
11
|
+
* The abstract base type for tree-like structured schema components.
|
12
|
+
* (Extends xmlSchemaTreeItem)
|
13
|
+
*/
|
14
|
+
typedef struct _xmlSchemaAttributeUse xmlSchemaAttributeUse;
|
15
|
+
typedef xmlSchemaAttributeUse *xmlSchemaAttributeUsePtr;
|
16
|
+
struct _xmlSchemaAttributeUse {
|
17
|
+
xmlSchemaTypeType type;
|
18
|
+
xmlSchemaAnnotPtr annot;
|
19
|
+
xmlSchemaAttributeUsePtr next; /* The next attr. use. */
|
20
|
+
/*
|
21
|
+
* The attr. decl. OR a QName-ref. to an attr. decl. OR
|
22
|
+
* a QName-ref. to an attribute group definition.
|
23
|
+
*/
|
24
|
+
xmlSchemaAttributePtr attrDecl;
|
25
|
+
|
26
|
+
int flags;
|
27
|
+
xmlNodePtr node;
|
28
|
+
int occurs;
|
29
|
+
/* required, optional */
|
30
|
+
const xmlChar *defValue;
|
31
|
+
xmlSchemaValPtr defVal;
|
32
|
+
};
|
11
33
|
|
12
34
|
void rxml_init_schema_attribute(void);
|
13
35
|
VALUE rxml_wrap_schema_attribute(xmlSchemaAttributeUsePtr attr);
|
@@ -1,6 +1,10 @@
|
|
1
1
|
#include "ruby_libxml.h"
|
2
2
|
#include "ruby_xml_schema_facet.h"
|
3
3
|
|
4
|
+
#include <libxml/schemasInternals.h>
|
5
|
+
#include <libxml/xmlschemas.h>
|
6
|
+
#include <libxml/xmlschemastypes.h>
|
7
|
+
|
4
8
|
VALUE cXMLSchemaFacet;
|
5
9
|
|
6
10
|
static void rxml_schema_facet_free(xmlSchemaFacetPtr xschema_type)
|
@@ -1,10 +1,6 @@
|
|
1
1
|
#ifndef __RXML_SCHEMA_FACET__
|
2
2
|
#define __RXML_SCHEMA_FACET__
|
3
3
|
|
4
|
-
#include <libxml/schemasInternals.h>
|
5
|
-
#include <libxml/xmlschemas.h>
|
6
|
-
#include <libxml/xmlschemastypes.h>
|
7
|
-
|
8
4
|
extern VALUE cXMLSchemaFacet;
|
9
5
|
|
10
6
|
VALUE rxml_wrap_schema_facet(xmlSchemaFacetPtr facet);
|
@@ -7,6 +7,43 @@
|
|
7
7
|
#define UNBOUNDED 1 << 30
|
8
8
|
#define FREE_AND_NULL(str) if ((str) != NULL) { xmlFree((xmlChar *) (str)); str = NULL; }
|
9
9
|
|
10
|
+
/**
|
11
|
+
* xmlSchemaTreeItem:
|
12
|
+
*
|
13
|
+
* The abstract base type for tree-like structured schema components.
|
14
|
+
* (Extends xmlSchemaAnnotItem)
|
15
|
+
*/
|
16
|
+
typedef struct _xmlSchemaTreeItem xmlSchemaTreeItem;
|
17
|
+
typedef xmlSchemaTreeItem *xmlSchemaTreeItemPtr;
|
18
|
+
struct _xmlSchemaTreeItem {
|
19
|
+
xmlSchemaTypeType type;
|
20
|
+
xmlSchemaAnnotPtr annot;
|
21
|
+
xmlSchemaTreeItemPtr next;
|
22
|
+
xmlSchemaTreeItemPtr children;
|
23
|
+
};
|
24
|
+
|
25
|
+
/**
|
26
|
+
* xmlSchemaParticle:
|
27
|
+
*
|
28
|
+
* A particle component.
|
29
|
+
* (Extends xmlSchemaTreeItem)
|
30
|
+
*/
|
31
|
+
typedef struct _xmlSchemaParticle xmlSchemaParticle;
|
32
|
+
typedef xmlSchemaParticle *xmlSchemaParticlePtr;
|
33
|
+
struct _xmlSchemaParticle {
|
34
|
+
xmlSchemaTypeType type;
|
35
|
+
xmlSchemaAnnotPtr annot;
|
36
|
+
xmlSchemaTreeItemPtr next;
|
37
|
+
/* next particle */
|
38
|
+
xmlSchemaTreeItemPtr children;
|
39
|
+
/* the "term" (e.g. a model group,
|
40
|
+
a group definition, a XML_SCHEMA_EXTRA_QNAMEREF (if a reference),
|
41
|
+
etc.) */
|
42
|
+
int minOccurs;
|
43
|
+
int maxOccurs;
|
44
|
+
xmlNodePtr node;
|
45
|
+
};
|
46
|
+
|
10
47
|
VALUE cXMLSchemaType;
|
11
48
|
|
12
49
|
static void rxml_schema_type_free(xmlSchemaTypePtr xschema_type)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
/* Don't nuke this block! It is used for automatically updating the
|
2
2
|
* versions below. VERSION = string formatting, VERNUM = numbered
|
3
3
|
* version for inline testing: increment both or none at all.*/
|
4
|
-
#define RUBY_LIBXML_VERSION "3.2.
|
5
|
-
#define RUBY_LIBXML_VERNUM
|
4
|
+
#define RUBY_LIBXML_VERSION "3.2.4"
|
5
|
+
#define RUBY_LIBXML_VERNUM 324
|
6
6
|
#define RUBY_LIBXML_VER_MAJ 3
|
7
7
|
#define RUBY_LIBXML_VER_MIN 2
|
8
|
-
#define RUBY_LIBXML_VER_MIC
|
8
|
+
#define RUBY_LIBXML_VER_MIC 4
|
9
9
|
#define RUBY_LIBXML_VER_PATCH 0
|
data/ext/libxml/ruby_xml_xpath.c
CHANGED
data/ext/libxml/ruby_xml_xpath.h
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
#include "ruby_libxml.h"
|
4
4
|
#include "ruby_xml_xpointer.h"
|
5
5
|
|
6
|
+
#ifdef LIBXML_XPTR_ENABLED
|
7
|
+
#include <libxml/xpointer.h>
|
8
|
+
#endif
|
9
|
+
|
6
10
|
VALUE cXMLXPointer;
|
7
11
|
|
8
12
|
/*
|
@@ -62,7 +66,7 @@ VALUE rxml_xpointer_point2(VALUE node, VALUE xptr_str)
|
|
62
66
|
*/
|
63
67
|
static VALUE rxml_xpointer_range(VALUE class, VALUE rstart, VALUE rend)
|
64
68
|
{
|
65
|
-
#
|
69
|
+
#if defined LIBXML_XPTR_ENABLED && defined LIBXML_XPTR_LOCS_ENABLED
|
66
70
|
xmlNodePtr start, end;
|
67
71
|
VALUE rxxp;
|
68
72
|
xmlXPathObjectPtr xpath;
|
data/lib/libxml-ruby.rb
CHANGED
data/test/test_helper.rb
CHANGED
data/test/test_xml.rb
CHANGED
@@ -167,11 +167,19 @@ class TestXml < Minitest::Test
|
|
167
167
|
end
|
168
168
|
|
169
169
|
def test_enabled_docbook
|
170
|
-
|
170
|
+
if windows?
|
171
|
+
refute(LibXML::XML.enabled_docbook?)
|
172
|
+
else
|
173
|
+
assert(LibXML::XML.enabled_docbook?)
|
174
|
+
end
|
171
175
|
end
|
172
176
|
|
173
177
|
def test_enabled_ftp
|
174
|
-
|
178
|
+
if windows?
|
179
|
+
refute(LibXML::XML.enabled_ftp?)
|
180
|
+
else
|
181
|
+
assert(LibXML::XML.enabled_ftp?)
|
182
|
+
end
|
175
183
|
end
|
176
184
|
|
177
185
|
def test_enabled_http
|
@@ -242,7 +250,11 @@ class TestXml < Minitest::Test
|
|
242
250
|
end
|
243
251
|
|
244
252
|
def test_libxml_parser_features
|
245
|
-
|
253
|
+
if windows?
|
254
|
+
assert_nil(LibXML::XML.features)
|
255
|
+
else
|
256
|
+
assert_instance_of(Array, LibXML::XML.features)
|
257
|
+
end
|
246
258
|
end
|
247
259
|
|
248
260
|
def test_default_options
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libxml-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ross Bamform
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2022-
|
17
|
+
date: 2022-10-29 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: rake-compiler
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- MANIFEST
|
62
62
|
- README.rdoc
|
63
63
|
- Rakefile
|
64
|
+
- ext/libxml/extconf.h
|
64
65
|
- ext/libxml/extconf.rb
|
65
66
|
- ext/libxml/libxml.c
|
66
67
|
- ext/libxml/libxml_ruby.def
|
@@ -279,7 +280,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
279
280
|
- !ruby/object:Gem::Version
|
280
281
|
version: '0'
|
281
282
|
requirements: []
|
282
|
-
rubygems_version: 3.3.
|
283
|
+
rubygems_version: 3.3.14
|
283
284
|
signing_key:
|
284
285
|
specification_version: 4
|
285
286
|
summary: Ruby Bindings for LibXML2
|