2016-11-15 3 views
0

De W3 documentation, le <!doctype> ne devrait pas avoir une barre oblique à la fin (par exemple. <!doctype />), parce que ce n'est pas Needly un élément vide, mais il est (citation) « une instruction spéciale ».Doctype avec une barre oblique cassera quelque chose?

Mais je manque de respect envers la documentation de la syntaxe sur la règle 4.1, pourrait j'ignorer cette règle et de mettre une barre oblique sur la fin ou les navigateurs ignoreront complètement mon doctype? Il existe un moyen de savoir si mon doctype fonctionne comme prévu?

En outre: XML prend également en charge doctype et il doit être déclaré?

+0

Pourquoi avez-vous besoin d'un antislash? –

+0

Je construis une librairie pour générer des choses, mais '! Doctype' manque de toutes les règles communes, et j'ai besoin de le savoir, je devrais vraiment créer une exception pour cela ou je peux juste travailler avec ça comme un élément void. –

+1

Je pense qu'il doit y avoir un HTML, comme , donc mettre un/in qui semble mauvais. Voir: https://www.onlinewebcheck.com/check.php?adv=1 –

Répondre

1

<!DOCTYPE ...> est un document type declaration; son syntax in the W3C XML Recommendation est défini comme suit:

doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? ('[' intSubset ']' S?)? '>' 

Il n'y a jamais une barre oblique à la fin d'une déclaration de type de document. Il ne s'agit pas clairement d'un élément XML , qui peut comporter une barre oblique lors de la fermeture automatique: <tag/>. HTML 5 peut ne pas respecter les règles XML dans d'autres domaines, mais comme le montre votre citation, son support hérité pour la syntaxe de déclaration de type de document ne lui permet pas d'avoir une barre oblique à fermeture automatique. Vous êtes libre d'inventer la syntaxe que vous voulez pour vos propres besoins, mais si vous déviez du standard XML et HTML 5, vous perdrez la compatibilité avec les outils qui respectent ces normes. Non recommandé.