Gamarod JavaScript - Rutinas JavaScript Efectos javascript Codigos javascript Rutinas JavaScript

Programacion




Todo sobre Xml - Novedades de XML para Microsoft Windows 2000

Novedades de XML para Microsoft Windows 2000






El analizador XML de Microsoft (MSXML.DLL) incluido con Microsoft® Windows® 2000 es esencialmente una versión de Service Pack. Contiene algunas características nuevas y un gran número de soluciones a problemas. Esta versión de MSXML.DLL también está disponible en la versión Web de Internet Explorer 5.01, de modo que también funciona en Windows NT 4.0. No obstante, la diferencia más notable entre esta versión del analizador y su predecesora es la sustancial mejora realizada en las áreas de confiabilidad y escala. La nueva versión del analizador está mejor equipada para el servidor, gracias a las mejoras de rendimiento en situaciones de carga y de escala en situaciones de varios procesadores.


La diferencia más notable es la sustancial mejora realizada en las áreas de confiabilidad y escala.

En este artículo se perfilan las nuevas características del analizador y se describen los cambios de comportamiento que afectan a su funcionalidad. Para obtener más información sobre las nuevas características, consulte la documentación de referencia sobre XML en XML Developer Center (en inglés).

Nuevas características del analizador XML de Microsoft

En este artículo se describen con detalle las siguientes características nuevas del analizador XML de Microsoft:

  • Compatibilidad con tipos de datos en atributos
  • Elementos como tipo "id"
  • Tipos de datos como nombres de elementos
  • Creación de instancias de objetos COM en bloques de secuencias de comandos XSL
Compatibilidad con tipos de datos en atributos

La compatibilidad con tipos de datos proporcionada con la versión de Internet Explorer 5 del analizador XML de Microsoft se ha ampliado para incluir compatibilidad con tipos de datos simples (como "int", "float" y "date") en los atributos. Si desea ver la lista completa de los tipos de datos simples compatibles, consulte la documentación de referencia sobre esquemas de datos XML.

La mayor compatibilidad con tipos de datos del analizador permite tener datos centrados en los atributos a los que todavía se les puede asignar un tipo de datos. El tipo de datos se puede declarar en un nodo de atributo a través de un esquema, igual que se declara en un nodo de elemento. Utilice el atributo dt:type en el elemento AttributeType:

<AttributeType name="y" dt:type="int"/>
<ElementType name="x">
<attribute type="y"/>
</ElementType>


Elementos como tipo "id"

Los elementos pueden tener ahora el tipo "id", como se muestra en el código siguiente:

<foo xmlns:dt="urn:schemas-microsoft-com:datatypes">
<bar dt:dt="id">fooid</bar>
</foo>

El elemento bar tiene el tipo "id", lo que significa que el valor de texto del elemento bar se puede utilizar para hacer referencia al elemento foo. Además de asignar el tipo "id" al elemento de la instancia, el esquema también se puede utilizar para asignar el tipo "id" al elemento.

Una vez asignado el tipo "id" a un elemento, se puede hacer referencia al elemento primario del mismo con el valor del elemento id. Por ejemplo, si pasase la cadena "fooid" al método nodeFromID, dicho método devolvería el elemento foo.

xmldoc.nodeFromID("fooid")

Tipos de datos como nombres de elementos

Actualmente, los tipos de datos se pueden declarar en la instancia, con el atributo dt:dt, o en el esquema, ya sea con el atributo dt:type o con el elemento datatype. En la versión de Windows 2000 del analizador XML de Microsoft, también se pueden asignar tipos a los elementos a través de sus nombres.

El elemento XML siguiente es del tipo entero (integer), pues su nombre pertenece al espacio de nombre "urn:schemas-microsoft-com:datatypes", y tiene un nombre local que constituye un tipo de datos válido, "int":

<dt:int>8</dt:int>

Esta nueva forma de asignación de tipos a los elementos supone un método taquigráfico para crear elementos con tipos.

Creación de instancias de objetos COM en bloques de secuencias de comandos XSL

