• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Umstieg HTML -> XHTML

Iltis

Lounge-Member
Hallo zusammen,

ich möchte mich natürlich auf dem aktuellen Stand halten und meine neuen Websiten in XHTML verfassen.

Jetzt habe ich schon diverses zu diesem Thema gelesen und habe trotzdem noch einige Fragen.
Es ist mir klar, dass der Doctype ändert, dass man alle Tags abschliesst etc.

Aber:

- Soll man ganz auf Tags wie <b> oder <h1> verzichten und stattdessen alles mit <span> und CSS auszeichnen oder ist es besser die alten Tags beizubehalten?
- Soll ich, wenn der Quellcode XHTML1.1 Standard ist, die Dateiendung .xhtml verwenden oder ist es besser aus Kompatibilitätsgründen zu alten Browser .htm zu verwenden?

Vielen Dank für die Antworten, vielleicht tauchen dann noch mehr Fragen auf.

Iltis
 
hallo,

da bringst du einiges durch einander, scheint mir.

<h1> etc. zählt zum xhtml standard, sollte also strikt für überschriften verwendet werden.
<b> muss man nicht verwenden, wenn etwas hervorgehoben werden soll ist es besser man nimmt <strong>, wenn nur etwas fett sein soll kann man auch ein <span> nehmen mit entsprechender formatierung.

die endung einer datei sagt nur aus, welcher sorte diese datei angehört und hat nichts mit kompatibilität zutun.
 
zur dateiendung: es ist dem browser egal, welche endung eine datei hat, hauptsache, der webserver gibt den richtigen mimetype an.
 
Er hat Recht mit der Dateiendung *.xhtml, denn die meisten Server liefern das Dokument dadurch erst als "application/xhtml+xml", aber auf Grund der Abwärtskompatibilität verwendet man "text/html". Dies ist mit der Version XHTML 1.0 noch vom W3C erlaubt, aber eigentlich sollte "application/xhtml+xml" verwendet werden.

Daher ist es das beste für die meisten XHTML 1.0 zu verwenden. Jedoch nicht für alle. Wer sich mit den Specs des W3C noch weiter auseinandersetzt merkt, dass XHTML 1.1 Modulbasiert ist und daher ist es auch strikt vorgeschrieben "application/xhtml+xml" zu verwenden, alles andere wäre total falsch und sinnbefreit. ;)

Zur Zeit beherrscht nur Mozilla "application/xhtml+xml" richtig. Opera tut sich noch ein wenig schwer, kann es aber auch soweit ich informiert bin.
 
:confused:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Obiger Doctype ist dem Quelltext von
http://www.w3.org/TR/xhtml11/
entnommen.
Link: http://www.w3.org/TR/xhtml11/conformance.html#strict
2.1.1. Strictly Conforming Documents
A strictly conforming XHTML 1.1 document is a document that requires only the facilities described as mandatory in this specification. Such a document must meet all the following criteria:

The document must conform to the constraints expressed in Appendix C.

The root element of the document must be <html>.

The root element of the document must designate the XHTML namespace using the xmlns attribute [XMLNAMES]. The namespace designator for XHTML is "http://www.w3.org/1999/xhtml".

There must be a DOCTYPE declaration in the document prior to the root element. If present, the public identifier included in the DOCTYPE declaration must reference the DTD found in Appendix C using its Formal Public Identifier. The system identifier may be modified appropriately.

<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Here is an example of an XHTML 1.1 document.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title>Virtual Library</title>
</head>
<body>
<p>Moved to <a href="http://vlib.org/">vlib.org</a>.</p>
</body>
</html>

Note that in this example, the XML declaration is included. An XML declaration like the one above is not required in all XML documents. XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required when the character encoding of the document is other than the default UTF-8 or UTF-16.
Wo steht da jetzt, dass die Endung .xhtml verwendet werden muß ?
 
@Albu: Bitte erläutere...

Da ich immer wieder gerne Deine Abhandlungen lese,
wäre es mir eine Freude,
bezüglich Deiner obigen Aussage auch eine Erklärung zu derselben zu bekommen,
da ich mich mit dieser Materie zu wenig auskenne.
Ich wäre Dir wirklich sehr verbunden...

Danke

@dipser:
dipser schrieb:
Er hat Recht mit der Dateiendung *.xhtml
 
Nunja damit der Webserver den richtigen MIME-Typen senden kann, muß er die XHTML Dateien von den gewöhnlichen HTML Dateien unterscheiden können. Typischerweise geschieht dies über die Dateiendung. Weswegen sich die Dateiendung .xhtml eingebürgert hat, weil naheliegend. Da Webserver da sehr flexibel sind könnte man sie auch .hans nehmen, aber das könnte bei einem Providerwechsel schon Probleme machen.....

Dem W3C Standard ist es auch schnurz, wie die Dateien heißen, da er ja nur den Inhalt definiert.
 
OK, Danke Dir.

Soweit verstanden.

Gesetz dem Fall, die Datei endet also .hans,
dann wird die xhtml-Datei doch an ihrem Doctype erkannt, oder?

Und somit ist es doch wirklich egal wie sie endet,
oder liege ich da jetzt falsch?

Und was machen all die Leute mit dynamischen Seiten (.asp, .php)?
Die können sich doch nur auf die DTD verlassen.

Bitte kläre mich auf, sollte ich mich hier jetzt total blamieren...
 
Der Inhalt der Datei selbst wird an dem Mediatypen oder auch MIME-Typen identifiziert. Die (X)HTML Version wird erst anhand der Dokumententyp Definition erkannt.

Deshalb müsstest du dem Server ersteinmal mitteilen, wie der Inhalt deiner .hans-Dateien behandelt werden soll.
 
die dtd hat _nichts_ mit dem mimetype zu tun.

falls dein webspace .htaccess unterstützt, kannst du es mal ausprobieren. nehmen wir an, es hat eine "index.jswelt" datei auf dem server. ruft man diese jetzt auf, wird sie vermutlich zum download angeboten.

PHP:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>index.jswelt</title>
</head>
<body>
<p>
<?php
echo "hallo";
?>
</p>
</body>
</html>

man kann den mimetype selbst definieren, so dass die datei normal im browser geöffnet wird
Code:
# .htaccess
AddType application/xhtml+xml .jswelt

der phpcode wird jetzt nicht geparst. kein problem ;) (man muss allerdings die option short_open_tags deaktivieren, sonst macht das <?xml version="1.0" encoding="UTF-8"?> probleme.
Code:
# .htaccess
AddType application/x-httpd-php .jswelt
jetzt muss aber mittels php der mimetype definiert werden, sonst lautet er "text/html".
PHP:
header("Content-Type: application/xhtml+xml");
 
Zuletzt bearbeitet:
Hallo,

danke für eure Antworten.

womstar schrieb:
da bringst du einiges durch einander, scheint mir.

<h1> etc. zählt zum xhtml standard, sollte also strikt für überschriften verwendet werden.

Ja ich habe mich etwas durcheinander bringen lassen, indem ich einerseits gesehen habe, dass die meistens Tags immer noch Standard sind, aber anderseits immer wieder gesagt, dass man möglichst viel mit CSS machen soll (sprich kein Tabellendesign etc). Dann hat sich bei mir der falsche Schluss ergeben, man solle alles mit CSS machen, vor allem weil ich parallel noch etwas über XML gelesen habe und das dort notwendig ist.

Die Störung tut mir also leid.
 
störung?

mh. so sollte es auch nicht rüber kommen.
jedenfalls wurde mal wieder ne schöne frage geklärt.
 
Zurück
Oben