libxslt-ruby 1.0.1-x86-mingw32 → 1.0.2-x86-mingw32
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.
- data/CHANGES +37 -7
- data/LICENSE +7 -7
- data/{README → README.rdoc} +19 -19
- data/Rakefile +25 -9
- data/ext/libxslt/extconf.h +8 -8
- data/ext/libxslt/extconf.rb +33 -22
- data/ext/libxslt/libxslt.c +7 -8
- data/ext/libxslt/libxslt.h +10 -0
- data/ext/libxslt/ruby_exslt.c +148 -0
- data/ext/libxslt/ruby_exslt.h +8 -0
- data/ext/libxslt/ruby_xslt_stylesheet.c +37 -45
- data/ext/libxslt/ruby_xslt_stylesheet.h +0 -4
- data/ext/libxslt/version.h +2 -2
- data/lib/1.8/libxslt_ruby.so +0 -0
- data/lib/1.9/libxslt_ruby.so +0 -0
- data/lib/libxslt/deprecated.rb +2 -2
- data/lib/xslt.rb +1 -1
- data/libxslt-ruby.gemspec +9 -9
- data/setup.rb +1585 -1585
- data/test/test_deprecated.rb +16 -14
- data/test/test_exslt.rb +70 -0
- data/test/test_helper.rb +16 -12
- data/test/test_stylesheet.rb +22 -22
- data/test/test_suite.rb +2 -1
- metadata +28 -10
- data/test/text.xml +0 -134
data/CHANGES
CHANGED
@@ -1,3 +1,33 @@
|
|
1
|
+
== 1.0.2 / 2011-07-31
|
2
|
+
|
3
|
+
* Added support for extension function registration. This was adapted from
|
4
|
+
Gregoire Lejeune's ruby-xslt library at https://github.com/glejeune/ruby-xslt (Jens Willie).
|
5
|
+
|
6
|
+
* Update to work with libxml-ruby 2.1.0 and higher (Jens Willie).
|
7
|
+
|
8
|
+
* Use ENV for rake compiler task configuration (Jens Willie)
|
9
|
+
|
10
|
+
* Build fixes (Charlie Savage).
|
11
|
+
|
12
|
+
* Switch to using def files to control library exports (Charlie Savage).
|
13
|
+
|
14
|
+
|
15
|
+
== 1.0.1 / 2011-04-18 Charlie Savage
|
16
|
+
|
17
|
+
* Modernize gem - add gemspec file, use rake-compiler
|
18
|
+
|
19
|
+
* Fix Ruby 1.9.2 compile errors
|
20
|
+
|
21
|
+
* Build fixes
|
22
|
+
|
23
|
+
* Update tests scripts to make testing during development easier
|
24
|
+
|
25
|
+
|
26
|
+
== 0.9.8 / 2011-01-18 Charlie Savage
|
27
|
+
|
28
|
+
* Update build environment
|
29
|
+
|
30
|
+
|
1
31
|
== 0.9.1 / 2008-11-24 Charlie Savage
|
2
32
|
|
3
33
|
* Support libxml-ruby bindings 0.9.3 and above which has a changed
|
@@ -13,11 +43,11 @@
|
|
13
43
|
|
14
44
|
== 0.8.2 / 2008-07-21 Charlie Savage
|
15
45
|
|
16
|
-
* To use LibXSLT you can either require 'xslt' or require 'libxslt'.
|
17
|
-
The differences is that require 'xslt' mixes the LibXML and
|
18
|
-
LIBXSLT modules into the global namespace, thereby allowing
|
46
|
+
* To use LibXSLT you can either require 'xslt' or require 'libxslt'.
|
47
|
+
The differences is that require 'xslt' mixes the LibXML and
|
48
|
+
LIBXSLT modules into the global namespace, thereby allowing
|
19
49
|
you to write code such as:
|
20
|
-
stylesheet = XSLT::Stylesheet.new(XML::Document.new). Note that
|
50
|
+
stylesheet = XSLT::Stylesheet.new(XML::Document.new). Note that
|
21
51
|
this is different from 0.8.0 release and may require updating your code.
|
22
52
|
|
23
53
|
* Support for libxml-ruby 0.8.2
|
@@ -41,7 +71,7 @@
|
|
41
71
|
|
42
72
|
* Simpler api
|
43
73
|
|
44
|
-
* Compatibility layer for pre-0.7.0 versions
|
74
|
+
* Compatibility layer for pre-0.7.0 versions
|
45
75
|
|
46
76
|
* Major rewrite, resulting in significantly less code
|
47
77
|
|
@@ -54,7 +84,7 @@
|
|
54
84
|
|
55
85
|
* Windows support (both lots of memory fixes and binaries)
|
56
86
|
|
57
|
-
* New libxslt.rb ruby wrapper, so programs can simply say require 'xslt'
|
87
|
+
* New libxslt.rb ruby wrapper, so programs can simply say require 'xslt'
|
58
88
|
|
59
89
|
|
60
90
|
== 0.5.0 / 2006-02-27 Ross Bamford <rosco at roscopeco.co.uk>
|
@@ -76,6 +106,6 @@
|
|
76
106
|
|
77
107
|
== 0.3.0 / 2004-02-01 Martin Povolny <martin@solnet.cz>
|
78
108
|
|
79
|
-
* libxslt.c: added call to ruby_init_xslt_transform_context() to make it
|
109
|
+
* libxslt.c: added call to ruby_init_xslt_transform_context() to make it
|
80
110
|
work on ruby1.8
|
81
111
|
|
data/LICENSE
CHANGED
@@ -3,19 +3,19 @@
|
|
3
3
|
Copyright (c) 2002-2006 Sean Chittenden <sean@chittenden.org> and contributors
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
|
-
this software and associated documentation files (the "Software"), to deal in
|
7
|
-
the Software without restriction, including without limitation the rights to
|
8
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
7
|
+
the Software without restriction, including without limitation the rights to
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
9
9
|
of the Software, and to permit persons to whom the Software is furnished to do
|
10
10
|
so, subject to the following conditions:
|
11
11
|
|
12
12
|
The above copyright notice and this permission notice shall be included in all
|
13
13
|
copies or substantial portions of the Software.
|
14
14
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
21
|
SOFTWARE.
|
data/{README → README.rdoc}
RENAMED
@@ -8,7 +8,7 @@ toolkit. It is free software, released under the MIT License.
|
|
8
8
|
|
9
9
|
== Requirements
|
10
10
|
|
11
|
-
libxslt-ruby requires Ruby 1.8.4 or higher. It is dependent on
|
11
|
+
libxslt-ruby requires Ruby 1.8.4 or higher. It is dependent on
|
12
12
|
the following libraries to function properly:
|
13
13
|
|
14
14
|
* libm (math routines: very standard)
|
@@ -24,7 +24,7 @@ includes an already built extension.
|
|
24
24
|
|
25
25
|
!!!NOTE!!! The libxml-ruby and libxslt-ruby bindings must absolutely, positively,
|
26
26
|
without a doubt share the same libxml2 library. This is because libxslt modifies
|
27
|
-
XML documents created by libxml2. If there are two copies of libxml2 on your
|
27
|
+
XML documents created by libxml2. If there are two copies of libxml2 on your
|
28
28
|
system, then when XML documents allocated in copy #1 are manipulated by copy #2,
|
29
29
|
a segmentation fault will occur. So make sure that your system has only one copy of libxml2
|
30
30
|
installed.
|
@@ -36,13 +36,13 @@ The easiest way to install libxslt-ruby is via Ruby Gems. To install:
|
|
36
36
|
|
37
37
|
<tt>gem install libxslt-ruby</tt>
|
38
38
|
|
39
|
-
If you are running Windows, make sure to install the Win32 RubyGem which
|
39
|
+
If you are running Windows, make sure to install the Win32 RubyGem which
|
40
40
|
includes an already built binary file. The binary is built against
|
41
41
|
libxml2 version 2.6.32, iconv version 1.11 and libxslt version 1.1.24.
|
42
42
|
Binaries for libxml2 and iconv are provided in the libxml-ruby bindings,
|
43
|
-
while a binary for libxslt is provided in the libxslt-ruby bindings.
|
43
|
+
while a binary for libxslt is provided in the libxslt-ruby bindings.
|
44
44
|
|
45
|
-
The Windows binaries are biult with MingW. The gem also includes
|
45
|
+
The Windows binaries are biult with MingW. The gem also includes
|
46
46
|
a Microsoft VC++ 2005 solution. If you wish to run a debug version
|
47
47
|
of libxml-ruby on Windows, then it is highly recommended
|
48
48
|
you use VC++.
|
@@ -51,12 +51,12 @@ you use VC++.
|
|
51
51
|
== USAGE
|
52
52
|
|
53
53
|
For in-depth information about using libxslt-ruby please refer
|
54
|
-
to its online Rdoc documentation.
|
54
|
+
to its online Rdoc documentation.
|
55
55
|
|
56
56
|
All libxslt classes are in the LibXSLT::XSLT module. The simplest
|
57
|
-
way to use libxslt is to require 'xslt'. This will mixin the
|
58
|
-
LibXML and LibXSLT modules into the global namespace, allowing you to
|
59
|
-
write code like this:
|
57
|
+
way to use libxslt is to require 'xslt'. This will mixin the
|
58
|
+
LibXML and LibXSLT modules into the global namespace, allowing you to
|
59
|
+
write code like this:
|
60
60
|
|
61
61
|
require 'xslt'
|
62
62
|
document = XML::Document.new
|
@@ -78,10 +78,10 @@ Given an XML file like:
|
|
78
78
|
|
79
79
|
<?xml version="1.0" encoding="UTF-8"?>
|
80
80
|
<?xml-stylesheet href="fuzface.xsl" type="text/xsl"?>
|
81
|
-
|
81
|
+
|
82
82
|
<commentary>
|
83
83
|
<meta>
|
84
|
-
<author>
|
84
|
+
<author>
|
85
85
|
<first_name>Sean</first_name>
|
86
86
|
<last_name>Chittenden</last_name>
|
87
87
|
<email>sean@chittenden.org</email>
|
@@ -91,7 +91,7 @@ Given an XML file like:
|
|
91
91
|
<id>$Id$</id> <title>Fuzface...</title>
|
92
92
|
<subtitle>The Internet's a big place and here's some proof...</subtitle>
|
93
93
|
</meta>
|
94
|
-
|
94
|
+
|
95
95
|
<body>
|
96
96
|
<para>
|
97
97
|
I think it's a tragedy that I'm going to start off my new
|
@@ -111,21 +111,21 @@ And an XSLT file like this:
|
|
111
111
|
<xsl:element name="head">
|
112
112
|
<xsl:element name="title">Ramblings - <xsl:value-of select="commentary/meta/title" /> - <xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
|
113
113
|
</xsl:element>
|
114
|
-
|
114
|
+
|
115
115
|
<xsl:element name="body">
|
116
116
|
<xsl:element name="h1"><xsl:value-of select="commentary/meta/title" /></xsl:element>
|
117
117
|
<xsl:element name="h3"><xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
|
118
118
|
By: <xsl:value-of select="commentary/meta/author/first_name" /> <xsl:value-of select="commentary/meta/author/last_name" /><xsl:element name="br" />
|
119
119
|
Date: <xsl:value-of select="commentary/meta/date" /><xsl:element name="br" />
|
120
|
-
|
120
|
+
|
121
121
|
<xsl:for-each select="./commentary/body">
|
122
122
|
<xsl:apply-templates />
|
123
123
|
</xsl:for-each>
|
124
|
-
|
124
|
+
|
125
125
|
</xsl:element>
|
126
126
|
</xsl:element>
|
127
127
|
</xsl:template>
|
128
|
-
|
128
|
+
|
129
129
|
<xsl:template match="para">
|
130
130
|
<xsl:element name="p">
|
131
131
|
<xsl:value-of select="." />
|
@@ -136,7 +136,7 @@ And an XSLT file like this:
|
|
136
136
|
We can easily transform the XML with the following ruby code:
|
137
137
|
|
138
138
|
require 'xslt'
|
139
|
-
|
139
|
+
|
140
140
|
# Create a new XSL Transform
|
141
141
|
stylesheet_doc = XML::Document.file('files/fuzface.xsl')
|
142
142
|
stylesheet = LibXSLT::Stylesheet.new(stylesheet_doc)
|
@@ -144,7 +144,7 @@ We can easily transform the XML with the following ruby code:
|
|
144
144
|
# Transform a xml document
|
145
145
|
xml_doc = XML::Document.file('files/fuzface.xml')
|
146
146
|
result = stylesheet.apply(xml_doc)
|
147
|
-
|
147
|
+
|
148
148
|
You can then print, save or manipulate the returned document.
|
149
149
|
|
150
150
|
== License
|
@@ -161,4 +161,4 @@ You can find the latest documentation at:
|
|
161
161
|
== MORE INFORMATION
|
162
162
|
|
163
163
|
For more information please refer to the documentation. If you have any
|
164
|
-
questions, please send email to libxml-devel@rubyforge.org.
|
164
|
+
questions, please send email to libxml-devel@rubyforge.org.
|
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require "rubygems"
|
4
4
|
require "rake/extensiontask"
|
5
5
|
require "rake/testtask"
|
6
|
-
require '
|
6
|
+
require 'rdoc/task'
|
7
7
|
require "grancher/task"
|
8
8
|
require "yaml"
|
9
9
|
|
@@ -13,19 +13,33 @@ SO_NAME = "libxslt_ruby"
|
|
13
13
|
# Read the spec file
|
14
14
|
spec = Gem::Specification.load("#{GEM_NAME}.gemspec")
|
15
15
|
|
16
|
-
# Setup compile tasks
|
16
|
+
# Setup compile tasks. Configuration can be passed via EVN.
|
17
|
+
# Example:
|
18
|
+
# rake compile with_xml2_include=C:/MinGW/local/include/libxml2
|
19
|
+
# with_xslt_include=C:/MinGW/local/include/libxslt
|
20
|
+
# with_exslt_include=C:/MinGW/local/include/libexslt
|
17
21
|
Rake::ExtensionTask.new do |ext|
|
18
22
|
ext.gem_spec = spec
|
19
23
|
ext.name = SO_NAME
|
20
24
|
ext.ext_dir = "ext/libxslt"
|
21
25
|
ext.lib_dir = "lib/#{RUBY_VERSION.sub(/\.\d$/, '')}"
|
22
|
-
|
23
|
-
|
24
|
-
|
26
|
+
|
27
|
+
ENV.each do |key, val|
|
28
|
+
next unless key =~ /\Awith_(\w+)\z/i
|
29
|
+
puts key
|
30
|
+
puts val
|
31
|
+
opt = $1.downcase.tr('_', '-')
|
32
|
+
|
33
|
+
if File.directory?(path = File.expand_path(val))
|
34
|
+
ext.config_options << "--with-#{opt}=#{path}"
|
35
|
+
else
|
36
|
+
warn "No such directory: #{opt}: #{path}"
|
37
|
+
end
|
38
|
+
end
|
25
39
|
end
|
26
40
|
|
27
41
|
# Setup generic gem
|
28
|
-
|
42
|
+
Gem::PackageTask.new(spec) do |pkg|
|
29
43
|
pkg.package_dir = 'pkg'
|
30
44
|
pkg.need_tar = false
|
31
45
|
end
|
@@ -39,12 +53,13 @@ if RUBY_PLATFORM.match(/win32|mingw32/)
|
|
39
53
|
win_spec = spec.clone
|
40
54
|
win_spec.platform = Gem::Platform::CURRENT
|
41
55
|
win_spec.files += binaries.to_a
|
56
|
+
win_spec.instance_variable_set(:@cache_file, nil)
|
42
57
|
|
43
58
|
# Unset extensions
|
44
59
|
win_spec.extensions = nil
|
45
60
|
|
46
61
|
# Rake task to build the windows package
|
47
|
-
|
62
|
+
Gem::PackageTask.new(win_spec) do |pkg|
|
48
63
|
pkg.package_dir = 'pkg'
|
49
64
|
pkg.need_tar = false
|
50
65
|
end
|
@@ -52,11 +67,11 @@ end
|
|
52
67
|
|
53
68
|
# RDoc Task
|
54
69
|
desc "Generate rdoc documentation"
|
55
|
-
|
70
|
+
RDoc::Task.new("rdoc") do |rdoc|
|
56
71
|
rdoc.rdoc_dir = 'doc'
|
57
72
|
rdoc.title = "libxml-xslt"
|
58
73
|
# Show source inline with line numbers
|
59
|
-
rdoc.options << "--
|
74
|
+
rdoc.options << "--line-numbers"
|
60
75
|
# Make the readme file the start page for the generated html
|
61
76
|
rdoc.options << '--main' << 'README'
|
62
77
|
rdoc.rdoc_files.include('doc/*.rdoc',
|
@@ -70,5 +85,6 @@ end
|
|
70
85
|
# Test Task
|
71
86
|
Rake::TestTask.new do |t|
|
72
87
|
t.libs << "test"
|
88
|
+
t.test_files = FileList['test/test*.rb'].exclude('test/test_suite.rb')
|
73
89
|
t.verbose = true
|
74
90
|
end
|
data/ext/libxslt/extconf.h
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#ifndef EXTCONF_H
|
2
|
-
#define EXTCONF_H
|
3
|
-
#define
|
4
|
-
#define
|
5
|
-
#define
|
6
|
-
#define
|
7
|
-
#define
|
8
|
-
#endif
|
1
|
+
#ifndef EXTCONF_H
|
2
|
+
#define EXTCONF_H
|
3
|
+
#define HAVE_RUBY_IO_H 1
|
4
|
+
#define HAVE_ZLIB_H 1
|
5
|
+
#define HAVE_LIBXML_XMLVERSION_H 1
|
6
|
+
#define HAVE_XSLT_H 1
|
7
|
+
#define HAVE_EXSLT_H 1
|
8
|
+
#endif
|
data/ext/libxslt/extconf.rb
CHANGED
@@ -21,7 +21,9 @@ dir_config('zlib')
|
|
21
21
|
dir_config('xml2')
|
22
22
|
dir_config('xslt')
|
23
23
|
dir_config('exslt')
|
24
|
-
|
24
|
+
|
25
|
+
# Ruby 1.9 has ruby/io.h instead of rubyio.h
|
26
|
+
have_header('ruby/io.h')
|
25
27
|
|
26
28
|
# First get zlib
|
27
29
|
unless have_library('z', 'inflate') or
|
@@ -109,38 +111,47 @@ unless (have_library('exslt','exsltRegisterAll') or
|
|
109
111
|
end
|
110
112
|
|
111
113
|
# Figure out where libxml-ruby is installed
|
112
|
-
|
113
|
-
if gem_specs.empty?
|
114
|
+
unless gem_spec = Gem::Specification.find_by_name('libxml-ruby')
|
114
115
|
crash(<<-EOL)
|
115
116
|
libxml-ruby bindings must be installed
|
116
117
|
EOL
|
117
118
|
end
|
118
119
|
|
119
|
-
|
120
|
-
libxml_ruby_path = gem_specs.first.full_gem_path
|
121
|
-
|
122
|
-
$INCFLAGS += " -I#{libxml_ruby_path}/ext"
|
123
|
-
|
124
|
-
unless have_header('libxml/ruby_libxml.h')
|
120
|
+
unless find_header("ruby_libxml.h", "#{gem_spec.full_gem_path}/ext/libxml")
|
125
121
|
crash(<<-EOL)
|
126
122
|
Need headers for libxml-ruby.
|
127
123
|
EOL
|
128
124
|
end
|
129
125
|
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
126
|
+
|
127
|
+
RUBY_VERSION =~ /(\d+.\d+)/
|
128
|
+
minor_version = $1
|
129
|
+
headers = ['iconv.h', 'libxml/ruby_libxml.h']
|
130
|
+
paths = ["#{gem_spec.full_gem_path}/lib", "#{gem_spec.full_gem_path}/lib/#{minor_version}"]
|
131
|
+
|
132
|
+
unless find_library("xml_ruby", "Init_libxml_ruby", *paths) or
|
133
|
+
find_library(":libxml_ruby.so", "Init_libxml_ruby", *paths)
|
134
|
+
crash(<<-EOL)
|
135
|
+
Need libxml-ruby
|
136
|
+
Please install libxml-ruby or specify the path to the gem via:
|
137
|
+
--with-libxml-ruby=/path/to/libxml-ruby gem
|
138
|
+
EOL
|
143
139
|
end
|
144
140
|
|
141
|
+
#if RUBY_PLATFORM.match(/win32|mingw32/)
|
142
|
+
# RUBY_VERSION =~ /(\d+.\d+)/
|
143
|
+
# $LIBPATH << File.join(libxml_ruby_path, "lib")
|
144
|
+
# $LIBPATH << File.join(libxml_ruby_path, "lib", $1)
|
145
|
+
#
|
146
|
+
# headers = ['iconv.h', 'libxml/ruby_libxml.h']
|
147
|
+
# unless have_library(':libxml_ruby.so', 'Init_libxml_ruby', headers)
|
148
|
+
# crash(<<-EOL)
|
149
|
+
# Need libxml-ruby
|
150
|
+
# Please install libxml-ruby or specify the path to the gem via:
|
151
|
+
# --with-libxml-ruby=/path/to/libxml-ruby gem
|
152
|
+
#EOL
|
153
|
+
# end
|
154
|
+
#end
|
155
|
+
|
145
156
|
create_header()
|
146
157
|
create_makefile("libxslt_ruby")
|
data/ext/libxslt/libxslt.c
CHANGED
@@ -11,7 +11,7 @@ VALUE eXSLTError;
|
|
11
11
|
|
12
12
|
/*
|
13
13
|
* Document-class: LibXSLT::XSLT
|
14
|
-
*
|
14
|
+
*
|
15
15
|
* The libxslt gem provides Ruby language bindings for GNOME's Libxslt
|
16
16
|
* toolkit. It is free software, released under the MIT License.
|
17
17
|
*
|
@@ -22,26 +22,24 @@ VALUE eXSLTError;
|
|
22
22
|
*
|
23
23
|
* xml_doc = XML::Document.file('xml_file')
|
24
24
|
* result = stylesheet.apply(xml_doc)
|
25
|
-
*
|
26
25
|
*
|
27
|
-
*/
|
26
|
+
*/
|
28
27
|
|
29
28
|
#ifdef RDOC_NEVER_DEFINED
|
30
29
|
cLibXSLT = rb_define_module("XSLT");
|
31
30
|
#endif
|
32
31
|
|
33
32
|
|
34
|
-
#if defined(_WIN32)
|
35
|
-
__declspec(dllexport)
|
36
|
-
#endif
|
37
|
-
|
38
33
|
void
|
39
34
|
Init_libxslt_ruby(void) {
|
40
35
|
LIBXML_TEST_VERSION;
|
41
|
-
|
36
|
+
|
42
37
|
cLibXSLT = rb_define_module("LibXSLT");
|
43
38
|
cXSLT = rb_define_module_under(cLibXSLT, "XSLT");
|
44
39
|
|
40
|
+
cXMLDocument = rb_const_get(rb_const_get(rb_const_get(rb_cObject,
|
41
|
+
rb_intern("LibXML")), rb_intern("XML")), rb_intern("Document"));
|
42
|
+
|
45
43
|
rb_define_const(cXSLT, "MAX_DEPTH", INT2NUM(xsltMaxDepth));
|
46
44
|
rb_define_const(cXSLT, "MAX_SORT", INT2NUM(XSLT_MAX_SORT));
|
47
45
|
rb_define_const(cXSLT, "ENGINE_VERSION", rb_str_new2(xsltEngineVersion));
|
@@ -60,6 +58,7 @@ Init_libxslt_ruby(void) {
|
|
60
58
|
eXSLTError = rb_define_class_under(cLibXSLT, "XSLTError", rb_eRuntimeError);
|
61
59
|
|
62
60
|
ruby_init_xslt_stylesheet();
|
61
|
+
ruby_init_exslt();
|
63
62
|
|
64
63
|
/* Now load exslt. */
|
65
64
|
exsltRegisterAll();
|