En la versión del analizador XML de Microsoft incluida con Internet Explorer 5, no se permitía la creación de instancias de objetos COM en bloques xsl:script por motivos de seguridad. Este problema se ha solucionado en la versión de Windows 2000 del analizador XML de Microsoft, de modo que ahora se pueden crear instancias de objetos COM en bloques xsl:script con seguridad.

Cambios en el comportamiento del analizador XML de Microsoft

En la versión de Windows 2000 del analizador XML de Microsoft se han introducido algunos cambios de comportamiento. Dichos cambios son consecuencia de la solución de algunos problemas y de los comentarios de los clientes. En la tabla siguiente se enumeran las soluciones a problemas que podrían causar cambios no previstos en su comportamiento.

Soluciones a problemas

Área funcional Descripción del problema Comentarios
Patrones XSL Una consulta con // devuelve duplicados cuando los elementos se definen con una entidad. Ahora no se permite la exploración de patrones XSL en el contenido de un nodo DocumentType.
Tipos de datos El elemento mantiene el tipo de datos incluso después de la declaración de tipo de datos (es decir, se quita "dt:dt='int'"). El elemento deja de mantener su tipo de datos al quitar la declaración de tipo de datos.
Espacios de nombres Se permiten espacios de nombres reservados para calificar a los elementos. El usuario no puede establecer el prefijo "xml" en ninguna combinación de letras mayúsculas o minúsculas. Se trata de un prefijo de espacio de nombres reservado.
Espacios de nombres No se mantienen las declaraciones de espacio de nombres en los elementos vacíos. Ahora se mantienen las declaraciones de espacio de nombres en los elementos vacíos.
Tipos de datos La validación del tipo de datos se produce antes de las transformaciones XSL. Esto hace que elementos XSL como el siguiente causen errores:
<price dt:dt="number">
<xsl:value-of select="price"/>
</price>
El analizador XML de Microsoft ya no valida el tipo de datos antes de que XSL pueda realizar la transformación.
Objeto de origen de datos XML El evento oncellchange se activa dos veces. El evento oncellchange se activa ahora una sola vez por cada cambio en los datos.
Modelo de objetos Al obtener la propiedad previousSibling del primer elemento secundario de un elemento, se devuelve el último atributo de la colección attributes del elemento primario (si la colección attribute no está vacía). La propiedad previousSibling del primer elemento secundario de un elemento devuelve ahora un valor nulo (con independencia de que la colección attributes del elemento primario esté vacía).
Modelo de objetos Un elemento clonado mantenía las asignaciones de Id. del documento original (es decir, la exploración por Id. le devolvía al documento original). Los identificadores de un documento clonado se asignan a nodos de dicho documento clonado, no a los nodos del documento original.
Modelo de objetos Los documentos clonados no contienen un clon del subconjunto interno del documento original. Los documentos clonados contienen ahora un clon del subconjunto interno del documento original (si existe).
DSO XML Al establecer la propiedad documentElement para reemplazar el elemento raíz, no se reconstruye la forma del recordset. Al establecer la propiedad documentElement para reemplazar el elemento raíz, se reconstruye la forma del recordset.
Validación Se permite que exista XML no válido en un DTD (como valor de una entidad). Ya no se permite que exista XML no válido en un DTD (una vez resuelta la entidad).
Modelo de objetos No hay mensajes de error en Visual Basic®. Los mensajes de error están ahora disponibles en Visual Basic.
Modelo de objetos Al establecer la propiedad nodeTypedValue de un elemento de tipo booleano, se genera XML no válido después de mantenerlo. El valor "1" se mantiene ahora cuando el valor booleano se establece con "true" en lugar de "-1". El valor "-1" no es válido para los nodos de tipo booleano.
Modelo de objetos de IE4 Valor de atributo no compatible con Internet Explorer 4.0. \t y las nuevas líneas se han convertido en ' ' (espacio) en los valores de atributo. Esto sí es compatible con la implementación de Internet Explorer 4.0.
Analizador La versión 2.0 del analizador XML de Microsoft no es compatible con la codificación "us-ascii". El analizador XML de Microsoft es ahora compatible con "us-ascii".
Modelo de objetos No normalizar las nuevas líneas es un gran problema para las aplicaciones XML basadas en HTML. Los retornos de carro y las nuevas líneas se convierten ahora en nuevas líneas.
Modelo de objetos Al cargar un documento XML con el método loadXML, resolveExternals se ve forzado a devolver False. Si no hay contexto de seguridad (como en C, C++ o un comportamiento HTML), la propiedad resolveExternals es False. Si hay un contexto de seguridad (como en una página HTML), se debe establecer con True.
Modelo de objetos El método loadXML devuelve S_FALSE si el parámetro isSuccessful es NULL. El analizador XML de Microsoft sólo devuelve S_FALSE en los errores de análisis.
Analizador La versión 2.0 del analizador XML de Microsoft no puede controlar las entidades de parámetros utilizadas en declaraciones de elementos como la siguiente: <!ELEMENT document (%inline;)> Ahora el analizador analiza correctamente las entidades de parámetros en declaraciones de elementos:  
<!ELEMENT document (%inline;)>
Tipos de datos La implementación de bin.base64 no es correcta. La versión 2.0 del analizador XML de Microsoft reconoce "*" en lugar de "/" en el juego de caracteres. El juego de caracteres base64 es:
'ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz0123456789+/'. El analizador XML de Microsoft lo reconoce ahora correctamente.
XSL Las secuencias de comandos de XSL pueden modificar el DOM de Internet Explorer, pero no de otros contenedores. El analizador XML de Microsoft no puede modificar el DOM, independientemente del contenedor.
DSO XML El campo $Text y el valor de texto del nodo que se asigna a dicho campo tienen valores distintos. El campo $Text y los campos de valor de los nodos se han normalizado.
XSL XSL expone atributos "dt" para los tipos de datos definidos en un esquema. El atributo dt:dt no se expone en el árbol DOM cuando los tipos de datos se definen mediante un esquema.
Analizador Los identificadores incluidos en declaraciones de entidad se registran. El analizador XML de Microsoft ya no registra los identificadores incluidos en declaraciones de entidad.
 

