XHTML Spezifikationen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 01:47 Sa 03.05.2008 | Autor: | Scott.y |
Aufgabe | Für jede Teilaufgabe ist eine valide XHMTL-Datei mit eingebettetem (oder evtl. auch ausgelagertem) JavaScript-Code zu erstellen. |
Hallo,
ja, das ist eigentlich schon der Teil der Aufgabenstellung der mich beschäftigt.
Hier meine Lösung für das Schreiben eines Javascripts, welches in einer xHTML Datei eingebettet ist.
--
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>xy</title>
<script type="text/javascript">
var v1;
var v2;
v1 = prompt("Machen Sie bitte eine Eingabe:");
v1 = parseFloat(v1);
if ( isNaN(v1) ) v1 = 123;
if ( v1 < 0 ) v2 = -1;
else { if ( v1 > 0 ) v2 = 1;
else v2 = 0; };
document.writeln("v1 = " + v1 + "; ");
v1 = v1 * v2;
document.writeln("neues v1 = " + v1);
</script>
</head>
<body>
</body>
</html>
--
Mein Problem ist das Validieren des Codes bzw. das Verstehen der Spezifikationen.
Das Script funktioniert soweit. Jage ich die Datei jedoch durch den Validator, hat er ein Problem mit den <, > Zeichen, sowie mit dem document.writeln. Das scheint ja ein generelles "Problem" bei xthml zu sein. Es darf wohl einfach nicht mehr verwendet werden.
Ich weiß nur nicht, was zu tun ist. Ich seh bei den verschiedenen Spezifikationen irgendwie nicht mehr durch. Ob nun meine Datei xhtml konform ist, wenn ich sie als *.html Datei abspeichere, die < mit & lt; ersetze oder wann <!CDATA[ benutzt werden kann, um den xml parser zu täuschen.
Könnte mich da jemand von euch eventuell aufklären? Vielen Dank!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:23 Sa 03.05.2008 | Autor: | rainerS |
Hallo!
> Das Script funktioniert soweit. Jage ich die Datei jedoch
> durch den Validator, hat er ein Problem mit den <, >
> Zeichen, sowie mit dem document.writeln. Das scheint ja ein
> generelles "Problem" bei xthml zu sein. Es darf wohl
> einfach nicht mehr verwendet werden.
Nicht ganz. Dadurch, dass du <script ..>...</script> um deinen JacaScript-Code herumschreibst, änderst du die XML-Syntax nicht. Der XML-Parser erwartet auch an dieser Stelle gültiges XML - was der JavaScript-Code natürlich nicht ist. Das gleiche Problem taucht auf, wenn du CSS mittels
<style type="text/css">...</style>
einbetten willst.
> Ich weiß nur nicht, was zu tun ist. Ich seh bei den
> verschiedenen Spezifikationen irgendwie nicht mehr durch.
> Ob nun meine Datei xhtml konform ist, wenn ich sie als
> *.html Datei abspeichere, die < mit & lt; ersetze oder wann
> <!CDATA[ benutzt werden kann, um den xml parser zu
> täuschen.
Das ist in der Tat die richtige Lösung. Du schreibst also um deinen JavaScript-Code:
1: | <script type="text/javascript">
| 2: | /* <![CDATA[ */
| 3: |
| 4: | ...
| 5: |
| 6: | /* ]]> */
| 7: | </script> |
Damit sagst du dem XML-Parser, dass alles zwischen <![CDATA[...]]> Daten sind, die nicht weiter ausgewertet werden. Damit aber der JavaScript-Prozessor nicht darüber fällt, packst du diese XML-Stückchen in einen JavaScript-Kommentar.
Viele Grüße
Rainer
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:41 So 04.05.2008 | Autor: | Scott.y |
Hallo,
danke für deine Antwort! Es funktioniert jetzt und ich glaube begriffen zu haben weshalb. Klingt doch ganz logisch, wenn man es sich überlegt.
Danke nochmal!
|
|
|
|