next up previous contents index
Search Next: Bilder und Links Up: CGI-Skripte mit Ruby Previous: CGI-Skripte mit Ruby   Contents   Index

HTML-Seiten mit Ruby

Zum einen gibt es die nicht empfehlenswerte Methode, HTML-Seiten per Hand zu erstellen. Die Gefahr dabei ist, dass bei einer rein visuellen Kontrolle in einem Browser Fehler im HTML-Code überspielt werden, die sich auf einem anderen System drastisch auswirken können. Typisches Beispiel ist die Behandlung von fehlerhaften Tabellen im Netscape Navigator und dem Internet Explorer von Microsoft.

puts "Content-type: text/html;\n\n"
puts "<html><body>"
puts "Wenn Diamanten die besten Freunde" +
  " der Frauen sind,<br>ist Ruby der beste" +
  " Freund des Programmierers."

Besser einsetzbar ist das CGI-Modul:

require "cgi"
cgi = CGI.new("html3")
cgi.out {
 cgi.html {
  cgi.head { "" } +
  cgi.body{
   "Wenn Diamanten die besten Freunde" +
   " der Frauen sind, ist Ruby der beste" +
   " Freund des Programmierers."
}}}

liefert (ohne Zeilenumbrüche im HTML-Teil)[*]

Content-Type: text/html
Content-Length: 189

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD></HEAD><BODY>
Wenn Diamanten die besten Freunde der Frauen sind,
ist Ruby der beste Freund des Programmierers.
</BODY></HTML>

Mit CGI.pretty:

require "cgi"
cgi = CGI.new("html3")
cgi.out {
 CGI.pretty (
 cgi.html {
  cgi.head { "" } +
  cgi.body{
   "Wenn Diamanten die besten Freunde" +
   " der Frauen sind, ist Ruby der beste" +
   " Freund des Programmierers."
}})}

Aus Platzgründen wurde der unten stehende Output editiert: Aus zwei Leerzeichen wurde eines gemacht, die Doctype-Zeile in zwei getrennt sowie der Bodyinhalt in 3 Zeilen gebrochen.

<!DOCTYPE HTML PUBLIC
 "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
 <HEAD>
 </HEAD>
 <BODY>
  Wenn Diamanten die besten Freunde der
  Frauen sind, ist Ruby der beste Freund
  des Programmierers.
 </BODY>
</HTML>

Ruby erzeugt neben den Informationen des HTTP-Headers auch die SGML-gerechte Versionsangabe für den HTML-Text. Webbrowser (wie Netscape 6) verwenden diese Information, um ihr Verhalten an die entsprechenden Besonderheiten der jeweiligen Sprachversion anzupassen. Die Argumente "html4", "html4Tr" und "html4Fr" erzeugen HTML 4-konforme Dokumente, die sich nach der Strict-, Transitional- oder Frameset-Beschreibung richten.



Footnotes

... HTML-Teil)[*]
CGI.pretty empfohlen

next up previous contents index
Search Next: Bilder und Links Up: CGI-Skripte mit Ruby Previous: CGI-Skripte mit Ruby   Contents   Index
(C) 2002 by dpunkt.de, Armin Roehrl, Stefan Schmiedl, Clemens Wyss 2002-01-20