ruby-xslt 0.9.3 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. data/AUTHORS +26 -26
  2. data/COPYING +340 -340
  3. data/ext/xslt_lib/extconf.h +3 -0
  4. data/{extconf.rb → ext/xslt_lib/extconf.rb} +79 -79
  5. data/{extfunc.c → ext/xslt_lib/extfunc.c} +0 -0
  6. data/{extfunc.h → ext/xslt_lib/extfunc.h} +0 -0
  7. data/{parameters.c → ext/xslt_lib/parameters.c} +0 -0
  8. data/{parameters.h → ext/xslt_lib/parameters.h} +0 -0
  9. data/{parser.c → ext/xslt_lib/parser.c} +0 -0
  10. data/{parser.h → ext/xslt_lib/parser.h} +0 -0
  11. data/{rb_utils.c → ext/xslt_lib/rb_utils.c} +0 -0
  12. data/{rb_utils.h → ext/xslt_lib/rb_utils.h} +0 -0
  13. data/{xslt.h → ext/xslt_lib/xslt.h} +2 -2
  14. data/{xslt_lib.c → ext/xslt_lib/xslt_lib.c} +0 -0
  15. data/lib/xml/xslt.rb +64 -0
  16. data/setup.rb +1585 -0
  17. data/{examples/fuzface.xsl → test/subdir/result.xsl} +3 -4
  18. data/test/subdir/test.xsl +8 -0
  19. data/{tests → test}/t.xml +0 -0
  20. data/{tests → test}/t.xsl +0 -0
  21. data/{tests → test}/test.rb +0 -0
  22. metadata +31 -53
  23. data/debug/memwatch.c +0 -2664
  24. data/debug/memwatch.h +0 -707
  25. data/examples/commentary.dtd +0 -34
  26. data/examples/functions.xsl +0 -51
  27. data/examples/fuzface.rb +0 -13
  28. data/examples/fuzface.xml +0 -154
  29. data/examples/fuzface_REXML.rb +0 -11
  30. data/examples/fuzface_XML-Simple.rb +0 -12
  31. data/examples/fuzface_data.rb +0 -13
  32. data/examples/fuzface_error.rb +0 -86
  33. data/examples/fuzface_to_s.rb +0 -9
  34. data/examples/info.rb +0 -19
  35. data/examples/ramblings.xsl +0 -46
  36. data/examples/test.xml +0 -5
  37. data/examples/test.xsl +0 -18
  38. data/examples/test_functions.rb +0 -18
  39. data/examples/test_parameters.rb +0 -13
  40. data/ruby-xslt.gemspec +0 -19
