2016-05-24 15 views
1

Ich habe eine Prüfung, wo ich eine Reihe von Code-Schnipsel zur Verfügung gestellt werden und fragte, ob sie gültige oder ungültige Strict XHTML1.0 sind. Ich kann keine Regeln oder verdauliche Ressourcen online finden. Kann mir jemand sagen, ob es eine Reihe von Kontrollen gibt, die ich mir merken kann?Schreiben Strict XHTML 1.0

+0

Sie überprüft https://www.w3.org/TR/xhtml1/? Oder fällt das unter die Kategorie "unverdaulich"? Es enthält alle Informationen, die Sie brauchen, denke ich. – Erik

+0

Wenn Sie von Hand ein Stück Papier machen müssen, ist das eine Menge Arbeit. Diese Sprachspezifikationen sind groß! Also ... wo ich anfangen soll. Sie kennen die XML-Syntax? Das ist natürlich die Regel # 1, wohlgeformtes XML. Dann gibt es die gültigen Elemente; Wie wäre es mit diesem https://www.w3.org/2010/04/xhtml10-strict.html –

+0

Weißt du was, ich habe nachgedacht.Vielleicht ist das Thema selbst irrelevant, vielleicht versuchen sie nur herauszufinden, wie gut Google-fu ist, indem sie nach einem Thema fragen, das sie nie abgedeckt haben. –

Antwort

1

Das Wichtigste, was Sie tun können und sollten, ist sicherzustellen, dass die Datei als application/xhtml+xml geliefert wird. Wenn Sie eine Datei erstellen und keinen Zugriff auf serverseitiges Scripting haben, müssen Sie lediglich eine Datei mit der Erweiterung .xhtml und application/xhtml+xml über die Entwicklertools in dem von Ihnen verwendeten Browser erstellen.

I hoch mit Firefox empfehlen; Wenn Sie auf einen XML-Parsing-Fehler stoßen, wird die gesamte Seite ausgeblendet. Sie wird gelb hinterlegt und zeigt den Fehler an. Die Zeilen- und Spaltennummern werden rot dargestellt. Es ist äußerst nützlich, um fehlerhafte XML-Parsing-Fehler schnell zu beheben.

Beachten Sie, dass XHTML 1 (HTML4-Äquivalent) veraltet ist und ich empfehle, XHTML5 zu verwenden. Während ich meine Plattform von XHTML 1 Strict auf XHTML 5 aktualisiert habe (Link in meinem Profil), werden Sie sich besonders schwer tun, bessere Beispiele für strengeren Code zu finden, der sich an XHTML5 hält.

Denken Sie auch daran, dass HTML (text/html) vom HTML-Parser eines Browsers verarbeitet wird, während XHTML (application/xhtml+xml) vom XML-Parser eines Browsers verarbeitet wird.

Ein XML-Parser fehlerhafte XML fängt obwohl es nicht verhindert doppelte id Attribute von Chaos in JavaScript wreaking (das erste `id-Attribute von zwei oder mehr identischen Werten wird immer ausgerichtet sein).

Es sollte auch beachtet werden, dass XHTML1 Attribute denselben Wert wie dem Attributnamen haben definiert:

XHTML 1

<select> 
<option selected="selected"></option> 
</select> 

XHTML 5

<select> 
<option selected="true"></option> 
</select> 

XHTML5 definiert am meisten obwohl nicht alle (z.B. das autocomplete Attribut) als boolean Werte (z. B. true oder false).

Schließlich kann man alles komplett XHTML1/5 konform haben, obwohl, wenn der Medientyp/MIME text/html ist dann Ihre Seite ist nicht XHTML in jeder Form. Einer der größten Vorteile von XHTML ist, dass streng bedient werden muss; strenger Code kann zuverlässig lose serviert werden, obwohl loser Code nicht strikt eingehalten werden kann und ich nicht über Doctypes spreche.

+0

Wo heißt es, dass der Wert von 'selected' zwischen XHTML 1 und 5 von' selected' auf 'true' geändert wurde? –

+0

@MrLister Alle Attribute sind in der aktuellen Spezifikation als "boolean" definiert. https://www.w3.org/TR/2012/WD-html5-20121025/the-option-element.html#attr-option-selected --- "Das' ausgewählte' Attribut ist ein boolesches Attribut. " – John

+1

Nein, nein, der Ausdruck _boolean attribute_ bedeutet nicht, dass der Wert "true" oder "false" sein sollte. Es bedeutet, dass das Attribut selbst abwesend oder präsent sein sollte! Wenn Sie eine XHTML5-Datei über den W3C-Validator ausführen, beschwert sie sich über 'selected =" true "', aber 'selected =" selected "' ist OK. https://validator.w3.org/nu/?showsource=yes&doc=http%3A%2F%2Fmrlister.1apps.com%2Ftest%2Ftest2.xhtml –