From 132b75e58dba4c93278721d60f177cfbee7d0e46 Mon Sep 17 00:00:00 2001 From: murphy Date: Tue, 4 Apr 2006 13:23:02 +0000 Subject: Added HTML scanner! Added test/html/suite.rb and tolkien.in.html test. Benchmark produces inline line numbers now. Minor changes to Ruby and C scanners. Rakefile: unit tests now in -d mode. --- Rakefile | 2 +- bench/bench.rb | 2 +- lib/coderay/scanners/_map.rb | 4 +- lib/coderay/scanners/c.rb | 10 +- lib/coderay/scanners/html.rb | 148 +++++++++++ lib/coderay/scanners/ruby.rb | 4 +- lib/coderay/scanners/ruby/patterns.rb | 9 +- test/html/suite.rb | 9 + test/html/tolkien.html | 456 ++++++++++++++++++++++++++++++++++ test/html/tolkien.in.html | 169 +++++++++++++ test/html/tolkien.out.raydebug | 169 +++++++++++++ 11 files changed, 969 insertions(+), 13 deletions(-) create mode 100644 lib/coderay/scanners/html.rb create mode 100644 test/html/suite.rb create mode 100644 test/html/tolkien.html create mode 100644 test/html/tolkien.in.html create mode 100644 test/html/tolkien.out.raydebug diff --git a/Rakefile b/Rakefile index 2de87a4..07baa5a 100644 --- a/Rakefile +++ b/Rakefile @@ -57,7 +57,7 @@ end desc 'Test CodeRay' task :test do - system 'ruby -w ./test/suite.rb' + system 'ruby -wd ./test/suite.rb' end desc 'Test CodeRay Demos with Fox' diff --git a/bench/bench.rb b/bench/bench.rb index 5acaf46..533a893 100644 --- a/bench/bench.rb +++ b/bench/bench.rb @@ -79,7 +79,7 @@ Benchmark.bm(20) do |bm| time = bm.report('CodeRay') do options = { :tab_width => 2, - :line_numbers => :table, + :line_numbers => :inline, :line_numbers_offset => Offset, :bold_every => BoldEvery, :wrap => :page, diff --git a/lib/coderay/scanners/_map.rb b/lib/coderay/scanners/_map.rb index 811546b..fc53d91 100644 --- a/lib/coderay/scanners/_map.rb +++ b/lib/coderay/scanners/_map.rb @@ -4,7 +4,9 @@ module CodeRay map :cpp => :c, :plain => :plaintext, :pascal => :delphi, - :irb => :ruby + :irb => :ruby, + :xml => :html, + :xhtml => :html end end diff --git a/lib/coderay/scanners/c.rb b/lib/coderay/scanners/c.rb index 5764254..ae7ef83 100644 --- a/lib/coderay/scanners/c.rb +++ b/lib/coderay/scanners/c.rb @@ -42,7 +42,9 @@ module CodeRay module Scanners kind = :error match = nil - if state == :initial + case state + + when :initial if scan(/ \s+ | \\\n /x) kind = :space @@ -96,7 +98,7 @@ module CodeRay module Scanners getch end - elsif state == :string + when :string if scan(/[^\\"]+/) kind = :content elsif scan(/"/) @@ -113,7 +115,7 @@ module CodeRay module Scanners raise_inspect "else case \" reached; %p not handled." % peek(1), tokens end - elsif state == :include_expected + when :include_expected if scan(/<[^>\n]+>?|"[^"\n\\]*(?:\\.[^"\n\\]*)*"?/) kind = :include state = :initial @@ -128,7 +130,7 @@ module CodeRay module Scanners end else - raise_inspect 'else-case reached', tokens + raise_inspect 'Unknown state', tokens end diff --git a/lib/coderay/scanners/html.rb b/lib/coderay/scanners/html.rb new file mode 100644 index 0000000..62da13b --- /dev/null +++ b/lib/coderay/scanners/html.rb @@ -0,0 +1,148 @@ +#require 'coderay/common_patterns' + +module CodeRay module Scanners + + # HTML Scanner + class HTML < Scanner + + include Streamable + register_for :html + + ATTR_NAME = /[\w.:-]+/ + ATTR_VALUE_UNQUOTED = ATTR_NAME + TAG_END = /\/?>/ + HEX = /[0-9a-fA-F]/ + ENTITY = / + & + (?: + \w+ + | + \# + (?: + \d+ + | + x#{HEX}+ + ) + ) + ; + /ox + + private + def scan_tokens tokens, options + + state = :initial + + until eos? + + kind = :error + match = nil + + if scan(/\s+/m) + kind = :space + + else + + case state + + when :initial + if scan(//m) + kind = :comment + elsif scan(//m) + kind = :preprocessor + elsif scan(/<\?xml.*?\?>/m) + kind = :preprocessor + elsif scan(/<\?.*?\?>|<%.*?%>/m) + kind = :comment + elsif scan(/<\/[-\w_.:]*>/m) + kind = :tag + elsif match = scan(/<[-\w_.:]*/m) + kind = :tag + if match?(/>/) + match << getch + else + state = :attribute + end + elsif scan(/[^<>&]+/) + kind = :plain + elsif scan(/#{ENTITY}/ox) + kind = :char + elsif scan(/>/) + kind = :error + else + raise_inspect '[BUG] else-case reached with state %p' % [state], tokens + end + + when :attribute + if scan(/#{TAG_END}/) + kind = :tag + state = :initial + elsif scan(/#{ATTR_NAME}/o) + kind = :attribute_name + state = :attribute_equal + end + + when :attribute_equal + if scan(/=/) + kind = :operator + state = :attribute_value + elsif scan(/#{ATTR_NAME}/o) + kind = :attribute_name + elsif scan(/#{TAG_END}/o) + kind = :tag + state = :initial + elsif scan(/./) + state = :attribute + end + + when :attribute_value + if scan(/#{ATTR_VALUE_UNQUOTED}/o) + kind = :attribute_value + state = :attribute + elsif scan(/"/) + tokens << [:open, :string] + state = :attribute_value_string + kind = :delimiter + elsif scan(/#{TAG_END}/o) + kind = :tag + state = :initial + end + + when :attribute_value_string + if scan(/[^"&\n]+/) + kind = :content + elsif scan(/"/) + tokens << ['"', :delimiter] + tokens << [:close, :string] + state = :attribute + next + elsif scan(/#{ENTITY}/ox) + kind = :char + elsif match(/\n/) + tokens << [:close, :string] + state = :attribute + next + end + + else + raise_inspect 'Unknown state: %p' % [state], tokens + + end + + end + + match ||= matched + if $DEBUG and (not kind or kind == :error) + raise_inspect 'Error token %p in line %d' % + [[match, kind], line], tokens + end + raise_inspect 'Empty token', tokens unless match + + tokens << [match, kind] + end + + tokens + end + + end + +end end diff --git a/lib/coderay/scanners/ruby.rb b/lib/coderay/scanners/ruby.rb index dd92caf..810e1fd 100644 --- a/lib/coderay/scanners/ruby.rb +++ b/lib/coderay/scanners/ruby.rb @@ -272,7 +272,7 @@ module CodeRay module Scanners heredocs ||= [] # create heredocs if empty heredocs << heredoc - elsif fancy_allowed and match = scan(/#{FANCY_START}/o) + elsif fancy_allowed and match = scan(/#{FANCY_START_SAVE}/o) type, interpreted = *FancyStringType.fetch(self[1]) do raise_inspect 'Unknown fancy string: %%%p' % k, tokens end @@ -358,6 +358,7 @@ module CodeRay module Scanners end end +# }}} regexp_allowed = regexp_allowed == :set fancy_allowed = fancy_allowed == :set @@ -373,7 +374,6 @@ module CodeRay module Scanners state = last_state last_state = nil end -# }}} end end diff --git a/lib/coderay/scanners/ruby/patterns.rb b/lib/coderay/scanners/ruby/patterns.rb index d75a17a..c007d8c 100644 --- a/lib/coderay/scanners/ruby/patterns.rb +++ b/lib/coderay/scanners/ruby/patterns.rb @@ -130,16 +130,17 @@ module CodeRay module Scanners RDOC_DATA_START = / ^=begin (?!\S) | ^__END__$ /x - FANCY_START = / % ( [qQwWxsr] | (?![\w\s=]) ) (.) /mox + # FIXME: \s and = are only a workaround, they are still allowed + # as delimiters. + FANCY_START_SAVE = / % ( [qQwWxsr] | (?![\w\s=]) ) (.) /mx + FANCY_START_CORRECT = / % ( [qQwWxsr] | (?!\w) ) (.) /mx FancyStringType = { 'q' => [:string, false], 'Q' => [:string, true], 'r' => [:regexp, true], 's' => [:symbol, false], - 'x' => [:shell, true], - 'w' => [:string, :word], - 'W' => [:string, :word], + 'x' => [:shell, true] } FancyStringType['w'] = FancyStringType['q'] FancyStringType['W'] = FancyStringType[''] = FancyStringType['Q'] diff --git a/test/html/suite.rb b/test/html/suite.rb new file mode 100644 index 0000000..bff8c83 --- /dev/null +++ b/test/html/suite.rb @@ -0,0 +1,9 @@ +class HTMLTest < CodeRaySuite + + @file = __FILE__ + LANG = :html + EXTENSION = 'html' + +end + +$suite << HTMLTest.suite if $suite diff --git a/test/html/tolkien.html b/test/html/tolkien.html new file mode 100644 index 0000000..f490c09 --- /dev/null +++ b/test/html/tolkien.html @@ -0,0 +1,456 @@ + + + + + CodeRay HTML Encoder Example + + + + + + + +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
+<head><title>Faszination Tolkien - Herr der Ringe &amp; Co.</title>
+<meta name="description" content="J.R.R. Tolkien und seine Werke (Schwerpunkt: Der Herr der Ringe). Anf&auml;ngerfreundlich gestaltet. Gro&szlig;e kommentierte Galerie, Downloads, Forum, Postkarten, etc." />
+<meta name="Author" content="Vladimir Simovic aka Perun" />
+<meta name="Keywords" content="J.R.R. Tolkien, Tolkien, Herr der Ringe, Der Herr der Ringe, HdR, hdr, herr ringe, Perun, Vladimir Simovic, Herr der Ringe Motive, Herr der Ringe Postkarten, kleiner hobbit, ringcon, ring*con" />
+<meta name="page-topic" content="J.R.R. Tolkien und seine Werke. Speziell Der Herr der Ringe" />
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+<meta name="language" content="de" />
+<meta name="robots" content="index,follow" />
+<meta name="revisit-after" content="7 days" />
+<meta http-equiv="imagetoolbar" content="no" />
+<style type="text/css">
+<!--
+@import url("/css/perun.css");
+-->
+</style>
+<link rel="shortcut icon" href="http://www.faszination-tolkien.de/favicon.ico" />
+<link rel="home" href="/" title="Startseite" />
+<link rel="author" href="mailto:perun@faszination-tolkien.de,faszination-tolkien@web.de" title="Mail" />
+<link rel="copyright" href="/kontakte/impressum" title="Impressum" />
+<link rel="index" href="/hilfe/sitemap" title="Inhaltsverzeichnis" />
+<link rel="help" href="/hilfe/faq" title="FAQ" />
+<link rel="search" href="/hilfe/suchen" />
+<link rel="download" href="/goodies/downloads" />
+<link rel="bookmark" href="http://www.faszination-tolkien.de" title="Faszination Tolkien" />
+<script type="text/javascript">
+<!--
+if(top.frames.length > 0)
+top.location.href=self.location;
+//-->
+</script>
+</head>
+<body>
+<div id="kopf" title="Anmerkungen zu den Bildern und &copy; in dem Styleswitch-Bereich">
+</div>
+<div id="inhalt">
+<div style="font:11px verdana, sans-serif; margin:3px 0 0 0;">
+<script type="text/javascript">
+<!-- start js_paths.js???
+var path = "";
+var href = document.location.href;
+var s = href.split("/");
+for (var i=2;i<(s.length-1);i++) {
+path+="<a href=\""+href.substring(0,href.indexOf(s[i])+s[i].length)+"/\">"+s[i]+"</a> / ";
+}
+i=s.length-1;
+path+="<a href=\""+href.substring(0,href.indexOf(s[i])+s[i].length)+"\">"+s[i]+"</a>";
+var url = /* window.location.protocol + "//" + */ path;
+document.writeln(url);
+// ende -->
+</script>
+
+</div>
+<h1>Faszination Tolkien - Herr der Ringe &amp; Co.</h1>
+
+<p>Diese Seite besch&auml;ftigt sich mit den &quot;Hauptwerken&quot; von J. R. R. Tolkien. Im Mittelpunkt steht <strong>Der Herr der Ringe</strong>, aber nach und nach werden immer mehr Details aus <strong>Der kleine Hobbit</strong> bzw. <strong>Der Hobbit</strong> und <strong>Silmarillion</strong> einflie&szlig;en.</p>
+<p>Auf der Seite gibt es, neben vielen selbstverfassten Infos, eine gro&szlig;e <a href="/galerie">Galerie</a> mit 'Herr der Ringe' Bildern (273 Bilder), eine <a href="goodies/downloads">Download</a> Sektion mit 13 <a href="goodies/downloads/winamp-skins">Winampskins</a> und einen <a href="http://www.guweb.com/cgi-bin/postcard?id=PERUN">eCard Versand</a> (digitale Postkarten) mit 'Herr der Ringe' Motiven.</p>
+<p><b>Anmerkung:</b> die Unterpunkte in der Navigation, einige Links im Text und viele Bilder haben Informationen (Titel), daher lohnt es sich den Cursor, &uuml;ber den Link ruhen zu lassen. Einige h&auml;ufige Fragen wurden schon in dem Bereich <a href="/hilfe/faq">FAQ</a> beantwortet.</p>
+
+<p>Immer auf dem laufenden bleiben? Mit <a href="goodies/newsletter">Newsletter</a>, <a href="javascript:sidebar.addPanel('Faszination-Tolkien','http://www.faszination-tolkien.de/goodies/sidebar/index.php','')">Sidebar</a> (Mozilla und Netscape ab 6.x) oder mit <a href="goodies/rss/index.xml">RSS</a>.</p>
+
+<p><strong><a href="goodies/styleswitcher">Styleswitcher</a></strong> - &auml;ndere das Aussehen dieser Seite.</p>
+
+<p><strong>Diese Website wird aus Zeitgründen nicht mehr aktualisiert.</strong></p>
+
+
+<div style="text-align:center; padding:5px;">
+<!-- Anfang Banner -->
+
+<img src="http://www.die-gefaehrten.net/banner.php?banner=minitolkien&amp;id=68" width="100" height="50" alt="Webring Banner (minitolkien)" border="0" usemap="#gef_banner_minitolkien" />
+<map name="gef_banner_minitolkien" id="gef_banner_minitolkien" style="display:inline;">
+    <area shape="rect" href="http://www.die-gefaehrten.net/jump.php?action=next&amp;id=68" alt="N&auml;chste Seite" title="N&auml;chste Seite" coords="70,30,100,50" />
+    <area shape="rect" href="http://www.die-gefaehrten.net/jump.php?action=prev&amp;id=68" alt="Vorherige Seite" title="Vorherige Seite" coords="0,30,30,50" />
+    <area shape="rect" href="http://www.die-gefaehrten.net/jump.php?action=home&amp;id=68" alt="Die Gef&auml;hrten Homepage" title="Die Gef&auml;hrten Homepage" coords="0,0,100,25" />
+</map>
+
+<!--<img src="links/fremde-banner/minitolkien.jpg" width="100" height="50" alt="Webring &quot;Die Gef&auml;hrten&quot;" ismap="ismap" usemap="#minitolkien" />
+<map name="minitolkien" id="minitolkien" style="display:inline;"><area shape="rect" alt="N&auml;chste Seite" href="http://www.die-gefaehrten.net/jump.php?action=next&amp;id=Vladimir" coords="73,29,96,46" /><area shape="rect" alt="Vorherige Seite" href="http://www.die-gefaehrten.net/jump.php?action=prev&amp;id=Vladimir" coords="4,30,26,46" /><area shape="rect" alt="Die Gef&auml;hrten" href="http://www.die-gefaehrten.net/jump.php?action=home&amp;id=Vladimir" coords="5,5,95,23" /></map>-->
+<!-- Ende Banner -->
+
+<a href="http://pl15994.macbay.de/mozilla/bestviewedwithmozilla.htm" title="Best viewed with Mozilla or any other Browser"><img src="links/fremde-banner/bestviewedwithmozill.gif" width="169" height="29" alt="Best viewed with Mozilla or any other Browser" /></a>
+
+<!-- Anfang des Topsites Codes der Listinus-Toppages -->
+<a href="http://click.listinus.de/topsite.php?id=34908" title="Top 50 Herr der Ringe - stimme f&uuml;r diese Seite ab."><img src="http://icon.listinus.de/topicon.php?id=34908" alt="Top 50 Herr der Ringe - stimme f&uuml;r diese Seite ab." /></a>
+<!-- Ende des Topsites Codes der Listinus-Toppages -->
+</div>
+
+<div style="text-align:center; padding:5px;">
+<form method="post" action="http://www.drachenritter.de/webring.php3" style="display:inline;">
+<input type="hidden" name="id" value="585" />
+<input type="hidden" name="mini" value="on" />
+<input type="image" src="/links/fremde-banner/minidrachenritter.jpg" name="click" title="Webring der Drachenritter" />
+</form>
+
+<a href="http://www.schatzwaechter.de"><img src="links/fremde-banner/faszinationtolkien.gif" width="128" height="56" alt="Schatzw&auml;chter" /></a>
+</div>
+
+<p>
+Faszination Tolkien ist zudem noch bei folgenden gro&szlig;en <a href="/die-seite/awards#wichtige-linklisten">Linklisten</a> aufgenommen.
+</p>
+
+<p class="fussanker"><a href="#">nach oben</a></p>
+</div>
+
+<div id="linkenavi"><!--linke seite-->
+<a href="/kurzfassungen/" class="navilinks">Kurzfassungen <span class="hide">&raquo; <b>Tolkiens Welt:</b> Die Zusammenfassung von Herr der Ringe und Der Hobbit. &laquo;</span><br /></a>
+
+<a href="/ringe/" class="navilinks">Die Ringe <span class="hide">&raquo; <b>Tolkiens Welt:</b> Die Ringe der Macht. &laquo;</span><br /></a>
+
+<a href="/geschichte/" class="navilinks">Die Geschichte <span class="hide">&raquo; <b>Tolkiens Welt:</b> Die Geschichte von Arda bzw. Mittelerde. &laquo;</span><br /></a>
+
+<a href="/landeskunde/" class="navilinks">Landeskunde <span class="hide">&raquo; <b>Tolkiens Welt:</b> Geopolitische Informationen &uuml;ber Mittelerde. &laquo;</span><br /></a>
+
+<a href="/personen/" class="navilinks">Personen <span class="hide">&raquo; <b>Tolkiens Welt:</b> Wichtige Personen. &laquo;</span><br /></a>
+
+<a href="/volk/" class="navilinks" style="margin-bottom:10px;">V&ouml;lker/Wesen <span class="hide">&raquo; <b>Tolkiens Welt:</b> Verschiedene V&ouml;lker und Wesen von Arda bzw. Mittelerde. &laquo;</span><br /></a>
+<!---->
+<a href="/jrr-tolkien/" class="navilinks">J. R. R. Tolkien <span class="hide">&raquo; <b>Person Tolkien:</b> Eine kurze Biographie &uuml;ber Tolkien; B&uuml;cherliste mit Werken von Tolkien und Sekund&auml;rliteratur. &laquo;</span><br /></a>
+
+<a href="/galerie/" class="navilinks">Galerie <span class="hide">&raquo; <b>Bilder</b>  von K&uuml;nstlern, die von Tolkiens Werken Inspiriert wurden. &laquo;</span><br /></a>
+<!---->
+<a href="/ueberlegungen/" class="navilinks" style="margin-bottom:10px;">&Uuml;berlegungen <span class="hide">&raquo; <b>Spekulation</b>, Gedanken zu diversen Ereignissen in Mittelerde. &laquo;</span><br /></a>
+<a href="/filme/" class="navilinks"> Film/e <span class="hide">&raquo; <b>Tolkien und Medien:</b> Infos zu den beiden Verfilmungen von Herr der Ringe. &laquo;</span>
+<br /></a>
+<a href="/spiele/" class="navilinks">Spiele <span class="hide">&raquo; <b>Tolkien und Medien:</b> Versch. Spiele rund um Tolkiens Werke: Brett- und Kartenspiele, PC Spiele, Online Spiele etc. &laquo;</span><br /></a>
+<a href="/fans/" class="navilinks">Fans <span class="hide">&raquo; <b>Fans und Ihre Aktivit&auml;ten:</b> Interviews, &quot;Dein erstes Mal&quot; etc. &laquo;</span><br /></a>
+</div><!--ende linker seite-->
+
+<div id="rechtenavi"><!--rechte seite-->
+<a href="/news/" class="navilinks">News <span class="hide2">&raquo; <b>Neuigkeiten:</b> &uuml;ber Tolkiens Werke, den Film, &uuml;ber die Seite etc. &laquo;</span><br /></a>
+
+<a href="/termine/" class="navilinks" style="margin-bottom:10px;">Termine <span class="hide2">&raquo; <b>Anstehende Veranstaltungen</b> zum Thema J. R. R. Tolkien und seine Werke. &laquo;</span><br /></a>
+<!---->
+<a href="/kontakte" class="navilinks">Kontakte <span class="hide2">&raquo; Impressum, Kontaktformular, Presseinfos &laquo;</span><br /></a>
+<a href="/interaktiv" class="navilinks">Interaktiv <span class="hide2">&raquo; <b>Forum, G&auml;stebuch,</b> Umfragen, Chat. &laquo;</span><br /></a>
+<a href="/hilfe" class="navilinks">Hilfe <span class="hide2">&raquo; Suche, FAQ, Sitemap. &laquo;</span><br /></a>
+<a href="/goodies" class="navilinks">Goodies <span class="hide2">&raquo; Newsletter, Sidebar, Styleswitcher, eCards, Winampskins, Downloads, Weiterempfehlen. &laquo;</span><br /></a>
+<a href="/die-seite" class="navilinks" style="margin-bottom:10px;">Die Seite <span class="hide2">&raquo; Ruhmeshalle bzw. Awards, Warum? etc. &laquo;</span><br /></a>
+
+<!---->
+<a href="/links/" class="navilinks">Links <span class="hide2">&raquo; Links zu anderen Tolkien Seiten und zu Webringen. Banner zum Bannertausch. &laquo;</span><br /></a>
+
+<a href="/empfehlungen/" class="navilinks">Empfehlungen <span class="hide2">&raquo; <b>Meine Empfehlungen:</b> B&uuml;cher, Spiele etc. &laquo;</span><br /></a>
+
+<a href="/wettbewerbe" class="navilinks">Wettbewerbe <span class="hide2">&raquo; Wettbewerbe und Gewinnspiele. &laquo;</span><br /></a>
+</div><!--ende rechter seite-->
+
+<div id="fuss">
+<div class="center">
+G&uuml;ltiges <a href="http://validator.w3.org/check/referer"
+
+ title="Diese Seite h&auml;lt sich an die Webstandards">XHTML 1.0</a> und g&uuml;ltiges <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.faszination-tolkien.de/css/perun.css"
+
+ title="Diese Seite h&auml;lt sich an die Webstandards">CSS</a>
+<br />
+2002-2006 by <a href="/kontakte/impressum/" title="Kontakt mit dem Webmaster">Perun</a> - Letzte &Auml;nderung: 04.03.2006 01:56:23<br />
+<a href="http://www.faszination-tolkien.de">www.faszination-tolkien.de</a> || <a href="http://www.herr-der-ringe.ws">www.herr-der-ringe.ws</a> || <a href="http://www.perun.net">www.perun.net</a>
+<br />
+<span class="sehrklein">Webdesign by: <a href="http://www.vlad-design.de" title="Vlad-Design: Webdesign von Vladimir Simovic">Vlad-Design</a> || hosted by: <a href="http://www.all-inkl.com/index.php?partner=14435" title="Sehr gute und g&uuml;nstige Webhosting-Angebote">www.all-inkl.com</a></span>
+</div>
+<p class="unsichtbar">&rarr;Hinweis: Schon mal dar&uuml;ber nachgedacht deinen Browser upzudaten?<br />Auf z. B. Mozilla, oder Netscape 7.x, oder Opera 7.x oder zumindest auf Internet Explorer 6.</p>
+</div>
+<!-- PowerPhlogger Code START -->
+<script language="JavaScript" type="text/javascript" src="/pphlogger.js"></script>
+<noscript><img alt="" src="http://www.faszination-tolkien.de/statistik/pphlogger.php?id=Perun&amp;st=img" /></noscript>
+<!-- PowerPhlogger Code END -->
+</body>
+</html>
+
+ + + diff --git a/test/html/tolkien.in.html b/test/html/tolkien.in.html new file mode 100644 index 0000000..cef55da --- /dev/null +++ b/test/html/tolkien.in.html @@ -0,0 +1,169 @@ + + +Faszination Tolkien - Herr der Ringe & Co. + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + +
+

Faszination Tolkien - Herr der Ringe & Co.

+ +

Diese Seite beschäftigt sich mit den "Hauptwerken" von J. R. R. Tolkien. Im Mittelpunkt steht Der Herr der Ringe, aber nach und nach werden immer mehr Details aus Der kleine Hobbit bzw. Der Hobbit und Silmarillion einfließen.

+

Auf der Seite gibt es, neben vielen selbstverfassten Infos, eine große Galerie mit 'Herr der Ringe' Bildern (273 Bilder), eine Download Sektion mit 13 Winampskins und einen eCard Versand (digitale Postkarten) mit 'Herr der Ringe' Motiven.

+

Anmerkung: die Unterpunkte in der Navigation, einige Links im Text und viele Bilder haben Informationen (Titel), daher lohnt es sich den Cursor, über den Link ruhen zu lassen. Einige häufige Fragen wurden schon in dem Bereich FAQ beantwortet.

+ +

Immer auf dem laufenden bleiben? Mit Newsletter, Sidebar (Mozilla und Netscape ab 6.x) oder mit RSS.

+ +

Styleswitcher - ändere das Aussehen dieser Seite.

+ +

Diese Website wird aus Zeitgründen nicht mehr aktualisiert.

+ + +
+ + +Webring Banner (minitolkien) + + Nächste Seite + Vorherige Seite + Die Gefährten Homepage + + + + + +Best viewed with Mozilla or any other Browser + + +Top 50 Herr der Ringe - stimme für diese Seite ab. + +
+ +
+
+ + + +
+ +Schatzwächter +
+ +

+Faszination Tolkien ist zudem noch bei folgenden großen Linklisten aufgenommen. +

+ +

nach oben

+
+ +
+Kurzfassungen » Tolkiens Welt: Die Zusammenfassung von Herr der Ringe und Der Hobbit. «
+ +Die Ringe » Tolkiens Welt: Die Ringe der Macht. «
+ +Die Geschichte » Tolkiens Welt: Die Geschichte von Arda bzw. Mittelerde. «
+ +Landeskunde » Tolkiens Welt: Geopolitische Informationen über Mittelerde. «
+ +Personen » Tolkiens Welt: Wichtige Personen. «
+ +Völker/Wesen » Tolkiens Welt: Verschiedene Völker und Wesen von Arda bzw. Mittelerde. «
+ +J. R. R. Tolkien » Person Tolkien: Eine kurze Biographie über Tolkien; Bücherliste mit Werken von Tolkien und Sekundärliteratur. «
+ +Galerie » Bilder von Künstlern, die von Tolkiens Werken Inspiriert wurden. «
+ +Überlegungen » Spekulation, Gedanken zu diversen Ereignissen in Mittelerde. «
+ Film/e » Tolkien und Medien: Infos zu den beiden Verfilmungen von Herr der Ringe. « +
+Spiele » Tolkien und Medien: Versch. Spiele rund um Tolkiens Werke: Brett- und Kartenspiele, PC Spiele, Online Spiele etc. «
+Fans » Fans und Ihre Aktivitäten: Interviews, "Dein erstes Mal" etc. «
+
+ +
+News » Neuigkeiten: über Tolkiens Werke, den Film, über die Seite etc. «
+ +Termine » Anstehende Veranstaltungen zum Thema J. R. R. Tolkien und seine Werke. «
+ +Kontakte » Impressum, Kontaktformular, Presseinfos «
+Interaktiv » Forum, Gästebuch, Umfragen, Chat. «
+Hilfe » Suche, FAQ, Sitemap. «
+Goodies » Newsletter, Sidebar, Styleswitcher, eCards, Winampskins, Downloads, Weiterempfehlen. «
+Die Seite » Ruhmeshalle bzw. Awards, Warum? etc. «
+ + +Links » Links zu anderen Tolkien Seiten und zu Webringen. Banner zum Bannertausch. «
+ +Empfehlungen » Meine Empfehlungen: Bücher, Spiele etc. «
+ +Wettbewerbe » Wettbewerbe und Gewinnspiele. «
+
+ +
+
+Gültiges XHTML 1.0 und gültiges CSS +
+2002-2006 by Perun - Letzte Änderung: 04.03.2006 01:56:23
+www.faszination-tolkien.de || www.herr-der-ringe.ws || www.perun.net +
+Webdesign by: Vlad-Design || hosted by: www.all-inkl.com +
+

→Hinweis: Schon mal darüber nachgedacht deinen Browser upzudaten?
Auf z. B. Mozilla, oder Netscape 7.x, oder Opera 7.x oder zumindest auf Internet Explorer 6.

+
+ + + + + + diff --git a/test/html/tolkien.out.raydebug b/test/html/tolkien.out.raydebug new file mode 100644 index 0000000..e3ef576 --- /dev/null +++ b/test/html/tolkien.out.raydebug @@ -0,0 +1,169 @@ +preprocessor() +tag( attribute_name(xml:lang)operator(=)string attribute_name(lang)operator(=)stringtag(>) +tag()tag()plain(Faszination Tolkien - Herr der Ringe )char(&) plain(Co.)tag() +tag( attribute_name(content)operator(=)string tag(/>) +tag( attribute_name(content)operator(=)string tag(/>) +tag( attribute_name(content)operator(=)string tag(/>) +tag( attribute_name(content)operator(=)string tag(/>) +tag( attribute_name(content)operator(=)string tag(/>) +tag( attribute_name(content)operator(=)string tag(/>) +tag( attribute_name(content)operator(=)string tag(/>) +tag( attribute_name(content)operator(=)string tag(/>) +tag( attribute_name(content)operator(=)string tag(/>) +tag(tag(>) +comment() +tag() +tag( attribute_name(href)operator(=)string tag(/>) +tag( attribute_name(href)operator(=)string attribute_name(title)operator(=)string tag(/>) +tag( attribute_name(href)operator(=)string attribute_name(title)operator(=)string tag(/>) +tag( attribute_name(href)operator(=)string attribute_name(title)operator(=)string tag(/>) +tag( attribute_name(href)operator(=)string attribute_name(title)operator(=)string tag(/>) +tag( attribute_name(href)operator(=)string attribute_name(title)operator(=)string tag(/>) +tag( attribute_name(href)operator(=)string tag(/>) +tag( attribute_name(href)operator(=)string tag(/>) +tag( attribute_name(href)operator(=)string attribute_name(title)operator(=)string tag(/>) +tag(tag(>) +comment() +tag() +tag() +tag() +tag( attribute_name(title)operator(=)stringtag(>) +tag() +tag(tag(>) +tag(tag(>) +tag(tag(>) +comment() +tag() + +tag() +tag(

)plain(Faszination Tolkien - Herr der Ringe )char(&) plain(Co.)tag(

) + +tag(

)plain(Diese Seite besch)char(ä)plain(ftigt sich mit den )char(")plain(Hauptwerken)char(") plain(von J. R. R. Tolkien. Im Mittelpunkt steht )tag()plain(Der Herr der Ringe)tag()plain(, aber nach und nach werden immer mehr Details aus )tag()plain(Der kleine Hobbit)tag() plain(bzw. )tag()plain(Der Hobbit)tag() plain(und )tag()plain(Silmarillion)tag() plain(einflie)char(ß)plain(en.)tag(

) +tag(

)plain(Auf der Seite gibt es, neben vielen selbstverfassten Infos, eine gro)char(ß)plain(e )tag(tag(>)plain(Galerie)tag() plain(mit 'Herr der Ringe' Bildern (273 Bilder\), eine )tag(tag(>)plain(Download)tag() plain(Sektion mit 13 )tag(tag(>)plain(Winampskins)tag() plain(und einen )tag(tag(>)plain(eCard Versand)tag() plain((digitale Postkarten\) mit 'Herr der Ringe' Motiven.)tag(

) +tag(

)tag()plain(Anmerkung:)tag() plain(die Unterpunkte in der Navigation, einige Links im Text und viele Bilder haben Informationen (Titel\), daher lohnt es sich den Cursor, )char(ü)plain(ber den Link ruhen zu lassen. Einige h)char(ä)plain(ufige Fragen wurden schon in dem Bereich )tag(tag(>)plain(FAQ)tag() plain(beantwortet.)tag(

) + +tag(

)plain(Immer auf dem laufenden bleiben? Mit )tag(tag(>)plain(Newsletter)tag()plain(, )tag(tag(>)plain(Sidebar)tag() plain((Mozilla und Netscape ab 6.x\) oder mit )tag(tag(>)plain(RSS)tag()plain(.)tag(

) + +tag(

)tag()tag(tag(>)plain(Styleswitcher)tag()tag() plain(- )char(ä)plain(ndere das Aussehen dieser Seite.)tag(

) + +tag(

)tag()plain(Diese Website wird aus Zeitgründen nicht mehr aktualisiert.)tag()tag(

) + + +tag(tag(>) +comment() + +tag( attribute_name(width)operator(=)string attribute_name(height)operator(=)string attribute_name(alt)operator(=)string attribute_name(border)operator(=)string attribute_name(usemap)operator(=)string tag(/>) +tag( attribute_name(id)operator(=)string attribute_name(style)operator(=)stringtag(>) + tag( attribute_name(href)operator(=)string attribute_name(alt)operator(=)string attribute_name(title)operator(=)string attribute_name(coords)operator(=)string tag(/>) + tag( attribute_name(href)operator(=)string attribute_name(alt)operator(=)string attribute_name(title)operator(=)string attribute_name(coords)operator(=)string tag(/>) + tag( attribute_name(href)operator(=)string attribute_name(alt)operator(=)string attribute_name(title)operator(=)string attribute_name(coords)operator(=)string tag(/>) +tag() + +comment() +comment() + +tag( attribute_name(title)operator(=)stringtag(>)tag( attribute_name(width)operator(=)string attribute_name(height)operator(=)string attribute_name(alt)operator(=)string tag(/>)tag() + +comment() +tag( attribute_name(title)operator(=)stringtag(>)tag( attribute_name(alt)operator(=)string tag(/>)tag() +comment() +tag() + +tag(tag(>) +tag( attribute_name(action)operator(=)string attribute_name(style)operator(=)stringtag(>) +tag( attribute_name(name)operator(=)string attribute_name(value)operator(=)string tag(/>) +tag( attribute_name(name)operator(=)string attribute_name(value)operator(=)string tag(/>) +tag( attribute_name(src)operator(=)string attribute_name(name)operator(=)string attribute_name(title)operator(=)string tag(/>) +tag() + +tag(tag(>)tag( attribute_name(width)operator(=)string attribute_name(height)operator(=)string attribute_name(alt)operator(=)string tag(/>)tag() +tag() + +tag(

) +plain(Faszination Tolkien ist zudem noch bei folgenden gro)char(ß)plain(en )tag(tag(>)plain(Linklisten)tag() plain(aufgenommen. +)tag(

) + +tag(tag(>)tag(tag(>)plain(nach oben)tag()tag(

) +tag() + +tag(tag(>)comment() +tag( attribute_name(class)operator(=)stringtag(>)plain(Kurzfassungen )tag(tag(>)char(») tag()plain(Tolkiens Welt:)tag() plain(Die Zusammenfassung von Herr der Ringe und Der Hobbit. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)stringtag(>)plain(Die Ringe )tag(tag(>)char(») tag()plain(Tolkiens Welt:)tag() plain(Die Ringe der Macht. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)stringtag(>)plain(Die Geschichte )tag(tag(>)char(») tag()plain(Tolkiens Welt:)tag() plain(Die Geschichte von Arda bzw. Mittelerde. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)stringtag(>)plain(Landeskunde )tag(tag(>)char(») tag()plain(Tolkiens Welt:)tag() plain(Geopolitische Informationen )char(ü)plain(ber Mittelerde. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)stringtag(>)plain(Personen )tag(tag(>)char(») tag()plain(Tolkiens Welt:)tag() plain(Wichtige Personen. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)string attribute_name(style)operator(=)stringtag(>)plain(V)char(ö)plain(lker/Wesen )tag(tag(>)char(») tag()plain(Tolkiens Welt:)tag() plain(Verschiedene V)char(ö)plain(lker und Wesen von Arda bzw. Mittelerde. )char(«)tag()tag()tag() +comment() +tag( attribute_name(class)operator(=)stringtag(>)plain(J. R. R. Tolkien )tag(tag(>)char(») tag()plain(Person Tolkien:)tag() plain(Eine kurze Biographie )char(ü)plain(ber Tolkien; B)char(ü)plain(cherliste mit Werken von Tolkien und Sekund)char(ä)plain(rliteratur. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)stringtag(>)plain(Galerie )tag(tag(>)char(») tag()plain(Bilder)tag() plain(von K)char(ü)plain(nstlern, die von Tolkiens Werken Inspiriert wurden. )char(«)tag()tag()tag() +comment() +tag( attribute_name(class)operator(=)string attribute_name(style)operator(=)stringtag(>)char(Ü)plain(berlegungen )tag(tag(>)char(») tag()plain(Spekulation)tag()plain(, Gedanken zu diversen Ereignissen in Mittelerde. )char(«)tag()tag()tag() +tag( attribute_name(class)operator(=)stringtag(>) plain(Film/e )tag(tag(>)char(») tag()plain(Tolkien und Medien:)tag() plain(Infos zu den beiden Verfilmungen von Herr der Ringe. )char(«)tag() +tag()tag() +tag( attribute_name(class)operator(=)stringtag(>)plain(Spiele )tag(tag(>)char(») tag()plain(Tolkien und Medien:)tag() plain(Versch. Spiele rund um Tolkiens Werke: Brett- und Kartenspiele, PC Spiele, Online Spiele etc. )char(«)tag()tag()tag() +tag( attribute_name(class)operator(=)stringtag(>)plain(Fans )tag(tag(>)char(») tag()plain(Fans und Ihre Aktivit)char(ä)plain(ten:)tag() plain(Interviews, )char(")plain(Dein erstes Mal)char(") plain(etc. )char(«)tag()tag()tag() +tag()comment() + +tag(tag(>)comment() +tag( attribute_name(class)operator(=)stringtag(>)plain(News )tag(tag(>)char(») tag()plain(Neuigkeiten:)tag() char(ü)plain(ber Tolkiens Werke, den Film, )char(ü)plain(ber die Seite etc. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)string attribute_name(style)operator(=)stringtag(>)plain(Termine )tag(tag(>)char(») tag()plain(Anstehende Veranstaltungen)tag() plain(zum Thema J. R. R. Tolkien und seine Werke. )char(«)tag()tag()tag() +comment() +tag( attribute_name(class)operator(=)stringtag(>)plain(Kontakte )tag(tag(>)char(») plain(Impressum, Kontaktformular, Presseinfos )char(«)tag()tag()tag() +tag( attribute_name(class)operator(=)stringtag(>)plain(Interaktiv )tag(tag(>)char(») tag()plain(Forum, G)char(ä)plain(stebuch,)tag() plain(Umfragen, Chat. )char(«)tag()tag()tag() +tag( attribute_name(class)operator(=)stringtag(>)plain(Hilfe )tag(tag(>)char(») plain(Suche, FAQ, Sitemap. )char(«)tag()tag()tag() +tag( attribute_name(class)operator(=)stringtag(>)plain(Goodies )tag(tag(>)char(») plain(Newsletter, Sidebar, Styleswitcher, eCards, Winampskins, Downloads, Weiterempfehlen. )char(«)tag()tag()tag() +tag( attribute_name(class)operator(=)string attribute_name(style)operator(=)stringtag(>)plain(Die Seite )tag(tag(>)char(») plain(Ruhmeshalle bzw. Awards, Warum? etc. )char(«)tag()tag()tag() + +comment() +tag( attribute_name(class)operator(=)stringtag(>)plain(Links )tag(tag(>)char(») plain(Links zu anderen Tolkien Seiten und zu Webringen. Banner zum Bannertausch. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)stringtag(>)plain(Empfehlungen )tag(tag(>)char(») tag()plain(Meine Empfehlungen:)tag() plain(B)char(ü)plain(cher, Spiele etc. )char(«)tag()tag()tag() + +tag( attribute_name(class)operator(=)stringtag(>)plain(Wettbewerbe )tag(tag(>)char(») plain(Wettbewerbe und Gewinnspiele. )char(«)tag()tag()tag() +tag()comment() + +tag(tag(>) +tag(tag(>) +plain(G)char(ü)plain(ltiges )tag( + + attribute_name(title)operator(=)stringtag(>)plain(XHTML 1.0)tag() plain(und g)char(ü)plain(ltiges )tag( + + attribute_name(title)operator(=)stringtag(>)plain(CSS)tag() +tag() +plain(2002-2006 by )tag( attribute_name(title)operator(=)stringtag(>)plain(Perun)tag() plain(- Letzte )char(Ä)plain(nderung: 04.03.2006 01:56:23)tag() +tag(tag(>)plain(www.faszination-tolkien.de)tag() plain(|| )tag(tag(>)plain(www.herr-der-ringe.ws)tag() plain(|| )tag(tag(>)plain(www.perun.net)tag() +tag() +tag(tag(>)plain(Webdesign by: )tag( attribute_name(title)operator(=)stringtag(>)plain(Vlad-Design)tag() plain(|| hosted by: )tag( attribute_name(title)operator(=)stringtag(>)plain(www.all-inkl.com)tag()tag() +tag() +tag(tag(>)char(→)plain(Hinweis: Schon mal dar)char(ü)plain(ber nachgedacht deinen Browser upzudaten?)tag()plain(Auf z. B. Mozilla, oder Netscape 7.x, oder Opera 7.x oder zumindest auf Internet Explorer 6.)tag(

) +tag() +comment() +tag( attribute_name(type)operator(=)string attribute_name(src)operator(=)stringtag(>)tag() +tag() +comment() +tag() +tag() -- cgit v1.2.1