Sind Leerzeichen in XML/HTML-Tags erlaubt?

Lesezeit: 2 Minuten

Benutzeravatar von Channel72
Kanal72

Ich weiß, wie Leerzeichen in Textknoten für XML und HTML gehandhabt werden, aber ich bin mir nicht sicher, was Leerzeichen innerhalb von Tag-Elementen selbst betrifft. Offensichtlich werden Leerzeichen innerhalb von Tags verwendet, um Attribute zu trennen, aber ist es zulässig, Leerzeichen nach „<“ oder vor „>“ zu haben?

Zum Beispiel:

<  foo  >
< /foo >

Oder auch:

<foo>
< /  foo >

Sind diese Tags gültiges XML? Was ist mit HTML, vorausgesetzt, es handelt sich um tatsächliche HTML-Tag-Namen?

Das Spezifikation (Abschnitt 3.1 Start-Tags, End-Tags und Tags mit leeren Elementen) sagt, dass es keinen Leerraum zwischen den gibt '<' und der Tag-Name, zwischen '</' und dem Tag-Namen oder innerhalb '/>'. Sie können jedoch nach dem Tag-Namen Leerzeichen hinzufügen:

<foo            >
</foo        >
<bar
/>

  • Ist es dann gültig, lange HTML-Tags in separate Zeilen aufzuteilen? Zum Beispiel: <a heref="/something/" (newline, indent) title="something"> (newline) </a> — zum Beispiel bei langen Tags, die PHP-Code enthalten, um ihn besser lesbar zu machen.

    – iDontKnowBetter

    9. Juli 2012 um 0:31 Uhr


  • @fakaff: Ja, das stimmt. Zeilenumbrüche, Tabulatoren und Leerzeichen sind alle Leerzeichen, und Sie können nach dem Tag-Namen und zwischen Attributen (und sogar um die = in einem Attribut).

    – Gufa

    9. Juli 2012 um 0:36 Uhr

Benutzeravatar von Dan Breslau
Dan Breslau

</ und /> sind Token, also wäre Leerzeichen zwischen den beiden Zeichen ein Syntaxfehler. Und wie Guffa betonte, sind Leerzeichen zwischen dem Eröffnungstoken und dem Namen nicht erlaubt. Aber Sie können Leerzeichen zwischen dem Element-Tag und dem Schließen hinzufügen >(oder />) Zeichen.

BEARBEITEN um Guffas korrektes Zitieren der XML-Spezifikation widerzuspiegeln.

Der HTML-Code[5] Standard scheint genau mit dem XML-Standard übereinzustimmen, wie von Guffa beschrieben…

http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#start-tags

Sie können nicht mit einem Leerzeichen beginnen, aber Sie können (optional) mit einem enden (vor der zweiten spitzen Klammer, die das erste Tag schließt).

1436730cookie-checkSind Leerzeichen in XML/HTML-Tags erlaubt?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy