2010-08-02 24 views
3

Le code ci-dessous est-il valide XML?S'agit-il d'un commentaire XML valide?

<sometag 
    attribute1="value1" 
    <!-- attribute2="value2" --> 
    attribute3="value3"> 

</sometag> 
+0

Quand j'ai essayé ceci dans xmlspy ou essaye d'ouvrir le xml dans IE il donne l'erreur. Donc je pense que ceci n'est pas valide – Raghuram

Répondre

6

questions comme celle-ci mieux d'y répondre en se référant aux spécifications pertinentes. Dans ce cas, la spécification Extended Markup Language (XML) 1.1.

Ce dit:

Les commentaires peuvent apparaître n'importe où dans un document en dehors d'un autre balisage; de plus, ils peuvent apparaître dans la déclaration de type de document aux endroits autorisés par la grammaire.

Et la grammaire pour un élément est balises de début:

[40] STag  ::=  '<' Name (S Attribute)* S? '>' 
[41] Attribute ::=  Name Eq AttValue 

où les symboles non terminaux SNameEq et AttValue sont définis ailleurs. Ces 2 productions (et les autres que je n'ai pas incluses ici) n'autorisent pas le symbole non-terminal Comment dans ce contexte.

Donc, c'est un NON définitif.

+0

Merci pour le lien, et merci pour référencer explicitement la grammaire. – aioobe

+0

Je respecte que votre réponse soit correcte, mais je ne suis pas d'accord pour répondre à ces questions en vous reportant aux spécifications - Pourriez-vous demander à quelqu'un de se reporter à la spécification du langage C pour savoir si un commentaire était valide? – Justin

+1

@Kragen - 1) en fonction de qui a demandé, oui je le ferais. 2) C'est ce que l'OP ** voulait réellement **. Je ne pense pas qu'il soit approprié de traiter quelqu'un avec ~ 12k points de réputation comme s'il s'agissait d'un débutant. Un bon ingénieur logiciel met en œuvre selon les spécifications pertinentes. S'il ne le fait pas, il n'est pas professionnel, OMI. –

1

Les commentaires ne peuvent pas apparaître au milieu des étiquettes.