SlideShare uma empresa Scribd logo
1 de 5
n DataSet de ADO.NET es una vista, una vista relacional de datos que puede representarse
en XML. En Visual Studio y .NET Framework, XML es el formato para almacenar y trasmitir
datos de todos tipos. La relación entre DataSet y XML le permite aprovechar las siguientes
funciones del DataSet:

       La estructura de un DataSet, sus tablas, columnas, relaciones y limitaciones
        pueden definirse en un esquema XML. Los esquemas XML son un formato basado en
        estándares del W3C para definir la estructura de datos XML. Los DataSets pueden
        usar los métodos ReadXmlSchema y WriteXmlSchema para leer y escribir
        esquemas que almacenan información estructurada. Si no hay un esquema
        disponible, el DataSet puede inferir uno (a través de su
        método InferXmlSchema) de los datos en un documento XML que está
        estructurado de manera relacional.
       Puede generar una clase DataSet que incorpore información de esquemas para
        definir sus estructuras de datos (como tablas y columnas) como miembros de
        clases.
       Puede leer un documento o flujo XML en un DataSet que use el método DataSet's
        ReadXml y puede escribir un DataSet de un XML utilizando el método DataSet's
        WriteXml. Debido a que XML es un formato estándar de intercambio para datos
        entre distintas aplicaciones, esto significa que puede cargar un DataSet con
        información formateada en XML enviada por otras aplicaciones. De manera similar,
        un DataSet puede escribir sus datos como un flujo o documento XML, para ser
        compartido con otras aplicaciones o simplemente almacenado en formato estándar.
       Puede crear una vista XML (un objeto XmlDataDocument) de los contenidos de
        un DataSet y luego ver y manipular los datos utilizando métodos relacionales (a
        través de DataSet) o métodos XML. Las dos vistas se sincronizan automáticamente
        a medida que van cambiando.

La clase XmlDataDocument le permite cargar datos relacionales o datos XML y
manipularlos utilizando el DOM de W3C.

XmlDataDocument tiene una afiliación cercana con la clase DataSet, la cual proporciona
una vista relacional de los datos XML cargados. Cualquier cambio hecho
a XmlDataDocument se refleja en el DataSet, y viceversa.

Para cargar datos relacionales, especifique el DataSet que contiene los datos relacionales
como el parámetro en el constructor XmlDataDocument.




Con ADO.NET es posible llenar un DataSet a partir de una secuencia o un documento XML. Se
puede utilizar la secuencia o el documento XML para suministrar datos al DataSet, información de
esquema o ambas cosas. La información suministrada desde la secuencia o el documento XML
puede combinarse con datos o información de esquema existente ya presente en el DataSet.

ADO.NET también permite crear una representación XML de un DataSet, con o sin su esquema,
para transportar el DataSet a través de HTTP con el fin de que lo utilice otra aplicación u otra
plataforma compatible con XML. En una representación XML de un DataSet, los datos se escriben
en XML y el esquema, si está incluido en línea en la representación, se escribe utilizando el lenguaje
de definición de esquemas XML (XSD). XML y el esquema XML proporcionan un formato cómodo
para transferir el contenido de un DataSet a y desde clientes remotos.
n ADO.NET es posible escribir una representación XML de un DataSet, con o sin su esquema. Si la
información de esquema está incluida en línea con el código XML, se escribirá con el lenguaje de
definición de esquemas XML (XSD). El esquema contiene las definiciones de tabla del DataSet, así
como las definiciones de relaciones y restricciones.

Cuando un DataSet se escribe como datos XML, las filas del DataSet se escriben en sus versiones
actuales. Sin embargo, el DataSet también se puede escribir como un DiffGram, de forma que se
incluyan los valores actuales y originales de las filas.

La representación XML del DataSet se puede escribir en un archivo, una secuencia, un XmlWriter o
una cadena. Estas opciones ofrecen una gran flexibilidad en cuanto a la forma de transportar la
representación XML del DataSet. Para obtener la representación XML del DataSet como una
cadena, utilice el métodoGetXml, como se muestra en el ejemplo siguiente.

C#
VB
string xmlDS = custDS.GetXml();

GetXml devuelve la representación XML del DataSet sin información del esquema. Para escribir la
información de esquema del DataSet (como esquema XML) en una cadena, utilice GetXmlSchema.

