Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las definiciones de tipo de documento (DTD) complican la compatibilidad del espacio de nombres. Por ejemplo, el siguiente XML contiene atributos predeterminados que contienen dos puntos en sus nombres.
<!ATTLIST item x:id CDATA #IMPLIED>
A continuación se muestran posibles resoluciones si se permite esta construcción:
x:
se considera un prefijo de espacio de nombres, pero este prefijo debe poder resolverse mediante unaxmlns:x
declaración de espacio de nombres, que también debe estar presente en algún lugar del DTD. Es un error asignar este prefijo a algo diferente en el documento de instancia.x:
se considera un prefijo de espacio de nombres, pero este prefijo siempre se resuelve en el contexto de los elementos de instancia. Esto significa que el prefijo podría asignar realmente diferentes identificadores uniformes de recursos (URI) de espacio de nombres, en función del ámbito del espacio de nombres en el que aparezca el elementoitem
. Este comportamiento es más predecible que la resolución dada en la viñeta anterior, pero tiene otras ramificaciones complicadas porque requiere que se materialicen los atributos predeterminados.El signo de dos puntos se pasa por alto porque está en una DTD y el nombre del atributo es
x:y
, sin prefijo y sin identificador URI de espacio de nombres.El signo de dos puntos del atributo predeterminado inicia una excepción que indica que no se admiten signos de dos puntos en los nombres dentro de una DTD. Esto da como resultado un comportamiento predecible, pero significa que no se pueden cargar muchos de los DTD publicados de World Wide Web Consortium (W3C).
Cuando el usuario solicita la validación de la DTD, se desactiva la compatibilidad con los espacios de nombres en todo el documento. Esto permite cargar DTD de W3C y dar como resultado un comportamiento predecible.
El XML de Microsoft .NET Framework implementa la segunda opción para la compatibilidad máxima con W3C.