pagina ltr lenguaje idioma español definir xml xml-validation well-formed infoset

ltr - ¿Qué es un conjunto de información XML y en qué se diferencia de un documento XML?



html lenguaje es (8)

Por favor vea este enlace de MSDN. http://msdn.microsoft.com/en-us/library/aa468561.aspx

Es una muy buena explicación de los conceptos y, con suerte, te lo aclarará.

He intentado leer http://www.w3.org/TR/xml-infoset/ y la entrada de wikipedia . Pero, francamente, todavía no estoy seguro de cuál es la diferencia.

La frase :

Un documento XML tiene un conjunto de información si está bien formado y satisface las restricciones de espacio de nombres. No hay ningún requisito para que un documento XML sea válido para tener un conjunto de información.

Desde la entrada de wikipedia parece no tener sentido. ¿Cómo puede un documento no válido tener una semántica y, por lo tanto, cómo puede ser un conjunto de ''información''?

¿Qué es este ''conjunto'' que

bien formado y satisface el espacio de nombres restringido

XML tiene? Y de qué manera es útil en sí mismo. En otras palabras, ¿por qué es semánticamente necesario definir el conjunto de información XML ? ¿Hay alguna información que no pueda ser representada en XML? Si es así, puedo ver el conjunto limitante del conjunto de información XML, pero si no, seguramente el conjunto de información XML no tiene sentido como el término "información".

Gracias por las interesantes respuestas: todavía no entiendo por qué el conjunto de información Xml tiene algún propósito en lugar del término información. Pero ustedes me han dado la respuesta directa a la pregunta .


Un buen ejemplo que acabo de encontrar es el PDF de WCF de David Chappell . Así es como funciona cuando se usa TCP, por ejemplo:

Para permitir un rendimiento óptimo cuando ambas partes en una comunicación se basan en WCF, la codificación de cable utilizada en este caso es una versión binaria optimizada de SOAP. Los mensajes aún se ajustan a la estructura de datos de un mensaje SOAP, conocido como su conjunto de información, pero su codificación utiliza una representación binaria de ese conjunto de información en lugar del formato estándar de corchetes y texto de ángulo de XML. Usar esta opción tendría sentido para comunicarse con la aplicación cliente del centro de llamadas, ya que también se basa en WCF, y el rendimiento es una preocupación primordial.


Un conjunto de información XML es un conjunto abstracto de conceptos tales como atributos y entidades que se pueden usar para describir un documento XML válido. De acuerdo con la especificación, "el conjunto de información de un documento XML consta de una serie de elementos de información; el conjunto de información de cualquier documento XML bien formado contendrá al menos un elemento de información del documento y varios otros".

El hecho de que un documento XML sea un conjunto de información no significa que se ajuste a un XSD y que sea un documento XML válido.


Un documento XML válido cumple con los requisitos de una DTD o XSD (u otras normas). Si está bien formado, aún puede ser "inválido", si viola las reglas en el DTD o XSD dado.

Edit: soy nuevo en esta área de XML, pero parece que el conjunto de información es la descripción de "nivel abstracto" de las partes de un documento XML, independientemente de la implementación técnica real, que podría ser, por ejemplo, un Modelo de Objeto de Documento implementación.


Una manera útil de pensar en la distinción entre el texto XML y el conjunto de información XML es considerar el conjunto rápido de información . Esta es una representación binaria del conjunto de información XML.

Así que tiene un resumen "infoset" que es un modelo conceptual que representa datos XML (nodos, elementos, atributos, etc.). Esto se puede representar físicamente como un documento XML de texto, o como un flujo rápido de Infoset. Ambos representan los mismos datos, pero de maneras radicalmente diferentes.


XML Infoset es un requisito sobre cómo debe estructurar un documento XML serializado.

El XML serializado puede tener diferentes formas, como algunos formatos binarios ( Infoset rápido ) o texto (la forma más popular).

Básicamente, para el formato de documento XML (texto), cada elemento y atributo debe definirse en XSD a través del espacio de nombres correspondiente.

Here encontrarás un ejemplo.


XML es un lenguaje, por lo tanto tiene sintaxis, y XML Infoset tiene especificación del modelo de datos, esto se debe a la necesidad de las aplicaciones que se basan en el modelo de datos en lugar de la sintaxis; XML viene antes de XML Infoset; Referencia: consideraciones de protocolo para Web Linkbase Access


XML no es texto. XML "es" el conjunto de información XML. Esto puede luego ser serializado en texto en un documento XML, pero es el conjunto de información XML que es la realidad.

El conjunto de información puede existir en la memoria como un árbol DOM, por ejemplo. Existe en la memoria como la implementación de un modelo de objeto abstracto.

¿Qué pasa si lo serialicé como UTF-8 y luego como UTF-16? Es probable que los resultados sean dos conjuntos de bits diferentes, pero el mismo conjunto de información.

Considera también que con el texto tiene sentido hacer cosas como concatenación de cadenas. No desea concatenar un "<" en medio de un elemento XML. Tienes que codificarlo primero. ¿Por qué tendrías que hacer esto si solo fuera un texto? Si usara el DOM, por ejemplo, solo diría element.InnerText = "<"; Cuando se serializa, el "<" se codificaría en "& lt;". Sin embargo, es el mismo conjunto de información.