Para escribir un DataSet en un archivo, una secuencia o XmlWriter, utilice el método WriteXml. El
primer parámetro que se pasa a WriteXml es el destino del resultado XML. Por ejemplo, pasar una
cadena que contiene un nombre de archivo, un objeto System.IO.TextWriter, etc. Puede pasar un
segundo parámetro opcional de un XmlWriteMode para especificar cómo se va a escribir el
resultado XML.

En la siguiente tabla se muestran las opciones de XmlWriteMode.

Al escribir una representación XML de un DataSet que contiene objetos DataRelation, lo más
probable es que desee que el código XML resultante tenga las filas secundarias de cada relación
anidadas dentro de sus elementos primarios relacionados. Para ellos establezca la
propiedad Nested de la DataRelation en truecuando agregue la DataRelation al DataSet. Para
obtener más información, vea DataRelations anidadas.




XML significa "eXtensible Markup Language" (lenguaje de marcas extensible), mientras que
XSD significa "XML Schema definition" (definición de esquemas XML). Los documentos XML
transfieren datos hacia y desde servicios web. XSD define la estructura y el tipo de datos de
los elementos de un documento XML. Utiliza XSD para validar el contenido de un documento
XML. Es posible que tengas que modificar el XSD generado automáticamente para cumplir
con los requerimientos de un negocio.

Como el XSD generado automáticamente y modificado representa el documento XML, valida
el archivo (por ejemplo, empleados_lista.xml) con respecto al archivo XSD (por ejemplo,
empleados_lista.xsd) utilizando un validador en línea desde w3.org. Antes de hacerlo,
transfiere los archivos XML y XSD a un servidor. Luego, en el cuadro de texto "Address"
(Dirección) en el validador en línea, ingresa la dirección URL del nombre del archivo XML,
luego la dirección URL del nombre del archivo XSD con un espacio entre los nombres.
Presiona la opción "Get Results" (Obtener resultados). Si aparecen mensajes de error,
entonces modifica el contenido del archivo XSD y pruébalo. Hazlo varias veces hasta que no
aparezca ningún error.



XML dispone de su propio sistema de definición: XSD (XML Schema Definition). Con XSD puede
definirse un lenguaje XML con un nivel de detalle mucho mayor del que permite DTD, por
ejemplo, XSD permite especificar el tipo de dato que contendrá cada elemento o atributo, como
fechas, enteros o incluso expresiones regulares.

El sistema XSD está inspirado en los lenguajes de programación orientados a objetos. Una XSD
es una instancia del esquema XMLSchema, además los XML finales basados en el XSD se
consideran instancias del XSD. Para implementar la instanciación de documentos, se introduce el
concepto de espacio de nombres (namespace):

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="urn:test:biblioteca"
            ...>


Esta declaración en el XSD indica que el XSD en sí es una instancia de XMLSchema (y se indica
la URL donde encontrarlo). La declaración indica también que el XSD crea un nuevo lenguaje en
el espacio de nombres indicado por targetNamespace, y en este caso se indica con un URN. Los
documentos finales, basados en este XSD deberán declarar que usan este espacio de nombres
con

<?xml version="1.0" encoding="UTF-8"?>
<biblioteca xmlns="urn:test:biblioteca">
...
</biblioteca>




e observa que el XSD es más complejo que la DTD, pero a cambio permite definir el nuevo
lenguaje XML a un nivel de detalle muy superior que la DTD. Además, el XSD está escrito en
XML, por lo que los procesadores y validadores del propio XSD pueden reutilizar código y
beneficiarse de la sencillez de procesado de XML.

Notas:

         La declaración xmlns=“urn:test:biblioteca” indica que usaremos los nombres definidos
         en el XSD.
         Al definir un elemento, si no se especifican minOccurs o maxOccurs, se considera que
         estas valen “1”. El valor maxOccurs=“unbounded” indica que no hay límite superior.
         Al definir un atributo, use=“required” indica que dicho atributo es obligatorio, por
         defecto se asume que un atributo es opcional, aunque también se puede indicar con
         use=“optional”.
         Las definiciones de tipo se pueden extraer, como se ha hecho con el tipo “idType”, que
         define un tipo para todos los id. Procediendo así, se puede reutilizar dicha definición de
         tipo para varios elementos.
