2011-07-23 21 views
44

He oído que el uso de comillas simples para rodear valores de atributo XML es un "estilo malo". ¿Es esto correcto?Citas en XML. ¿Simple o doble?

Siempre debo escribir:

<element attr="value"> 

O es aceptable escribir:

<element attr='value'> 

O es que no importa el estilo que utilizo?

+0

posible duplicado de [¿Cuál es la forma aceptada de almacenar datos cotizados en XML?] (Http://stackoverflow.com/questions/150423/whats-the-accepted-way-of-storing-quoted-data-in- xml) –

+5

@Cody Gray: la pregunta a la que se vincula pregunta por el escape _within_ del valor del elemento, no en la declaración del elemento (es decir, en torno a los valores de los atributos). – Oded

Respuesta

61

Ambos son legales. Elija uno y quédese con él. No importa.

Desde el spec:

AttValue  ::=  '"' ([^<&"] | Reference)* '"' 
        | "'" ([^<&'] | Reference)* "'" 

Mostrando que ambas son válidas, como es la mezcla de los dos estilos dentro de un elemento, por atributo (aunque sugiero ser coherente dentro de un solo documento/conjunto de documentos).

+0

Ok. Ahora puedo agrument usando esta publicación :) –

+0

@DotNET Ninja - Es como discutir sobre camelCase vs PascalCase ... – Oded

15

Las comillas dobles son más comunes, y es bastante aceptable para cualquier comunidad en particular adoptar un estilo de casa en aras de la coherencia, pero una afirmación general de que una forma de hacerlo es mejor no tiene justificación.

También es peligroso hacer tales recomendaciones, ya que alienta a los "piratas informáticos desesperados" que intentan analizar XML utilizando expresiones regulares en lugar de utilizar un analizador XML real, e invariablemente logran manejar un subconjunto de lo que XML permite legalmente .

Tiendo a utilizar comillas simples para la conveniencia si genero manualmente XML desde aplicaciones Java, aunque cada vez me inclino más a la idea de que generar XML manualmente es casi tan peligroso como analizarlo a mano.

Cuestiones relacionadas