@@ -1,34 +0,0 @@
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,51 +0,0 @@
1
- <?xml version="1.0"?>
2
-
3
- <xsl:stylesheet
4
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5
- xmlns:src="http://xml.apache.org/xindice/Query"
6
- xmlns:ex="http://test.none"
7
- xsl:version="1.0">
8
- <xsl:output
9
- encoding="UTF-8"
10
- indent="yes"
11
- />
12
-
13
- <xsl:variable name="number" select="1"/>
14
- <xsl:variable name="string" select="'comment appelle-tu ça?'"/>
15
- <xsl:variable name="bool" select="true()"/>
16
- <xsl:variable name="nodes" select="nodes"/>
17
-
18
- <xsl:template match="/">
19
- <table>
20
- <tr><th>value-of</th><th>ex:type()</th><th>ex:round-trip()</th></tr>
21
- <tr>
22
- <td><xsl:value-of select="$nodes"/></td>
23
- <td><xsl:value-of select="ex:type($nodes)"/></td>
24
- <td><xsl:apply-templates select="ex:round-trip($nodes)"/></td>
25
- </tr>
26
- <xsl:call-template name="row">
27
- <xsl:with-param name="value" select="$number"/>
28
- </xsl:call-template>
29
- <xsl:call-template name="row">
30
- <xsl:with-param name="value" select="$string"/>
31
- </xsl:call-template>
32
- <xsl:call-template name="row">
33
- <xsl:with-param name="value" select="$bool"/>
34
- </xsl:call-template>
35
- </table>
36
- </xsl:template>
37
-
38
- <xsl:template name="row">
39
- <xsl:param name="value"/>
40
- <tr>
41
- <td><xsl:value-of select="$value"/></td>
42
- <td><xsl:value-of select="ex:type($value)"/></td>
43
- <td><xsl:value-of select="ex:round-trip($value)"/></td>
44
- </tr>
45
- </xsl:template>
46
-
47
- <xsl:template match="node">
48
- <xsl:value-of select="."/>(<xsl:value-of select="@number"/>)&#10;
49
- </xsl:template>
50
-
51
- </xsl:stylesheet>
data/examples/fuzface.rb DELETED
@@ -1,13 +0,0 @@
1
- #!/usr/bin/ruby -w
2
-
3
- require 'xml/xslt'
4
-
5
- xslt = XML::XSLT.new()
6
- xslt.xmlfile = "fuzface.xml"
7
- xslt.xslfile = "fuzface.xsl"
8
-
9
- out = xslt.serve()
10
- print out;
11
-
12
- out = xslt.serve()
13
- print out;
data/examples/fuzface.xml DELETED
@@ -1,154 +0,0 @@
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: 2005/11/07 07:42:28 $</date>
15
- <id>$Id: fuzface.xml,v 1.1 2005/11/07 07:42:28 greg Exp $</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,11 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- require 'rexml/document'
3
- require 'xml/xslt'
4
-
5
- xslt = XML::XSLT.new()
6
-
7
- xslt.xml = REXML::Document.new File.open( "fuzface.xml" )
8
- xslt.xsl = REXML::Document.new File.open( "fuzface.xsl" )
9
-
10
- out = xslt.serve()
11
- puts out
@@ -1,12 +0,0 @@
1
- #!/usr/bin/ruby -w
2
-
3
- require 'xml/smart'
4
- require 'xml/xslt'
5
-
6
- xslt = XML::XSLT.new()
7
-
8
- xslt.xml = XML::Smart.open( "fuzface.xml" )
9
- xslt.xsl = XML::Smart.open( "fuzface.xsl" )
10
-
11
- out = xslt.serve()
12
- puts out
@@ -1,13 +0,0 @@
1
- #!/usr/bin/ruby -w
2
-
3
- require 'xml/xslt'
4
-
5
- xslt = XML::XSLT.new()
6
- xslt.xml = IO::readlines( "fuzface.xml" ).join
7
- xslt.xsl = IO::readlines( "fuzface.xsl" ).join
8
-
9
- out = xslt.serve()
10
- print out;
11
-
12
- out = xslt.serve()
13
- print out;
@@ -1,86 +0,0 @@
1
- #!/usr/bin/ruby -w
2
-
3
- require 'xml/xslt'
4
-
5
- xslt = XML::XSLT.new()
6
-
7
- print "\n-------------------------------------------------\n"
8
- print "ERROR #1 : XML XSL inverse\n"
9
- begin
10
- xslt.xsl = IO::readlines( "fuzface.xml" ).join( )
11
- rescue => e
12
- print "Error trapped by ", e.class, " : ", e.message, "\n"
13
- p XML::XSLT::errors
14
- end
15
-
16
- begin
17
- xslt.xml = IO::readlines( "fuzface.xsl" ).join( )
18
- rescue => e
19
- print "Error trapped by ", e.class, " : ", e.message, "\n"
20
- p XML::XSLT::errors
21
- end
22
-
23
- begin
24
- out = xslt.serve()
25
- rescue => e
26
- print "Error trapped by ", e.class, " : ", e.message, "\n"
27
- p XML::XSLT::errors
28
- end
29
-
30
- print "\n-------------------------------------------------\n"
31
- print "ERROR #2 : XSL error\n"
32
- begin
33
- xslt.xml = IO::readlines( "fuzface.xml" ).join( )
34
- rescue => e
35
- print "Error trapped by ", e.class, " : ", e.message, "\n"
36
- p XML::XSLT::errors
37
- end
38
-
39
- begin
40
- xslt.xsl = "totototototot"
41
- rescue => e
42
- print "Error trapped by ", e.class, " : ", e.message, "\n"
43
- p XML::XSLT::errors
44
- end
45
-
46
- begin
47
- out = xslt.serve()
48
- rescue => e
49
- print "Error trapped by ", e.class, " : ", e.message, "\n"
50
- p XML::XSLT::errors
51
- end
52
-
53
- print "\n-------------------------------------------------\n"
54
- print "ERROR #3 : XML error\n"
55
- begin
56
- xslt.xml = "totototototot"
57
- rescue => e
58
- print "Error trapped by ", e.class, " : ", e.message, "\n"
59
- p XML::XSLT::errors
60
- end
61
-
62
- begin
63
- xslt.xsl = IO::readlines( "fuzface.xsl" ).join( )
64
- rescue => e
65
- print "Error trapped by ", e.class, " : ", e.message, "\n"
66
- p XML::XSLT::errors
67
- end
68
-
69
- begin
70
- out = xslt.serve()
71
- rescue => e
72
- print "Error trapped by ", e.class, " : ", e.message, "\n"
73
- p XML::XSLT::errors
74
- end
75
-
76
- print "\n-------------------------------------------------\n"
77
- print "SUCCESS !\n"
78
- xslt.xml = IO::readlines( "fuzface.xml" ).join( )
79
- xslt.xsl = IO::readlines( "fuzface.xsl" ).join( )
80
- begin
81
- out = xslt.serve()
82
- rescue => e
83
- print "Error trapped by ", e.class, " : ", e.message, "\n"
84
- p XML::XSLT::errors
85
- end
86
-
@@ -1,9 +0,0 @@
1
- #!/usr/bin/ruby -w
2
-
3
- require 'xml/xslt'
4
-
5
- xslt = XML::XSLT.new()
6
- xslt.xsl = "fuzface.xsl"
7
-
8
- print xslt.xsl_to_s;
9
- puts
data/examples/info.rb DELETED
@@ -1,19 +0,0 @@
1
- #!/usr/bin/ruby
2
- require "xml/xslt"
3
-
4
- print "MAX_DEPTH = ", XML::XSLT::MAX_DEPTH, "\n"
5
- print "MAX_SORT = ", XML::XSLT::MAX_SORT, "\n"
6
- print "ENGINE_VERSION = ", XML::XSLT::ENGINE_VERSION, "\n"
7
- print "LIBXSLT_VERSION = ", XML::XSLT::LIBXSLT_VERSION, "\n"
8
- print "LIBXML_VERSION = ", XML::XSLT::LIBXML_VERSION, "\n"
9
- print "XSLT_NAMESPACE = ", XML::XSLT::XSLT_NAMESPACE, "\n"
10
- print "DEFAULT_VENDOR = ", XML::XSLT::DEFAULT_VENDOR, "\n"
11
- print "DEFAULT_VERSION = ", XML::XSLT::DEFAULT_VERSION, "\n"
12
- print "DEFAULT_URL = ", XML::XSLT::DEFAULT_URL, "\n"
13
- print "NAMESPACE_LIBXSLT = ", XML::XSLT::NAMESPACE_LIBXSLT, "\n"
14
- print "NAMESPACE_NORM_SAXON = ", XML::XSLT::NAMESPACE_NORM_SAXON, "\n"
15
- print "NAMESPACE_SAXON = ", XML::XSLT::NAMESPACE_SAXON, "\n"
16
- print "NAMESPACE_XT = ", XML::XSLT::NAMESPACE_XT, "\n"
17
- print "NAMESPACE_XALAN = ", XML::XSLT::NAMESPACE_XALAN, "\n"
18
-
19
- print "RUBY_XSLT_VERSION = ", XML::XSLT::RUBY_XSLT_VERSION, "\n"
@@ -1,46 +0,0 @@
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>