Introducción general
El propósito del estándar XML Schema es definir la estructura de los
documentos XML que estén asignados a tal esquema y los tipos de datos válidos
para cada elemento y atributo. En este sentido lasposibilidades de control sobre la
estructura y los tipos de datos son muy amplias.

Al restringir el contenido de los ficheros XML es
posible intercambiar información entre aplicaciones con gran seguridad.
Disminuye el trabajo de comprobar la estructura de los ficheros y el tipo de los
datos.

XML Schema tiene un enfoque modular que recuerda a la programación
orientada a objetos y que facilita la reutilización de código.

Los tipos de datos tienen en XML Schema la función de las clases en la POO. El
usuario puede construir tipos de datos a partir de tipos predefinidos, agrupando
elementos y atributos de una determinada forma y con mecanismos de extensión
parecidos a la herencia. Los tipos de datos se clasifican en función de los
elementos y atributos que contienen.

Los tipos de datos en XML Schema pueden ser simples o complejos:

   1. Definiciones de tipos simples.
   2. Definiciones de tipos complejos.

XML Schema incluye el uso de namespaces. Los "espacios de nombres"
permiten definir elementos con igual nombre dentro del mismo contexto, siempre
y cuando se anteponga un prefijo al nombre del elemento. El uso
de namespaces también evita confusiones en la reutilización de código.

Es posible agrupar atributos, haciendo más comprensible el uso de un grupo de
aspectos de varios elementos distintos, pero con denominador común, que deben
ir juntos en cada uno de estos elementos.

Los ficheros XML Schema se escriben en el propio lenguaje XML.

Tipos simples
Tipos simples son aquellos que no tienen ni elementos hijos ni atributos.

Son tipos simples:
Tipos predefinidos de XML: string, double, boolean, etc.
      List (lista de datos separados por espacios).
      Union (tipo de dato derivado de la unión de tipos predefinidos).

Tipos complejos
Son tipos complejos aquellos que tienen elementos hijos y/o atributos.

Pueden tener nombre o ser anónimos. Si tienen nombre pueden
ser reutilizados dentro del mismo XML Schema o por otros XML Schemas.

Es posible "mezclar" o combinar elementos y texto.

Mais conteúdo relacionado

Mais procurados (20)

Ado.net
Ado.netAdo.net
Ado.net
 
ADO
ADOADO
ADO
 
Ado.Net
Ado.NetAdo.Net
Ado.Net
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basic
 
Primer trabajo de sistemas de informacion empresarial
Primer trabajo de sistemas de informacion empresarialPrimer trabajo de sistemas de informacion empresarial
Primer trabajo de sistemas de informacion empresarial
 
Ado.net
Ado.netAdo.net
Ado.net
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Diapositivas de ado.net
Diapositivas de ado.netDiapositivas de ado.net
Diapositivas de ado.net
 
Base de datos
Base de datosBase de datos
Base de datos
 
ADO .net
ADO .netADO .net
ADO .net
 
Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Net
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
 
Bases datos
Bases datosBases datos
Bases datos
 
U4
U4U4
U4
 
U4
U4U4
U4
 
Objeto ado.net
Objeto ado.netObjeto ado.net
Objeto ado.net
 
Ado net
Ado netAdo net
Ado net
 
8. Acceso A Datos Con Microsoft Ado.Net
8.  Acceso A Datos Con Microsoft Ado.Net8.  Acceso A Datos Con Microsoft Ado.Net
8. Acceso A Datos Con Microsoft Ado.Net
 
Omar unidad 07 base de datos
Omar unidad 07 base de datosOmar unidad 07 base de datos
Omar unidad 07 base de datos
 

Destaque

Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014ahtreb57
 
Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Abrirllave
 
Pyxser, Serialización XML en Python (paper)
Pyxser, Serialización XML en Python (paper)Pyxser, Serialización XML en Python (paper)
Pyxser, Serialización XML en Python (paper)damowe
 
Contenidos detallados del tutorial de LMSGI
Contenidos detallados del tutorial de LMSGIContenidos detallados del tutorial de LMSGI
Contenidos detallados del tutorial de LMSGIAbrirllave
 

