libxslt-ruby 0.9.2 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- # $Id: LICENSE 33 2007-08-29 18:18:15Z transami $
2
-
3
- Copyright (c) 2002-2006 Sean Chittenden <sean@chittenden.org> and contributors
4
-
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
9
- of the Software, and to permit persons to whom the Software is furnished to do
10
- so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
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
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ # $Id$
2
+
3
+ Copyright (c) 2002-2006 Sean Chittenden <sean@chittenden.org> and contributors
4
+
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
9
+ of the Software, and to permit persons to whom the Software is furnished to do
10
+ so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
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
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README CHANGED
@@ -1,164 +1,164 @@
1
- = libxslt-ruby
2
-
3
- == Overview
4
-
5
- The libxslt gem provides Ruby language bindings for GNOME's Libxslt
6
- toolkit. It is free software, released under the MIT License.
7
-
8
-
9
- == Requirements
10
-
11
- libxslt-ruby requires Ruby 1.8.4 or higher. It is dependent on
12
- the following libraries to function properly:
13
-
14
- * libm (math routines: very standard)
15
- * libz (zlib)
16
- * libiconv
17
- * libxml2
18
- * libxslt
19
- * libxml-ruby bindings
20
-
21
- If you are running Linux or Unix you'll need a C compiler so the extension
22
- can be compiled when it is installed. If you are running Windows, then install the Windows specific RubyGem which
23
- includes an already built extension.
24
-
25
- !!!NOTE!!! The libxml-ruby and libxslt-ruby bindings must absolutely, positively,
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
28
- system, then when XML documents allocated in copy #1 are manipulated by copy #2,
29
- a segmentation fault will occur. So make sure that your system has only one copy of libxml2
30
- installed.
31
-
32
-
33
- == INSTALLATION
34
-
35
- The easiest way to install libxslt-ruby is via Ruby Gems. To install:
36
-
37
- <tt>gem install libxslt-ruby</tt>
38
-
39
- If you are running Windows, make sure to install the Win32 RubyGem which
40
- includes an already built binary file. The binary is built against
41
- libxml2 version 2.6.32, iconv version 1.11 and libxslt version 1.1.24.
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.
44
-
45
- The Windows binaries are biult with MingW. The gem also includes
46
- a Microsoft VC++ 2005 solution. If you wish to run a debug version
47
- of libxml-ruby on Windows, then it is highly recommended
48
- you use VC++.
49
-
50
-
51
- == USAGE
52
-
53
- For in-depth information about using libxslt-ruby please refer
54
- to its online Rdoc documentation.
55
-
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:
60
-
61
- require 'xslt'
62
- document = XML::Document.new
63
- stylesheett = XSLT::Stylesheet.new(document)
64
-
65
- If you prefer not to add the LibXSLT module to the global namepace, then
66
- write your code like this:
67
-
68
- require 'libxslt'
69
-
70
- class MyClass
71
- def some_method
72
- document = LibXML::XML::Document.new
73
- stylesheett = LibXSLT::XSLT::Stylesheet.new(document)
74
- end
75
- end
76
-
77
- Given an XML file like:
78
-
79
- <?xml version="1.0" encoding="UTF-8"?>
80
- <?xml-stylesheet href="fuzface.xsl" type="text/xsl"?>
81
-
82
- <commentary>
83
- <meta>
84
- <author>
85
- <first_name>Sean</first_name>
86
- <last_name>Chittenden</last_name>
87
- <email>sean@chittenden.org</email>
88
- </author>
89
- <version>$Version$</version>
90
- <date>$Date: 2008-07-21 20:44:12 -0600 (Mon, 21 Jul 2008) $</date>
91
- <id>$Id: README 109 2008-07-22 02:44:12Z cfis $</id> <title>Fuzface...</title>
92
- <subtitle>The Internet's a big place and here's some proof...</subtitle>
93
- </meta>
94
-
95
- <body>
96
- <para>
97
- I think it's a tragedy that I'm going to start off my new
98
- commentary by talking about facial hair and the Internet.
99
- Something about that just screams pathetic, but whatever: it's
100
- humor and that's life.
101
- </para>
102
- </body>
103
- </commentary>
104
-
105
- And an XSLT file like this:
106
-
107
- <?xml version="1.0" ?>
108
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
109
- <xsl:template match="/">
110
- <xsl:element name="html">
111
- <xsl:element name="head">
112
- <xsl:element name="title">Ramblings - <xsl:value-of select="commentary/meta/title" /> - <xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
113
- </xsl:element>
114
-
115
- <xsl:element name="body">
116
- <xsl:element name="h1"><xsl:value-of select="commentary/meta/title" /></xsl:element>
117
- <xsl:element name="h3"><xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
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
- Date: <xsl:value-of select="commentary/meta/date" /><xsl:element name="br" />
120
-
121
- <xsl:for-each select="./commentary/body">
122
- <xsl:apply-templates />
123
- </xsl:for-each>
124
-
125
- </xsl:element>
126
- </xsl:element>
127
- </xsl:template>
128
-
129
- <xsl:template match="para">
130
- <xsl:element name="p">
131
- <xsl:value-of select="." />
132
- </xsl:element>
133
- </xsl:template>
134
- </xsl:stylesheet>
135
-
136
- We can easily transform the XML with the following ruby code:
137
-
138
- require 'xslt'
139
-
140
- # Create a new XSL Transform
141
- stylesheet_doc = XML::Document.file('files/fuzface.xsl')
142
- stylesheet = LibXSLT::Stylesheet.new(stylesheet_doc)
143
-
144
- # Transform a xml document
145
- xml_doc = XML::Document.file('files/fuzface.xml')
146
- result = stylesheet.apply(xml_doc)
147
-
148
- You can then print, save or manipulate the returned document.
149
-
150
- == License
151
-
152
- See LICENSE for license information.
153
-
154
- == DOCUMENTATION
155
-
156
- RDoc comments are included - run 'rake doc' to generate documentation.
157
- You can find the latest documentation at:
158
-
159
- * http://libxsl.rubyforge.org/
160
-
161
- == MORE INFORMATION
162
-
163
- For more information please refer to the documentation. If you have any
1
+ = libxslt-ruby
2
+
3
+ == Overview
4
+
5
+ The libxslt gem provides Ruby language bindings for GNOME's Libxslt
6
+ toolkit. It is free software, released under the MIT License.
7
+
8
+
9
+ == Requirements
10
+
11
+ libxslt-ruby requires Ruby 1.8.4 or higher. It is dependent on
12
+ the following libraries to function properly:
13
+
14
+ * libm (math routines: very standard)
15
+ * libz (zlib)
16
+ * libiconv
17
+ * libxml2
18
+ * libxslt
19
+ * libxml-ruby bindings
20
+
21
+ If you are running Linux or Unix you'll need a C compiler so the extension
22
+ can be compiled when it is installed. If you are running Windows, then install the Windows specific RubyGem which
23
+ includes an already built extension.
24
+
25
+ !!!NOTE!!! The libxml-ruby and libxslt-ruby bindings must absolutely, positively,
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
28
+ system, then when XML documents allocated in copy #1 are manipulated by copy #2,
29
+ a segmentation fault will occur. So make sure that your system has only one copy of libxml2
30
+ installed.
31
+
32
+
33
+ == INSTALLATION
34
+
35
+ The easiest way to install libxslt-ruby is via Ruby Gems. To install:
36
+
37
+ <tt>gem install libxslt-ruby</tt>
38
+
39
+ If you are running Windows, make sure to install the Win32 RubyGem which
40
+ includes an already built binary file. The binary is built against
41
+ libxml2 version 2.6.32, iconv version 1.11 and libxslt version 1.1.24.
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.
44
+
45
+ The Windows binaries are biult with MingW. The gem also includes
46
+ a Microsoft VC++ 2005 solution. If you wish to run a debug version
47
+ of libxml-ruby on Windows, then it is highly recommended
48
+ you use VC++.
49
+
50
+
51
+ == USAGE
52
+
53
+ For in-depth information about using libxslt-ruby please refer
54
+ to its online Rdoc documentation.
55
+
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:
60
+
61
+ require 'xslt'
62
+ document = XML::Document.new
63
+ stylesheett = XSLT::Stylesheet.new(document)
64
+
65
+ If you prefer not to add the LibXSLT module to the global namepace, then
66
+ write your code like this:
67
+
68
+ require 'libxslt'
69
+
70
+ class MyClass
71
+ def some_method
72
+ document = LibXML::XML::Document.new
73
+ stylesheett = LibXSLT::XSLT::Stylesheet.new(document)
74
+ end
75
+ end
76
+
77
+ Given an XML file like:
78
+
79
+ <?xml version="1.0" encoding="UTF-8"?>
80
+ <?xml-stylesheet href="fuzface.xsl" type="text/xsl"?>
81
+
82
+ <commentary>
83
+ <meta>
84
+ <author>
85
+ <first_name>Sean</first_name>
86
+ <last_name>Chittenden</last_name>
87
+ <email>sean@chittenden.org</email>
88
+ </author>
89
+ <version>$Version$</version>
90
+ <date>$Date$</date>
91
+ <id>$Id$</id> <title>Fuzface...</title>
92
+ <subtitle>The Internet's a big place and here's some proof...</subtitle>
93
+ </meta>
94
+
95
+ <body>
96
+ <para>
97
+ I think it's a tragedy that I'm going to start off my new
98
+ commentary by talking about facial hair and the Internet.
99
+ Something about that just screams pathetic, but whatever: it's
100
+ humor and that's life.
101
+ </para>
102
+ </body>
103
+ </commentary>
104
+
105
+ And an XSLT file like this:
106
+
107
+ <?xml version="1.0" ?>
108
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
109
+ <xsl:template match="/">
110
+ <xsl:element name="html">
111
+ <xsl:element name="head">
112
+ <xsl:element name="title">Ramblings - <xsl:value-of select="commentary/meta/title" /> - <xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
113
+ </xsl:element>
114
+
115
+ <xsl:element name="body">
116
+ <xsl:element name="h1"><xsl:value-of select="commentary/meta/title" /></xsl:element>
117
+ <xsl:element name="h3"><xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
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
+ Date: <xsl:value-of select="commentary/meta/date" /><xsl:element name="br" />
120
+
121
+ <xsl:for-each select="./commentary/body">
122
+ <xsl:apply-templates />
123
+ </xsl:for-each>
124
+
125
+ </xsl:element>
126
+ </xsl:element>
127
+ </xsl:template>
128
+
129
+ <xsl:template match="para">
130
+ <xsl:element name="p">
131
+ <xsl:value-of select="." />
132
+ </xsl:element>
133
+ </xsl:template>
134
+ </xsl:stylesheet>
135
+
136
+ We can easily transform the XML with the following ruby code:
137
+
138
+ require 'xslt'
139
+
140
+ # Create a new XSL Transform
141
+ stylesheet_doc = XML::Document.file('files/fuzface.xsl')
142
+ stylesheet = LibXSLT::Stylesheet.new(stylesheet_doc)
143
+
144
+ # Transform a xml document
145
+ xml_doc = XML::Document.file('files/fuzface.xml')
146
+ result = stylesheet.apply(xml_doc)
147
+
148
+ You can then print, save or manipulate the returned document.
149
+
150
+ == License
151
+
152
+ See LICENSE for license information.
153
+
154
+ == DOCUMENTATION
155
+
156
+ RDoc comments are included - run 'rake doc' to generate documentation.
157
+ You can find the latest documentation at:
158
+
159
+ * http://libxsl.rubyforge.org/
160
+
161
+ == MORE INFORMATION
162
+
163
+ For more information please refer to the documentation. If you have any
164
164
  questions, please send email to libxml-devel@rubyforge.org.
