2009-04-07 17 views
5

¿Es legal no utilizar el atributo targetNamespace o uno vacío en un esquema Xml?Esquema Xml: vacío targetNamespace

Si es así, ¿qué significa que estamos "agregando" algo al "espacio de nombre vacío" (que siempre existe) o creando un "espacio de nombre anónimo" que no está relacionado con otros esquemas?

¿Cómo se vería un documento xml de instancia? ¿Los elementos deben estar explícitamente delimitados en algún espacio de nombres?

Respuesta

11

Consulte XML Schema Part 0: Primer para obtener una descripción muy concisa de cómo funcionan los espacios de destino no declarados.

En cuanto a un targetNamespace vacío, eso no es válido. Desde el spec:

Desde la cadena vacía no es un nombre de espacio de nombres legal, suministrando una cadena vacía para targetNamespace es incoherente, y no es lo mismo que no especificar en absoluto. La forma apropiada de documento de esquema correspondiente a un · schema · cuyos componentes no tienen {target namespace} es uno que no tiene ningún atributo targetNamespace especificado.

3

Sí, definitivamente. Los espacios de nombres XML son opcionales: puede omitirlos si lo desea y si no tiene problemas con elementos XML ambiguos en su "mundo XML".

Cuestiones relacionadas