Destaque (10)

Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
 
Nu soap
Nu soapNu soap
Nu soap
 
Rdf
RdfRdf
Rdf
 
Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)
 
Pyxser, Serialización XML en Python (paper)
Pyxser, Serialización XML en Python (paper)Pyxser, Serialización XML en Python (paper)
Pyxser, Serialización XML en Python (paper)
 
Wsdl concepto
Wsdl conceptoWsdl concepto
Wsdl concepto
 
Web3y4
Web3y4Web3y4
Web3y4
 
Introducción a XML Schema
Introducción a XML SchemaIntroducción a XML Schema
Introducción a XML Schema
 
Chuleta de DTD
Chuleta de DTDChuleta de DTD
Chuleta de DTD
 
Contenidos detallados del tutorial de LMSGI
Contenidos detallados del tutorial de LMSGIContenidos detallados del tutorial de LMSGI
Contenidos detallados del tutorial de LMSGI
 

Semelhante a XML Schema y DataSet (20)

10. Usando Datos Xml
10.  Usando Datos Xml10.  Usando Datos Xml
10. Usando Datos Xml
 
Trabajo xml
Trabajo xmlTrabajo xml
Trabajo xml
 
Xml json yaml
Xml json yamlXml json yaml
Xml json yaml
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
7.3.2 esquemas xml
7.3.2 esquemas xml7.3.2 esquemas xml
7.3.2 esquemas xml
 
Proveedor act1 uni2_daw_6a
Proveedor act1 uni2_daw_6aProveedor act1 uni2_daw_6a
Proveedor act1 uni2_daw_6a
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Xsd douglas morales
Xsd douglas moralesXsd douglas morales
Xsd douglas morales
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.net
 
Lenguajes de marcado
Lenguajes de marcadoLenguajes de marcado
Lenguajes de marcado
 
Xml presentacin
Xml presentacinXml presentacin
Xml presentacin
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
 
bd.net.pptx
bd.net.pptxbd.net.pptx
bd.net.pptx
 
Oracle xmldb
Oracle xmldbOracle xmldb
Oracle xmldb
 
Toala Miguel 2C3
Toala Miguel 2C3Toala Miguel 2C3
Toala Miguel 2C3
 
Edición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcadoEdición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcado
 
Xml
XmlXml
Xml
 
Xml
XmlXml
Xml
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.ppt
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones Java
 