@@ -0,0 +1,9 @@
1
+ #ifndef EXTCONF_H
2
+ #define EXTCONF_H
3
+ #define HAVE_ZLIB_H 1
4
+ #define HAVE_LIBXML_XMLVERSION_H 1
5
+ #define HAVE_XSLT_H 1
6
+ #define HAVE_EXSLT_H 1
7
+ #define HAVE_LIBXML_RUBY_LIBXML_H 1
8
+ #define HAVE_LIBXML_RUBY_XML_DOCUMENT_H 1
9
+ #endif
@@ -28,10 +28,13 @@ gem_specs = gem_specs.sort_by {|spec| spec.version}.reverse
28
28
  libxml_ruby_path = gem_specs.first.full_gem_path
29
29
 
30
30
  $INCFLAGS += " -I#{libxml_ruby_path}/ext"
31
+ $LIBPATH.push("#{libxml_ruby_path}/lib")
31
32
 
32
33
  # Directories
33
34
  dir_config('xml2')
34
35
  dir_config('xslt')
36
+ dir_config('exslt')
37
+ dir_config('libxml-ruby')
35
38
 
36
39
  unless have_library('m', 'atan')
37
40
  # try again for gcc 4.0
@@ -118,5 +121,12 @@ need headers for libxml-ruby.
118
121
  EOL
