libxslt-ruby 0.8.0 → 0.8.2
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/README +163 -141
- data/Rakefile +129 -0
- data/doc/classes/LibXSLT.html +6 -0
- data/doc/classes/LibXSLT/XSLT.html +1 -12
- data/doc/classes/LibXSLT/XSLT/Stylesheet.html +5 -4
- data/doc/classes/LibXSLT/XSLT/TransformContext.html +6 -0
- data/doc/classes/LibXSLT/XSLTError.html +20 -0
- data/doc/classes/XSLT.html +15 -14
- data/doc/created.rid +1 -1
- data/doc/files/CHANGES.html +24 -3
- data/doc/files/LICENSE.html +2 -2
- data/doc/files/README.html +42 -9
- data/doc/files/ext/libxslt/libxslt_c.html +1 -1
- data/doc/files/ext/libxslt/ruby_xslt_stylesheet_c.html +1 -1
- data/doc/files/ext/libxslt/ruby_xslt_transform_context_c.html +1 -1
- data/doc/files/lib/libxslt/deprecated_rb.html +1 -1
- data/doc/files/lib/libxslt_rb.html +7 -1
- data/doc/files/lib/xslt_rb.html +135 -0
- data/doc/fr_file_index.html +1 -0
- data/ext/libxslt/version.h +2 -2
- data/ext/mingw/Rakefile +42 -0
- data/{vc → ext/vc}/libxslt_ruby.sln +3 -3
- data/{vc → ext/vc}/libxslt_ruby.vcproj +17 -18
- data/lib/libxslt.rb +10 -6
- data/lib/libxslt/deprecated.rb +57 -56
- data/lib/text.xml +129 -0
- data/lib/xslt.rb +15 -0
- metadata +31 -29
- data/mingw/libxslt-1.dll +0 -0
- data/mingw/libxslt_ruby.so +0 -0
@@ -130,10 +130,11 @@ href="Stylesheet.html#M000002">XSLT::Stylesheet#apply</a>
|
|
130
130
|
|
131
131
|
<div class="method-description">
|
132
132
|
<p>
|
133
|
-
Creates a
|
134
|
-
|
135
|
-
|
136
|
-
and use it
|
133
|
+
Creates a <a href="Stylesheet.html#M000001">new</a> <a
|
134
|
+
href="../XSLT.html">XSLT</a> stylesheet based on the specified document.
|
135
|
+
For memory management reasons, a copy of the specified document will be
|
136
|
+
made, so its best to create a single copy of a stylesheet and use it
|
137
|
+
multiple times.
|
137
138
|
</p>
|
138
139
|
<pre>
|
139
140
|
stylesheet_doc = XML::Document.file('stylesheet_file')
|
@@ -78,6 +78,26 @@
|
|
78
78
|
|
79
79
|
<div id="contextContent">
|
80
80
|
|
81
|
+
<div id="description">
|
82
|
+
<p>
|
83
|
+
Document-class: <a href="XSLT.html">LibXSLT::XSLT</a>
|
84
|
+
</p>
|
85
|
+
<p>
|
86
|
+
The libxslt gem provides Ruby language bindings for GNOME‘s Libxslt
|
87
|
+
toolkit. It is free software, released under the MIT License.
|
88
|
+
</p>
|
89
|
+
<p>
|
90
|
+
Using the bindings is straightforward:
|
91
|
+
</p>
|
92
|
+
<pre>
|
93
|
+
stylesheet_doc = XML::Document.file('stylesheet_file')
|
94
|
+
stylesheet = XSLT::Stylesheet.new(stylesheet_doc)
|
95
|
+
|
96
|
+
xml_doc = XML::Document.file('xml_file')
|
97
|
+
result = stylesheet.apply(xml_doc)
|
98
|
+
</pre>
|
99
|
+
|
100
|
+
</div>
|
81
101
|
|
82
102
|
|
83
103
|
</div>
|
data/doc/classes/XSLT.html
CHANGED
@@ -58,10 +58,6 @@
|
|
58
58
|
<a href="../files/ext/libxslt/libxslt_c.html">
|
59
59
|
ext/libxslt/libxslt.c
|
60
60
|
</a>
|
61
|
-
<br />
|
62
|
-
<a href="../files/lib/libxslt_rb.html">
|
63
|
-
lib/libxslt.rb
|
64
|
-
</a>
|
65
61
|
<br />
|
66
62
|
</td>
|
67
63
|
</tr>
|
@@ -78,10 +74,22 @@
|
|
78
74
|
|
79
75
|
<div id="description">
|
80
76
|
<p>
|
81
|
-
|
82
|
-
|
83
|
-
|
77
|
+
Document-class: <a href="LibXSLT/XSLT.html">LibXSLT::XSLT</a>
|
78
|
+
</p>
|
79
|
+
<p>
|
80
|
+
The libxslt gem provides Ruby language bindings for GNOME‘s Libxslt
|
81
|
+
toolkit. It is free software, released under the MIT License.
|
82
|
+
</p>
|
83
|
+
<p>
|
84
|
+
Using the bindings is straightforward:
|
84
85
|
</p>
|
86
|
+
<pre>
|
87
|
+
stylesheet_doc = XML::Document.file('stylesheet_file')
|
88
|
+
stylesheet = XSLT::Stylesheet.new(stylesheet_doc)
|
89
|
+
|
90
|
+
xml_doc = XML::Document.file('xml_file')
|
91
|
+
result = stylesheet.apply(xml_doc)
|
92
|
+
</pre>
|
85
93
|
|
86
94
|
</div>
|
87
95
|
|
@@ -93,13 +101,6 @@ of use.
|
|
93
101
|
|
94
102
|
|
95
103
|
<!-- if includes -->
|
96
|
-
<div id="includes">
|
97
|
-
<h3 class="section-bar">Included Modules</h3>
|
98
|
-
|
99
|
-
<div id="includes-list">
|
100
|
-
<span class="include-name"><a href="LibXSLT/XSLT.html">LibXSLT::XSLT</a></span>
|
101
|
-
</div>
|
102
|
-
</div>
|
103
104
|
|
104
105
|
<div id="section">
|
105
106
|
|
data/doc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Mon, 21 Jul 2008 22:26:50 -0600
|
data/doc/files/CHANGES.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Mon Jul 21 22:26:27 -0600 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -69,7 +69,28 @@
|
|
69
69
|
<div id="contextContent">
|
70
70
|
|
71
71
|
<div id="description">
|
72
|
-
<h2>0.8.
|
72
|
+
<h2>0.8.2 / 2008-07-21 Charlie Savage</h2>
|
73
|
+
<ul>
|
74
|
+
<li>To use <a href="../classes/LibXSLT.html">LibXSLT</a> you can either require
|
75
|
+
‘xslt’ or require ‘libxslt’. The differences is
|
76
|
+
that require ‘xslt’ mixes the LibXML and LIBXSLT modules into
|
77
|
+
the global namespace, thereby allowing you to write code such as:
|
78
|
+
|
79
|
+
<pre>
|
80
|
+
stylesheet = XSLT::Stylesheet.new(XML::Document.new). Note that
|
81
|
+
</pre>
|
82
|
+
<p>
|
83
|
+
this is different from 0.8.0 release and may require updating your code.
|
84
|
+
</p>
|
85
|
+
</li>
|
86
|
+
<li>Support for libxml-ruby 0.8.2
|
87
|
+
|
88
|
+
</li>
|
89
|
+
<li>Improved Windows support - libxslt-ruby should now work out of the box.
|
90
|
+
|
91
|
+
</li>
|
92
|
+
</ul>
|
93
|
+
<h2>0.8.0 / 2008-07-10 Charlie Savage</h2>
|
73
94
|
<ul>
|
74
95
|
<li>Fix memory errors when reusing a stylehseet
|
75
96
|
|
@@ -111,7 +132,7 @@
|
|
111
132
|
|
112
133
|
</li>
|
113
134
|
<li>New libxslt.rb ruby wrapper, so programs can simply say require
|
114
|
-
‘
|
135
|
+
‘xslt‘
|
115
136
|
|
116
137
|
</li>
|
117
138
|
</ul>
|
data/doc/files/LICENSE.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Sat Jul 19 17:20:44 -0600 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -73,7 +73,7 @@
|
|
73
73
|
# $Id: LICENSE 33 2007-08-29 18:18:15Z transami $
|
74
74
|
</p>
|
75
75
|
<p>
|
76
|
-
Copyright
|
76
|
+
Copyright (c) 2002-2006 Sean Chittenden <sean@chittenden.org> and
|
77
77
|
contributors
|
78
78
|
</p>
|
79
79
|
<p>
|
data/doc/files/README.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Mon Jul 21 20:44:12 -0600 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -72,7 +72,7 @@
|
|
72
72
|
<h1>libxslt-ruby</h1>
|
73
73
|
<h2>Overview</h2>
|
74
74
|
<p>
|
75
|
-
The libxslt gem provides Ruby language bindings for GNOME&#
|
75
|
+
The libxslt gem provides Ruby language bindings for GNOME‘s Libxslt
|
76
76
|
toolkit. It is free software, released under the MIT License.
|
77
77
|
</p>
|
78
78
|
<h2>Requirements</h2>
|
@@ -101,7 +101,7 @@ following libraries to function properly:
|
|
101
101
|
</li>
|
102
102
|
</ul>
|
103
103
|
<p>
|
104
|
-
If you are running Linux or Unix you&#
|
104
|
+
If you are running Linux or Unix you‘ll need a C compiler so the
|
105
105
|
extension can be compiled when it is installed. If you are running Windows,
|
106
106
|
then install the Windows specific RubyGem which includes an already built
|
107
107
|
extension.
|
@@ -124,10 +124,9 @@ The easiest way to install libxslt-ruby is via Ruby Gems. To install:
|
|
124
124
|
<p>
|
125
125
|
If you are running Windows, make sure to install the Win32 RubyGem which
|
126
126
|
includes an already built binary file. The binary is built against libxml2
|
127
|
-
version 2.6.32, iconv version 1.
|
127
|
+
version 2.6.32, iconv version 1.11 and libxslt version 1.1.24. Binaries for
|
128
128
|
libxml2 and iconv are provided in the libxml-ruby bindings, while a binary
|
129
|
-
for libxslt is provided in the libxslt-ruby bindings.
|
130
|
-
be put either in the libxslt/lib directory or on the Windows path.
|
129
|
+
for libxslt is provided in the libxslt-ruby bindings.
|
131
130
|
</p>
|
132
131
|
<p>
|
133
132
|
The Windows binaries are biult with MingW. The gem also includes a
|
@@ -136,6 +135,40 @@ libxml-ruby on Windows, then it is highly recommended you use VC++.
|
|
136
135
|
</p>
|
137
136
|
<h2>USAGE</h2>
|
138
137
|
<p>
|
138
|
+
For in-depth information about using libxslt-ruby please refer to its
|
139
|
+
online Rdoc documentation.
|
140
|
+
</p>
|
141
|
+
<p>
|
142
|
+
All libxslt classes are in the <a
|
143
|
+
href="../classes/LibXSLT/XSLT.html">LibXSLT::XSLT</a> module. The simplest
|
144
|
+
way to use libxslt is to require ‘xslt’. This will mixin the
|
145
|
+
LibXML and <a href="../classes/LibXSLT.html">LibXSLT</a> modules into the
|
146
|
+
global namespace, allowing you to write code like this:
|
147
|
+
</p>
|
148
|
+
<p>
|
149
|
+
require ‘xslt’ document = XML::Document.new stylesheett =
|
150
|
+
XSLT::Stylesheet.new(document)
|
151
|
+
</p>
|
152
|
+
<p>
|
153
|
+
If you prefer not to add the <a href="../classes/LibXSLT.html">LibXSLT</a>
|
154
|
+
module to the global namepace, then write your code like this:
|
155
|
+
</p>
|
156
|
+
<p>
|
157
|
+
require ‘libxslt‘
|
158
|
+
</p>
|
159
|
+
<p>
|
160
|
+
class MyClass
|
161
|
+
</p>
|
162
|
+
<pre>
|
163
|
+
def some_method
|
164
|
+
document = LibXML::XML::Document.new
|
165
|
+
stylesheett = LibXSLT::XSLT::Stylesheet.new(document)
|
166
|
+
end
|
167
|
+
</pre>
|
168
|
+
<p>
|
169
|
+
end
|
170
|
+
</p>
|
171
|
+
<p>
|
139
172
|
Given an XML file like:
|
140
173
|
</p>
|
141
174
|
<pre>
|
@@ -150,8 +183,8 @@ Given an XML file like:
|
|
150
183
|
<email>sean@chittenden.org</email>
|
151
184
|
</author>
|
152
185
|
<version>$Version$</version>
|
153
|
-
<date>$Date: 2008-07-
|
154
|
-
<id>$Id: README
|
186
|
+
<date>$Date: 2008-07-21 20:44:12 -0600 (Mon, 21 Jul 2008) $</date>
|
187
|
+
<id>$Id: README 109 2008-07-22 02:44:12Z cfis $</id> <title>Fuzface...</title>
|
155
188
|
<subtitle>The Internet's a big place and here's some proof...</subtitle>
|
156
189
|
</meta>
|
157
190
|
|
@@ -202,7 +235,7 @@ And an <a href="../classes/XSLT.html">XSLT</a> file like this:
|
|
202
235
|
We can easily transform the XML with the following ruby code:
|
203
236
|
</p>
|
204
237
|
<pre>
|
205
|
-
require '
|
238
|
+
require 'xslt'
|
206
239
|
|
207
240
|
# Create a new XSL Transform
|
208
241
|
stylesheet_doc = XML::Document.file('files/fuzface.xsl')
|
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Mon Jul 21 20:31:16 -0600 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -68,6 +68,12 @@
|
|
68
68
|
|
69
69
|
<div id="contextContent">
|
70
70
|
|
71
|
+
<div id="description">
|
72
|
+
<p>
|
73
|
+
First make sure libxml is loaded
|
74
|
+
</p>
|
75
|
+
|
76
|
+
</div>
|
71
77
|
|
72
78
|
<div id="requires-list">
|
73
79
|
<h3 class="section-bar">Required files</h3>
|
@@ -0,0 +1,135 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>File: xslt.rb</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="fileHeader">
|
50
|
+
<h1>xslt.rb</h1>
|
51
|
+
<table class="header-table">
|
52
|
+
<tr class="top-aligned-row">
|
53
|
+
<td><strong>Path:</strong></td>
|
54
|
+
<td>lib/xslt.rb
|
55
|
+
</td>
|
56
|
+
</tr>
|
57
|
+
<tr class="top-aligned-row">
|
58
|
+
<td><strong>Last Update:</strong></td>
|
59
|
+
<td>Mon Jul 21 20:31:26 -0600 2008</td>
|
60
|
+
</tr>
|
61
|
+
</table>
|
62
|
+
</div>
|
63
|
+
<!-- banner header -->
|
64
|
+
|
65
|
+
<div id="bodyContent">
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
<div id="contextContent">
|
70
|
+
|
71
|
+
<div id="description">
|
72
|
+
<p>
|
73
|
+
This file loads libxslt and adds the <a
|
74
|
+
href="../../classes/LibXSLT.html">LibXSLT</a> namespace to the toplevel for
|
75
|
+
conveneience. The end result
|
76
|
+
</p>
|
77
|
+
<table>
|
78
|
+
<tr><td valign="top">is to have <a href="../../classes/XSLT.html">XSLT</a>:</td><td>universally exposed.
|
79
|
+
|
80
|
+
</td></tr>
|
81
|
+
</table>
|
82
|
+
<p>
|
83
|
+
It is recommend that you only load this file for libs that do not have
|
84
|
+
their own namespace, eg. administrative scripts, personal programs, etc.
|
85
|
+
For other applications require ‘libxslt’ instead and include <a
|
86
|
+
href="../../classes/LibXSLT.html">LibXSLT</a> into your app/libs namespace.
|
87
|
+
</p>
|
88
|
+
|
89
|
+
</div>
|
90
|
+
|
91
|
+
<div id="requires-list">
|
92
|
+
<h3 class="section-bar">Required files</h3>
|
93
|
+
|
94
|
+
<div class="name-list">
|
95
|
+
libxslt
|
96
|
+
</div>
|
97
|
+
</div>
|
98
|
+
|
99
|
+
</div>
|
100
|
+
|
101
|
+
|
102
|
+
</div>
|
103
|
+
|
104
|
+
|
105
|
+
<!-- if includes -->
|
106
|
+
<div id="includes">
|
107
|
+
<h3 class="section-bar">Included Modules</h3>
|
108
|
+
|
109
|
+
<div id="includes-list">
|
110
|
+
<span class="include-name">LibXML</span>
|
111
|
+
<span class="include-name"><a href="../../classes/LibXSLT.html">LibXSLT</a></span>
|
112
|
+
</div>
|
113
|
+
</div>
|
114
|
+
|
115
|
+
<div id="section">
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
<!-- if method_list -->
|
125
|
+
|
126
|
+
|
127
|
+
</div>
|
128
|
+
|
129
|
+
|
130
|
+
<div id="validator-badges">
|
131
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
132
|
+
</div>
|
133
|
+
|
134
|
+
</body>
|
135
|
+
</html>
|