XML Schema y DataSet

  • 1. n DataSet de ADO.NET es una vista, una vista relacional de datos que puede representarse en XML. En Visual Studio y .NET Framework, XML es el formato para almacenar y trasmitir datos de todos tipos. La relación entre DataSet y XML le permite aprovechar las siguientes funciones del DataSet:  La estructura de un DataSet, sus tablas, columnas, relaciones y limitaciones pueden definirse en un esquema XML. Los esquemas XML son un formato basado en estándares del W3C para definir la estructura de datos XML. Los DataSets pueden usar los métodos ReadXmlSchema y WriteXmlSchema para leer y escribir esquemas que almacenan información estructurada. Si no hay un esquema disponible, el DataSet puede inferir uno (a través de su método InferXmlSchema) de los datos en un documento XML que está estructurado de manera relacional.  Puede generar una clase DataSet que incorpore información de esquemas para definir sus estructuras de datos (como tablas y columnas) como miembros de clases.  Puede leer un documento o flujo XML en un DataSet que use el método DataSet's ReadXml y puede escribir un DataSet de un XML utilizando el método DataSet's WriteXml. Debido a que XML es un formato estándar de intercambio para datos entre distintas aplicaciones, esto significa que puede cargar un DataSet con información formateada en XML enviada por otras aplicaciones. De manera similar, un DataSet puede escribir sus datos como un flujo o documento XML, para ser compartido con otras aplicaciones o simplemente almacenado en formato estándar.  Puede crear una vista XML (un objeto XmlDataDocument) de los contenidos de un DataSet y luego ver y manipular los datos utilizando métodos relacionales (a través de DataSet) o métodos XML. Las dos vistas se sincronizan automáticamente a medida que van cambiando. La clase XmlDataDocument le permite cargar datos relacionales o datos XML y manipularlos utilizando el DOM de W3C. XmlDataDocument tiene una afiliación cercana con la clase DataSet, la cual proporciona una vista relacional de los datos XML cargados. Cualquier cambio hecho a XmlDataDocument se refleja en el DataSet, y viceversa. Para cargar datos relacionales, especifique el DataSet que contiene los datos relacionales como el parámetro en el constructor XmlDataDocument. Con ADO.NET es posible llenar un DataSet a partir de una secuencia o un documento XML. Se puede utilizar la secuencia o el documento XML para suministrar datos al DataSet, información de esquema o ambas cosas. La información suministrada desde la secuencia o el documento XML puede combinarse con datos o información de esquema existente ya presente en el DataSet. ADO.NET también permite crear una representación XML de un DataSet, con o sin su esquema, para transportar el DataSet a través de HTTP con el fin de que lo utilice otra aplicación u otra plataforma compatible con XML. En una representación XML de un DataSet, los datos se escriben en XML y el esquema, si está incluido en línea en la representación, se escribe utilizando el lenguaje de definición de esquemas XML (XSD). XML y el esquema XML proporcionan un formato cómodo para transferir el contenido de un DataSet a y desde clientes remotos.
  • 2. n ADO.NET es posible escribir una representación XML de un DataSet, con o sin su esquema. Si la información de esquema está incluida en línea con el código XML, se escribirá con el lenguaje de definición de esquemas XML (XSD). El esquema contiene las definiciones de tabla del DataSet, así como las definiciones de relaciones y restricciones. Cuando un DataSet se escribe como datos XML, las filas del DataSet se escriben en sus versiones actuales. Sin embargo, el DataSet también se puede escribir como un DiffGram, de forma que se incluyan los valores actuales y originales de las filas. La representación XML del DataSet se puede escribir en un archivo, una secuencia, un XmlWriter o una cadena. Estas opciones ofrecen una gran flexibilidad en cuanto a la forma de transportar la representación XML del DataSet. Para obtener la representación XML del DataSet como una cadena, utilice el métodoGetXml, como se muestra en el ejemplo siguiente. C# VB string xmlDS = custDS.GetXml(); GetXml devuelve la representación XML del DataSet sin información del esquema. Para escribir la información de esquema del DataSet (como esquema XML) en una cadena, utilice GetXmlSchema. Para escribir un DataSet en un archivo, una secuencia o XmlWriter, utilice el método WriteXml. El primer parámetro que se pasa a WriteXml es el destino del resultado XML. Por ejemplo, pasar una cadena que contiene un nombre de archivo, un objeto System.IO.TextWriter, etc. Puede pasar un segundo parámetro opcional de un XmlWriteMode para especificar cómo se va a escribir el resultado XML. En la siguiente tabla se muestran las opciones de XmlWriteMode. Al escribir una representación XML de un DataSet que contiene objetos DataRelation, lo más probable es que desee que el código XML resultante tenga las filas secundarias de cada relación anidadas dentro de sus elementos primarios relacionados. Para ellos establezca la propiedad Nested de la DataRelation en truecuando agregue la DataRelation al DataSet. Para obtener más información, vea DataRelations anidadas. XML significa "eXtensible Markup Language" (lenguaje de marcas extensible), mientras que XSD significa "XML Schema definition" (definición de esquemas XML). Los documentos XML transfieren datos hacia y desde servicios web. XSD define la estructura y el tipo de datos de los elementos de un documento XML. Utiliza XSD para validar el contenido de un documento XML. Es posible que tengas que modificar el XSD generado automáticamente para cumplir con los requerimientos de un negocio. Como el XSD generado automáticamente y modificado representa el documento XML, valida el archivo (por ejemplo, empleados_lista.xml) con respecto al archivo XSD (por ejemplo,
  • 3. empleados_lista.xsd) utilizando un validador en línea desde w3.org. Antes de hacerlo, transfiere los archivos XML y XSD a un servidor. Luego, en el cuadro de texto "Address" (Dirección) en el validador en línea, ingresa la dirección URL del nombre del archivo XML, luego la dirección URL del nombre del archivo XSD con un espacio entre los nombres. Presiona la opción "Get Results" (Obtener resultados). Si aparecen mensajes de error, entonces modifica el contenido del archivo XSD y pruébalo. Hazlo varias veces hasta que no aparezca ningún error. XML dispone de su propio sistema de definición: XSD (XML Schema Definition). Con XSD puede definirse un lenguaje XML con un nivel de detalle mucho mayor del que permite DTD, por ejemplo, XSD permite especificar el tipo de dato que contendrá cada elemento o atributo, como fechas, enteros o incluso expresiones regulares. El sistema XSD está inspirado en los lenguajes de programación orientados a objetos. Una XSD es una instancia del esquema XMLSchema, además los XML finales basados en el XSD se consideran instancias del XSD. Para implementar la instanciación de documentos, se introduce el concepto de espacio de nombres (namespace): <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:test:biblioteca" ...> Esta declaración en el XSD indica que el XSD en sí es una instancia de XMLSchema (y se indica la URL donde encontrarlo). La declaración indica también que el XSD crea un nuevo lenguaje en el espacio de nombres indicado por targetNamespace, y en este caso se indica con un URN. Los documentos finales, basados en este XSD deberán declarar que usan este espacio de nombres con <?xml version="1.0" encoding="UTF-8"?> <biblioteca xmlns="urn:test:biblioteca"> ... </biblioteca> e observa que el XSD es más complejo que la DTD, pero a cambio permite definir el nuevo lenguaje XML a un nivel de detalle muy superior que la DTD. Además, el XSD está escrito en XML, por lo que los procesadores y validadores del propio XSD pueden reutilizar código y beneficiarse de la sencillez de procesado de XML. Notas: La declaración xmlns=“urn:test:biblioteca” indica que usaremos los nombres definidos en el XSD. Al definir un elemento, si no se especifican minOccurs o maxOccurs, se considera que estas valen “1”. El valor maxOccurs=“unbounded” indica que no hay límite superior. Al definir un atributo, use=“required” indica que dicho atributo es obligatorio, por defecto se asume que un atributo es opcional, aunque también se puede indicar con use=“optional”. Las definiciones de tipo se pueden extraer, como se ha hecho con el tipo “idType”, que define un tipo para todos los id. Procediendo así, se puede reutilizar dicha definición de tipo para varios elementos.
  • 4. Introducción general El propósito del estándar XML Schema es definir la estructura de los documentos XML que estén asignados a tal esquema y los tipos de datos válidos para cada elemento y atributo. En este sentido lasposibilidades de control sobre la estructura y los tipos de datos son muy amplias. Al restringir el contenido de los ficheros XML es posible intercambiar información entre aplicaciones con gran seguridad. Disminuye el trabajo de comprobar la estructura de los ficheros y el tipo de los datos. XML Schema tiene un enfoque modular que recuerda a la programación orientada a objetos y que facilita la reutilización de código. Los tipos de datos tienen en XML Schema la función de las clases en la POO. El usuario puede construir tipos de datos a partir de tipos predefinidos, agrupando elementos y atributos de una determinada forma y con mecanismos de extensión parecidos a la herencia. Los tipos de datos se clasifican en función de los elementos y atributos que contienen. Los tipos de datos en XML Schema pueden ser simples o complejos: 1. Definiciones de tipos simples. 2. Definiciones de tipos complejos. XML Schema incluye el uso de namespaces. Los "espacios de nombres" permiten definir elementos con igual nombre dentro del mismo contexto, siempre y cuando se anteponga un prefijo al nombre del elemento. El uso de namespaces también evita confusiones en la reutilización de código. Es posible agrupar atributos, haciendo más comprensible el uso de un grupo de aspectos de varios elementos distintos, pero con denominador común, que deben ir juntos en cada uno de estos elementos. Los ficheros XML Schema se escriben en el propio lenguaje XML. Tipos simples Tipos simples son aquellos que no tienen ni elementos hijos ni atributos. Son tipos simples:
  • 5. Tipos predefinidos de XML: string, double, boolean, etc. List (lista de datos separados por espacios). Union (tipo de dato derivado de la unión de tipos predefinidos). Tipos complejos Son tipos complejos aquellos que tienen elementos hijos y/o atributos. Pueden tener nombre o ser anónimos. Si tienen nombre pueden ser reutilizados dentro del mismo XML Schema o por otros XML Schemas. Es posible "mezclar" o combinar elementos y texto.