119
122
  end
120
123
 
124
+ unless (have_library('xml_ruby', 'rxml_document_wrap'))
125
+ crash(<<EOL)
126
+ need libxml-ruby
127
+ Install libxml-ruby first.
128
+ EOL
129
+ end
130
+
121
131
  create_header()
122
132
  create_makefile("libxslt_ruby")
@@ -20,6 +20,10 @@
20
20
 
21
21
  #include "version.h"
22
22
 
23
+ /*#if ((RUBY_LIBXML_VER_MAJ != RUBY_LIBXSLT_VER_MAJ) || (RUBY_LIBXML_VER_MIN != RUBY_LIBXSLT_VER_MIN))
24
+ #error "Incompatible LibXML-Ruby headers - please install same major/micro version"
25
+ #endif*/
26
+
23
27
  extern VALUE cLibXSLT;
24
28
  extern VALUE cXSLT;
25
29
  extern VALUE eXSLTError;
@@ -1,5 +1,5 @@
1
- #define RUBY_LIBXSLT_VERSION "0.9.2"
1
+ #define RUBY_LIBXSLT_VERSION "0.9.5"
2
2
  #define RUBY_LIBXSLT_VERNUM 0
3
3
  #define RUBY_LIBXSLT_VER_MAJ 0
4
4
  #define RUBY_LIBXSLT_VER_MIN 9