Otros cambios en el comportamiento

Los cambios que se describen a continuación se han extraído de los comentarios de los clientes y podrían alterar el comportamiento de las aplicaciones:

  • Los URNs de Microsoft no distinguen mayúsculas de minúsculas.
  • Si se llama dos veces a id(), haciendo referencia al mismo nodo, se atenderá a la segunda referencia.
  • Al obtener acceso a la propiedad namespaceURI de un atributo xmlns:foo y xml:space, se obtendrá "http://www.w3.org/XML/1998/namespace" y "", respectivamente. Este cambio es actualmente un error y supone una alteración del comportamiento correcto del analizador XML de Microsoft incluido con Internet Explorer 5, el cual se corregirá en una futura versión.
Carga y ganancias de rendimiento

Se ha solucionado un problema de contención en el nivel de automatización para que el analizador se escale de forma positiva al utilizarlo en un archivo de páginas Active Server (ASP). En equipos con varios procesadores, esto significa que el rendimiento de los archivos .asp con XML aumentará radicalmente. En el gráfico siguiente se ilustran estas ganancias, donde el eje x es el número de procesadores y el eje y es el número de solicitudes ASP por segundo:

La medición se realizó con una página XML.ASP sencilla que realizaba algunas operaciones en el árbol DOM.

Asimismo, se han solucionado varios errores de carga para mejorar sustancialmente la confiabilidad del analizador en situaciones de carga. El analizador es ahora mucho más confiable en situaciones de carga, prueba de lo cual es la distribución del analizador por parte de Microsoft.com en algunos de sus sitios más utilizados.




Informe (Xml) de Dr. XML


 
Valora este artículo   Malo Excelente  

Han valorado este artículo de Xml. 6 usuario(s).
Valoración media: Novedades

Este artículo ha sido leído ( 7195 veces ).
Fecha: 4/17/2003


Agregar comentario | (0) comentarios
trucos Xml Recomendar este artículo Xml
Foros sobre Xml
Xml
Imprimir Xml
artículo Xml Agregar a Favoritos este artículo Xml


Xml
Artículos Relacionados

• Novedades de XML para Microsoft Windows 2000

• Crear recordsets XML

• Introducción al XML.

• El DXML se globaliza: La traducción y los menús XML/DHTML.

• Codificación de datos XML

• Por qué XML?

• Manual para principiantes de XML DOM