5
- #define RUBY_LIBXSLT_VER_MIC 2
5
+ #define RUBY_LIBXSLT_VER_MIC 5
@@ -1,34 +1,34 @@
1
- <!ELEMENT commentary (meta, body)>
2
- <!ELEMENT meta (author, version, date, id, title, subtitle?)>
3
-
4
- <!-- Metadata about the requirements -->
5
- <!ENTITY % string "#PCDATA">
6
- <!ENTITY % character "#PCDATA">
7
- <!ENTITY % letter "#PCDATA">
8
- <!ENTITY % number_att "CDATA">
9
-
10
-
11
- <!ELEMENT author (first_name, last_name, email)>
12
-
13
- <!ELEMENT first_name (%string;)>
14
- <!ELEMENT last_name (%string;)>
15
- <!ELEMENT email (%string;)>
16
-
17
- <!ELEMENT version (#PCDATA)>
18
- <!ELEMENT date (#PCDATA)>
19
- <!ELEMENT id (#PCDATA)>
20
- <!ELEMENT title (#PCDATA)>
21
- <!ELEMENT subtitle (#PCDATA)>
22
-
23
- <!ELEMENT body (para+)>
24
-
25
-
26
- <!ELEMENT para (#PCDATA|thought|url|ol)*>
27
- <!ATTLIST para
28
- style (default|ps) "default">
29
-
30
- <!ELEMENT ol (li+)>
31
- <!ELEMENT li (#PCDATA)>
32
- <!ELEMENT url (#PCDATA)>
33
- <!ELEMENT thought (#PCDATA)>
34
-
1
+ <!ELEMENT commentary (meta, body)>
2
+ <!ELEMENT meta (author, version, date, id, title, subtitle?)>
3
+
4
+ <!-- Metadata about the requirements -->
5
+ <!ENTITY % string "#PCDATA">
6
+ <!ENTITY % character "#PCDATA">
7
+ <!ENTITY % letter "#PCDATA">
8
+ <!ENTITY % number_att "CDATA">
9
+
10
+
11
+ <!ELEMENT author (first_name, last_name, email)>
12
+
13
+ <!ELEMENT first_name (%string;)>
14
+ <!ELEMENT last_name (%string;)>
15
+ <!ELEMENT email (%string;)>
16
+
17
+ <!ELEMENT version (#PCDATA)>
18
+ <!ELEMENT date (#PCDATA)>
19
+ <!ELEMENT id (#PCDATA)>
20
+ <!ELEMENT title (#PCDATA)>
21
+ <!ELEMENT subtitle (#PCDATA)>
22
+
23
+ <!ELEMENT body (para+)>
24
+
25
+
26
+ <!ELEMENT para (#PCDATA|thought|url|ol)*>
27
+ <!ATTLIST para
28
+ style (default|ps) "default">
29
+
30
+ <!ELEMENT ol (li+)>
31
+ <!ELEMENT li (#PCDATA)>
32
+ <!ELEMENT url (#PCDATA)>
33
+ <!ELEMENT thought (#PCDATA)>
34
+
@@ -1,154 +1,154 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <?xml-stylesheet href="fuzface.xsl" type="text/xsl"?>
3
-
4
- <!DOCTYPE commentary SYSTEM "commentary.dtd">
5
-
6
- <commentary>
7
- <meta>
8
- <author>
9
- <first_name>Sean</first_name>
10
- <last_name>Chittenden</last_name>
11
- <email>sean@chittenden.org</email>
12
- </author>
13
- <version>$Version$</version>
14
- <date>$Date: 2008-07-09 23:35:19 -0600 (Wed, 09 Jul 2008) $</date>
15
- <id>$Id: fuzface.xml 58 2008-07-10 05:35:19Z cfis $</id>
16
- <title>Fuzface...</title>
17
- <subtitle>The Internet's a big place and here's some proof...</subtitle>
18
- </meta>
19
-
20
- <body>
21
- <para>
22
- I think it's a tragedy that I'm going to start off my new
23
- commentary by talking about facial hair and the Internet.
24
- Something about that just screams pathetic, but whatever: it's
25
- humor and that's life.
26
- </para>
27
-
28
- <para>
29
- I've been working at home for a while now, which has been great.
30
- I've been doing a lot of reading, good work, contributing to the
31
- FreeBSD project, and living life at my own pace. The problem?
32
- I don't have to interact with people, so I've let my appearance
33
- slide a bit, most notably I've gone two weeks without shaving
34
- and I have an awful hairy face.
35
- </para>
36
-
37
- <para>
38
- Nothing is worse than going for a hard run, coming back, and
39
- then bending your head down so that the hairs under your chin
40
- touch the hairs on your neck. This has to be one of the most
41
- disgusting/gross feelings I've experienced in a while. While
42
- today wasn't the first time I'd experienced such a slimy tangled
43
- mess, it is the first time I seriously considered shaving part
44
- of my face, but not all of it: I was considering a beard.
45
- </para>
46
-
47
- <para>
48
- Alright, so it's 5pm and I'm a sweaty post-run mess (it was 110
49
- degrees in direct sunlight according to my thermometer) and
50
- considering the possibility of growing a beard. Swifty nift?
51
- Maybe. This is something I'd never done before, let alone
52
- seriously consider. Normally I'd call my dad for such manly
53
- advice, but he is: a) normally in another state, and; b) in
54
- another country right now probably growing a beard (he's
55
- notorious for coming back from a trip with a gnarly unshaven
56
- face, sometimes he'll shape it into a decent beard). So, what's
57
- a tech-junkie to do? Hop on the Internet and see if Google's
58
- able to provide me with some inspiration.
59
- </para>
60
-
61
- <para>
62
- Sure enough, I typed in "pictures of bearded men" and I was able
63
- to find something: 14,000 pages of something to be exact.
64
- Anyway, so most of these were rinky dink sites, a few of them
65
- had some promise. One guy was trying to start a tradition where
66
- everyone grows a beard for New Years. As I was scrolling down
67
- the page trying to find some pictures, my mind was having the
68
- following thought process: <thought>This seems like a dumb
69
- idea... New Years provides a perfectly good excuse to kiss some
70
- total stranger that you've had your eye on for the duration of a
71
- New Years party. Why waste such an opportunity with a crappy
72
- kiss?</thought> And at about this point I said this page sucks,
73
- and flipped back to my search results.
74
- </para>
75
-
76
- <para>
77
- Since I'd never done this before, I didn't know what was
78
- fashionably correct in terms of where a guy should shave under
79
- his neck, or what the deal was... I knew there were lots of
80
- styles out there, just none that I could picture in my mind
81
- (save maybe Santa Claus and a few really gnarly beards that are
82
- long enough to be used as full-body covering. Oooh! And don't
83
- forget the Russian and Amish beards, those stand out in my mind
84
- too.). Google, being pretty comprehensive, and the Internet
85
- being huge, found the exact screwball page I was looking for:
86
- <url>http://fuzface-gallery.tripod.com/</url>
87
- </para>
88
-
89
- <para>
90
- I don't know if I really should be amazed at the sheer number of
91
- entries that Google returned, or that the Internet is big enough
92
- to house such random gallery of crap, but it is and it never
93
- ceases to amaze me... it's almost as amazing as the fact that
94
- some bozo spent the time to create such a page. Don't people
95
- have lives? Oh wait, I just visited his page... so back to my
96
- diatribe...
97
- </para>
98
-
99
- <para>
100
- There were tons of faces, lots of men, lots of hair, and plenty
101
- of styles to choose from. Page after page of faces and hair.
102
- Ugh. This wasn't getting any where and I was now entertaining
103
- the rebound though of shaving my head. Time to close my browser
104
- and hop in the shower: I reak. So what'd I do? Well, after
105
- looking through enough of those pictures, I decided a few
106
- things:
107
- </para>
108
-
109
- <para>
110
- <ol>
111
- <li>
112
- I'm amazed that the Internet is big enough to foster the
113
- creation of such random and utterly useless information. Then
114
- again, I've been on and using the Net since '95, so this
115
- shouldn't surprise me that much.
116
- </li>
117
-
118
- <li>
119
- There are a lot of guys out there with varying tastes in,
120
- shall we say, "facial hair styles," most of which I find
121
- pretty unappealing.
122
- </li>
123
-
124
- <li>
125
- I don't like beards. After one clogged drain, two
126
- reapplications of shaving cream, and a few pases with the
127
- razor, it took me about 5-10 minutes to get a nice cleanly
128
- shaven face.
129
- </li>
130
-
131
- <li>
132
- &lt;crass comment&gt;And - back me up here fellas, you can
133
- sympathize with this feeling after you get done looking
134
- through a magazine for a hair-cut style (ladies.. just smile
135
- and nod and pretend you care) - after looking at a few dozen
136
- pictures of men, I was able to safely reaffirm my desire for
137
- heterosexual relations (translation from Bill Clintonese: have
138
- sex with a woman). And with that thought in mind, I began to
139
- pine for the college porn collection of old. Mmmm,
140
- Playboy.&lt;/crass comment&gt;
141
- </li>
142
- </ol>
143
- </para>
144
-
145
- <para>
146
- ::grin:: Until next time. -Sean
147
- </para>
148
-
149
- <para style="ps">
150
- P.S. To the guys out there with beards, this is just my
151
- opinion: take it with a grain of salt.
152
- </para>
153
- </body>
154
- </commentary>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <?xml-stylesheet href="fuzface.xsl" type="text/xsl"?>
3
+
4
+ <!DOCTYPE commentary SYSTEM "commentary.dtd">
5
+
6
+ <commentary>
7
+ <meta>
8
+ <author>
9
+ <first_name>Sean</first_name>
10
+ <last_name>Chittenden</last_name>
11
+ <email>sean@chittenden.org</email>
12
+ </author>
13
+ <version>$Version$</version>
14
+ <date>$Date$</date>
15
+ <id>$Id$</id>
16
+ <title>Fuzface...</title>
17
+ <subtitle>The Internet's a big place and here's some proof...</subtitle>
18
+ </meta>
19
+
20
+ <body>
21
+ <para>
22
+ I think it's a tragedy that I'm going to start off my new
23
+ commentary by talking about facial hair and the Internet.
24
+ Something about that just screams pathetic, but whatever: it's
25
+ humor and that's life.
26
+ </para>
27
+
28
+ <para>
29
+ I've been working at home for a while now, which has been great.
30
+ I've been doing a lot of reading, good work, contributing to the
31
+ FreeBSD project, and living life at my own pace. The problem?
32
+ I don't have to interact with people, so I've let my appearance
33
+ slide a bit, most notably I've gone two weeks without shaving
34
+ and I have an awful hairy face.
35
+ </para>
36
+
37
+ <para>
38
+ Nothing is worse than going for a hard run, coming back, and
39
+ then bending your head down so that the hairs under your chin
40
+ touch the hairs on your neck. This has to be one of the most
41
+ disgusting/gross feelings I've experienced in a while. While
42
+ today wasn't the first time I'd experienced such a slimy tangled
43
+ mess, it is the first time I seriously considered shaving part
44
+ of my face, but not all of it: I was considering a beard.
45
+ </para>
46
+
47
+ <para>
48
+ Alright, so it's 5pm and I'm a sweaty post-run mess (it was 110
49
+ degrees in direct sunlight according to my thermometer) and
50
+ considering the possibility of growing a beard. Swifty nift?
51
+ Maybe. This is something I'd never done before, let alone
52
+ seriously consider. Normally I'd call my dad for such manly
53
+ advice, but he is: a) normally in another state, and; b) in
54
+ another country right now probably growing a beard (he's
55
+ notorious for coming back from a trip with a gnarly unshaven
56
+ face, sometimes he'll shape it into a decent beard). So, what's
57
+ a tech-junkie to do? Hop on the Internet and see if Google's
58
+ able to provide me with some inspiration.
59
+ </para>
60
+
61
+ <para>
62
+ Sure enough, I typed in "pictures of bearded men" and I was able
63
+ to find something: 14,000 pages of something to be exact.
64
+ Anyway, so most of these were rinky dink sites, a few of them
65
+ had some promise. One guy was trying to start a tradition where
66
+ everyone grows a beard for New Years. As I was scrolling down
67
+ the page trying to find some pictures, my mind was having the
68
+ following thought process: <thought>This seems like a dumb
69
+ idea... New Years provides a perfectly good excuse to kiss some
70
+ total stranger that you've had your eye on for the duration of a
71
+ New Years party. Why waste such an opportunity with a crappy
72
+ kiss?</thought> And at about this point I said this page sucks,
73
+ and flipped back to my search results.
74
+ </para>
75
+
76
+ <para>
77
+ Since I'd never done this before, I didn't know what was
78
+ fashionably correct in terms of where a guy should shave under
79
+ his neck, or what the deal was... I knew there were lots of
80
+ styles out there, just none that I could picture in my mind
81
+ (save maybe Santa Claus and a few really gnarly beards that are
82
+ long enough to be used as full-body covering. Oooh! And don't
83
+ forget the Russian and Amish beards, those stand out in my mind
84
+ too.). Google, being pretty comprehensive, and the Internet
85
+ being huge, found the exact screwball page I was looking for:
86
+ <url>http://fuzface-gallery.tripod.com/</url>
87
+ </para>
88
+
89
+ <para>
90
+ I don't know if I really should be amazed at the sheer number of
91
+ entries that Google returned, or that the Internet is big enough
92
+ to house such random gallery of crap, but it is and it never
93
+ ceases to amaze me... it's almost as amazing as the fact that
94
+ some bozo spent the time to create such a page. Don't people
95
+ have lives? Oh wait, I just visited his page... so back to my
96
+ diatribe...
97
+ </para>
98
+
99
+ <para>
100
+ There were tons of faces, lots of men, lots of hair, and plenty
101
+ of styles to choose from. Page after page of faces and hair.
102
+ Ugh. This wasn't getting any where and I was now entertaining
103
+ the rebound though of shaving my head. Time to close my browser
104
+ and hop in the shower: I reak. So what'd I do? Well, after
105
+ looking through enough of those pictures, I decided a few
106
+ things:
107
+ </para>
108
+
109
+ <para>
110
+ <ol>
111
+ <li>
112
+ I'm amazed that the Internet is big enough to foster the
113
+ creation of such random and utterly useless information. Then
114
+ again, I've been on and using the Net since '95, so this
115
+ shouldn't surprise me that much.
116
+ </li>
117
+
118
+ <li>
119
+ There are a lot of guys out there with varying tastes in,
120
+ shall we say, "facial hair styles," most of which I find
121
+ pretty unappealing.
122
+ </li>
123
+
124
+ <li>
125
+ I don't like beards. After one clogged drain, two
126
+ reapplications of shaving cream, and a few pases with the
127
+ razor, it took me about 5-10 minutes to get a nice cleanly
128
+ shaven face.
129
+ </li>
130
+
131
+ <li>
132
+ &lt;crass comment&gt;And - back me up here fellas, you can
133
+ sympathize with this feeling after you get done looking
134
+ through a magazine for a hair-cut style (ladies.. just smile
135
+ and nod and pretend you care) - after looking at a few dozen
136
+ pictures of men, I was able to safely reaffirm my desire for
137
+ heterosexual relations (translation from Bill Clintonese: have
138
+ sex with a woman). And with that thought in mind, I began to
139
+ pine for the college porn collection of old. Mmmm,
140
+ Playboy.&lt;/crass comment&gt;
141
+ </li>
142
+ </ol>
143
+ </para>
144
+
145
+ <para>
146
+ ::grin:: Until next time. -Sean
147
+ </para>
148
+
149
+ <para style="ps">
150
+ P.S. To the guys out there with beards, this is just my
151
+ opinion: take it with a grain of salt.
152
+ </para>
153
+ </body>
154
+ </commentary>
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" ?>
2
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3
- <xsl:include href="ramblings.xsl" />
4
- </xsl:stylesheet>
1
+ <?xml version="1.0" ?>
2
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3
+ <xsl:include href="ramblings.xsl" />
4
+ </xsl:stylesheet>
@@ -1,46 +1,46 @@
1
- <?xml version="1.0" ?>
2
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3
- <xsl:template match="/">
4
- <xsl:element name="html">
5
- <xsl:element name="head">
6
- <xsl:element name="title">Ramblings - <xsl:value-of select="commentary/meta/title" /> - <xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
7
- </xsl:element>
8
-
9
- <xsl:element name="body">
10
- <xsl:element name="h1"><xsl:value-of select="commentary/meta/title" /></xsl:element>
11
- <xsl:element name="h3"><xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
12
- By: <xsl:value-of select="commentary/meta/author/first_name" /> <xsl:value-of select="commentary/meta/author/last_name" /><xsl:element name="br" />
13
- Date: <xsl:value-of select="commentary/meta/date" /><xsl:element name="br" />
14
-
15
- <xsl:for-each select="./commentary/body">
16
- <xsl:apply-templates />
17
- </xsl:for-each>
18
-
19
- </xsl:element>
20
- </xsl:element>
21
- </xsl:template>
22
-
23
- <xsl:template match="para">
24
- <xsl:element name="p">
25
- <xsl:apply-templates />
26
- </xsl:element>
27
- </xsl:template>
28
-
29
- <xsl:template match="ol">
30
- <xsl:element name="ol">
31
- <xsl:apply-templates select="li" />
32
- </xsl:element>
33
- </xsl:template>
34
-
35
- <xsl:template match="li">
36
- <xsl:element name="li">
37
- <xsl:value-of select="." />
38
- </xsl:element>
39
- </xsl:template>
40
-
41
- <xsl:template match="thought">
42
- <xsl:element name="i">
43
- <xsl:value-of select="." />
44
- </xsl:element>
45
- </xsl:template>
46
- </xsl:stylesheet>
1
+ <?xml version="1.0" ?>
2
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3
+ <xsl:template match="/">
4
+ <xsl:element name="html">
5
+ <xsl:element name="head">
6
+ <xsl:element name="title">Ramblings - <xsl:value-of select="commentary/meta/title" /> - <xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
7
+ </xsl:element>
8
+
9
+ <xsl:element name="body">
10
+ <xsl:element name="h1"><xsl:value-of select="commentary/meta/title" /></xsl:element>
11
+ <xsl:element name="h3"><xsl:value-of select="commentary/meta/subtitle" /></xsl:element>
12
+ By: <xsl:value-of select="commentary/meta/author/first_name" /> <xsl:value-of select="commentary/meta/author/last_name" /><xsl:element name="br" />
13
+ Date: <xsl:value-of select="commentary/meta/date" /><xsl:element name="br" />
14
+
15
+ <xsl:for-each select="./commentary/body">
16
+ <xsl:apply-templates />
17
+ </xsl:for-each>
18
+
19
+ </xsl:element>
20
+ </xsl:element>
21
+ </xsl:template>
22
+
23
+ <xsl:template match="para">
24
+ <xsl:element name="p">
25
+ <xsl:apply-templates />
26
+ </xsl:element>
27
+ </xsl:template>
28
+
29
+ <xsl:template match="ol">
30
+ <xsl:element name="ol">
31
+ <xsl:apply-templates select="li" />
32
+ </xsl:element>
33
+ </xsl:template>
34
+
35
+ <xsl:template match="li">
36
+ <xsl:element name="li">
37
+ <xsl:value-of select="." />
38
+ </xsl:element>
39
+ </xsl:template>
40
+
41
+ <xsl:template match="thought">
42
+ <xsl:element name="i">
43
+ <xsl:value-of select="." />
44
+ </xsl:element>
45
+ </xsl:template>
46
+ </xsl:stylesheet>
data/test/test_libxslt.rb CHANGED
@@ -1,21 +1,21 @@
1
- require 'xslt'
2
- require 'test/unit'
3
-
4
- class TextLibXslt < Test::Unit::TestCase
5
- def test_constants
6
- assert_instance_of(Fixnum, XSLT::MAX_DEPTH)
7
- assert_instance_of(Fixnum, XSLT::MAX_SORT)
8
- assert_instance_of(String, XSLT::ENGINE_VERSION)
9
- assert_instance_of(Fixnum, XSLT::LIBXSLT_VERSION)
10
- assert_instance_of(Fixnum, XSLT::LIBXML_VERSION)
11
- assert_instance_of(String, XSLT::XSLT_NAMESPACE)
12
- assert_instance_of(String, XSLT::DEFAULT_URL)
13
- assert_instance_of(String, XSLT::DEFAULT_VENDOR)
14
- assert_instance_of(String, XSLT::DEFAULT_VERSION)
15
- assert_instance_of(String, XSLT::NAMESPACE_LIBXSLT)
16
- assert_instance_of(String, XSLT::NAMESPACE_SAXON)
17
- assert_instance_of(String, XSLT::NAMESPACE_XT)
18
- assert_instance_of(String, XSLT::NAMESPACE_XALAN)
19
- assert_instance_of(String, XSLT::NAMESPACE_NORM_SAXON)
20
- end
21
- end
1
+ require 'xslt'
2
+ require 'test/unit'
3
+
4
+ class TextLibXslt < Test::Unit::TestCase
5
+ def test_constants
6
+ assert_instance_of(Fixnum, XSLT::MAX_DEPTH)
7
+ assert_instance_of(Fixnum, XSLT::MAX_SORT)
8
+ assert_instance_of(String, XSLT::ENGINE_VERSION)
9
+ assert_instance_of(Fixnum, XSLT::LIBXSLT_VERSION)
10
+ assert_instance_of(Fixnum, XSLT::LIBXML_VERSION)
11
+ assert_instance_of(String, XSLT::XSLT_NAMESPACE)
12
+ assert_instance_of(String, XSLT::DEFAULT_URL)
13
+ assert_instance_of(String, XSLT::DEFAULT_VENDOR)
14
+ assert_instance_of(String, XSLT::DEFAULT_VERSION)
15
+ assert_instance_of(String, XSLT::NAMESPACE_LIBXSLT)
16
+ assert_instance_of(String, XSLT::NAMESPACE_SAXON)
17
+ assert_instance_of(String, XSLT::NAMESPACE_XT)
18
+ assert_instance_of(String, XSLT::NAMESPACE_XALAN)
19
+ assert_instance_of(String, XSLT::NAMESPACE_NORM_SAXON)
20
+ end
21
+ end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libxslt-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 9
8
+ - 5
9
+ version: 0.9.5
5
10
  platform: ruby
6
11
  authors:
7
12
  - Charlie Savage
@@ -9,20 +14,24 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-04-25 00:00:00 -06:00
17
+ date: 2010-05-02 00:00:00 -06:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: libxml-ruby
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ - 9
30
+ - 4
23
31
  version: 0.9.4
24
- version:
25
- description: The Libxslt-Ruby project provides Ruby language bindings for the GNOME XSLT C library. It is free software, released under the MIT License.
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ description: " The Libxslt-Ruby project provides Ruby language bindings for the GNOME \n XSLT C library. It is free software, released under the MIT License.\n"
26
35
  email: libxml-devel@rubyforge.org
27
36
  executables: []
28
37
 
@@ -35,10 +44,10 @@ files:
35
44
  - README
36
45
  - LICENSE
37
46
  - setup.rb
38
- - lib/libxslt
39
47
  - lib/libxslt/deprecated.rb
40
48
  - lib/libxslt.rb
41
49
  - lib/xslt.rb
50
+ - ext/libxslt/extconf.h
42
51
  - ext/libxslt/libxslt.h
43
52
  - ext/libxslt/ruby_xslt_stylesheet.h
44
53
  - ext/libxslt/version.h
@@ -47,7 +56,6 @@ files:
47
56
  - ext/mingw/Rakefile
48
57
  - ext/vc/libxslt_ruby.sln
49
58
  - ext/vc/libxslt_ruby.vcproj
50
- - test/files
51
59
  - test/files/commentary.dtd
52
60
  - test/files/fuzface.xml
53
61
  - test/files/fuzface.xsl
@@ -60,6 +68,8 @@ files:
60
68
  - test/test_suite.rb
61
69
  has_rdoc: true
62
70
  homepage: http://libxslt.rubyforge.org/
71
+ licenses: []
72
+
63
73
  post_install_message:
64
74
  rdoc_options: []
65
75
 
@@ -70,20 +80,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
70
80
  requirements:
71
81
  - - ">="
72
82
  - !ruby/object:Gem::Version
83
+ segments:
84
+ - 1
85
+ - 8
86
+ - 4
73
87
  version: 1.8.4
74
- version:
75
88
  required_rubygems_version: !ruby/object:Gem::Requirement
76
89
  requirements:
77
90
  - - ">="
78
91
  - !ruby/object:Gem::Version
92
+ segments:
93
+ - 0
79
94
  version: "0"
80
- version:
81
95
  requirements: []
82
96
 
83
97
  rubyforge_project: libxslt-ruby
84
- rubygems_version: 1.3.1
98
+ rubygems_version: 1.3.6
85
99
  signing_key:
86
- specification_version: 2
100
+ specification_version: 3
87
101
  summary: Ruby libxslt bindings
88
102
  test_files: []
89
103