---
title: "¿Qué novedades presenta el esquema XML 1.1?"
date: "2016-03-21"
categories: 
  - "development"
  - "tools"
  - "xml"
tags: 
  - "altova-online-training"
  - "xml-schema"
  - "xml-schema-1-1"
  - "xmlspy"
description: Descubra las principales mejoras introducidas en XML Schema 1.1, incluyendo las aserciones y las alternativas de tipos condicionales, diseñadas para mejorar la flexibilidad y la validación en el desarrollo de XML.
---
Status: #blog

Tags:  #altova-online-training #xml-schema #xml-schema-1-1 #xmlspy

Categories: [development](/blog/es/category/development.md) | [xml](/blog/es/category/xml.md)
# ¿Qué novedades presenta el esquema XML 1.1?

Desde la introducción de XML Schema 1.0, este estándar ha sido ampliamente adoptado. A lo largo de los años, los desarrolladores han solicitado varias modificaciones, siendo las más destacadas la posibilidad de especificar y validar reglas de negocio más detalladas, así como permitir una evolución flexible de los esquemas. La [Recomendación XML Schema 1.1](http://www.w3.org/TR/xmlschema11-1/) incluye numerosas modificaciones y mejoras destinadas a abordar estos problemas.

Analicemos las características más destacadas de la nueva versión y veamos algunos recursos para aprender más o para empezar a utilizar XML Schema 1.1 de inmediato.

![shutterstock_137938508](/blog/images/shutterstock_137938508.jpg)

<!--more-->

### Descubra las novedades de XML Schema 1.1

En nuestro material gratuito, encontrará una explicación detallada de las nuevas y mejoradas funcionalidades de XML Schema 1.1 [Curso de formación en línea sobre esquemas XML](https://www.altova.com/es/aot/online-training.html), que puede acceder en cualquier momento y completar a su propio ritmo. Si es un desarrollador de esquemas con experiencia y simplemente desea conocer las novedades y mejoras de XSD 1.1, puede pasar directamente al capítulo 9. Este curso es una excelente manera de aprender sobre el esquema XML 1.1 y adaptar rápidamente sus esquemas para aprovechar las nuevas funcionalidades.

 

![Formación en XML Schema 1.1](/blog/images/xml-schema-1-1-training.png)

 

En este artículo, explicaré varios aspectos destacados y les mostraré cómo pueden implementar las nuevas funciones utilizando XMLSpy. Las versiones de XMLSpy 2014 y posteriores ofrecen soporte completo para XML Schema 1.1, incluyendo la validación de archivos XSD y archivos de instancia XML basados en XML Schema 1.1, así como herramientas de edición inteligentes para XSD 1.1 en el editor gráfico de [XML Schema 1.1](https://www.altova.com/es/xmlspy/xml-schema-editor.html).

### Afirmaciones

Las aserciones, también llamadas restricciones, en XML Schema 1.1 permiten la validación basada en reglas de políticas empresariales que involucran más de un elemento. Estas reglas se definen utilizando expresiones XPath. Por ejemplo, se puede utilizar el nuevo elemento <assert> para verificar si un gasto es menor o igual a la cantidad permitida, si una fecha se encuentra dentro de un determinado período, y así sucesivamente. En este ejemplo, la aserción especifica que la hora de finalización de una reunión debe ser posterior a la hora de inicio. Se puede ver esto representado en la vista de diseño de XML Schema aquí:

![Afirmaciones: Vista gráfica](https://lh6.ggpht.com/-0AwouJhf1UA/UtREYaoYlRI/AAAAAAAAAbQ/YtTI7Z7spJI/clip_image003_thumb.png?imgmax=800 "Assertions - Graphical View")

 

Y en el código correspondiente:

 

![Aserciones en el esquema XML 1.1](https://lh4.ggpht.com/-3cHGIZ4GF6U/UtREbHVLWOI/AAAAAAAAAbg/iFpwT04A808/clip_image004_thumb.png?imgmax=800 "XML Schema 1.1 Assertions")

 

Es fácil revisar las afirmaciones que existen en un esquema utilizando la vista "Globals", que proporciona una pestaña llamada "Afirmaciones" para los documentos de esquema XML 1.1. También puede agregar nuevas afirmaciones y seleccionar el espacio de nombres XPath predeterminado aquí.

 

![Añadir afirmaciones](https://lh5.ggpht.com/-p3B5JogWx24/UtREdQH_lkI/AAAAAAAAAbw/XZobzGyHc-M/clip_image005_thumb.png?imgmax=800 "Adding assertions")

 

O, puede definirlos en la vista del modelo de contenido haciendo clic derecho sobre un elemento en esa vista y seleccionando "Añadir aserción hija". Puede definir la prueba XPath directamente en el modelo de contenido a través de la ventana de ayuda "Detalles".

 

![Diálogo de afirmaciones](https://lh4.ggpht.com/-oKQlRSmEUjs/UtREfY8OlJI/AAAAAAAAAb8/4S0voU3k5B0/clip_image006_thumb.png?imgmax=800 "Assertion dialog")

 

Esta capacidad para definir y validar reglas de negocio es una gran ventaja de XML Schema 1.1, y esta representación gráfica ayuda a guiarle a través del proceso.

### Alternativas para los tipos de condicionales

Las alternativas de tipo condicional son otra característica diseñada para hacer que los esquemas XSD sean más potentes, al añadir flexibilidad integrada. Estas permiten asignar dinámicamente un tipo a un elemento en función del valor de un atributo en el documento de instancia XML. El elemento `xs:alternative` tiene dos atributos: `type` y `test`. Aquí hay un ejemplo utilizando el esquema de "Reuniones" con el que comenzamos anteriormente.

 

![Alternativa para los tipos condicionales](https://lh3.ggpht.com/-iPc-_0cC1f4/UtREhR6JsxI/AAAAAAAAAcM/u0exmkn1Pk0/image_thumb.png?imgmax=800 "Conditional type alternative")

 

Si la hora de finalización de la reunión es antes del mediodía, el tipo de reunión es "ReuniónMatutina". Después del mediodía, es "ReuniónVespertina". Para definir esto en el [diseñador de esquemas XML](https://www.altova.com/es/xmlspy/xml-schema-editor.html), simplemente hacemos clic derecho en el elemento "Reunión" y elegimos "Añadir elemento hijo/alternativo". Utilice la herramienta de ayuda "Detalles" para introducir una expresión XPath, y luego seleccione el "Tipo" que se asignará dinámicamente al elemento en el menú desplegable "Tipo".

 

![Alternativa de tipo condicional en XSD 1.1](https://lh4.ggpht.com/--KlKrmowu-M/UtREis-NKcI/AAAAAAAAAcc/vECoVx9djRY/clip_image007_thumb.png?imgmax=800 "XSD 1.1 conditional type alternative")

 

Ahora, cualquier elemento "Meeting" en una instancia XML que tenga una hora de finalización posterior a las 12:00:00 utilizará el tipo "MeetingType AfternoonMeeting". Utilizar un editor gráfico de [XSD](https://www.altova.com/es/xmlspy/xsd-editor.html) facilita la visualización y configuración de estas relaciones.

### Atributos a nivel de esquema

El esquema XML 1.1 le permite definir un conjunto de atributos predeterminados que se aplican automáticamente a cada tipo complejo en el esquema. Por ejemplo, en nuestro esquema de "Reuniones", es útil que los atributos "startTime" (hora de inicio) y "endTime" (hora de finalización) se apliquen a todos los elementos, sin tener que agregarlos manualmente, lo cual es tedioso y puede generar errores, especialmente en un esquema con un gran número de elementos. El elemento "xs:schema" en XML Schema 1.1 tiene un elemento opcional llamado "defaultAttributes", que identifica un grupo de atributos. (Si hay un elemento específico en el que no se desea aplicar el atributo o los atributos predeterminados, se puede especificar esto con "defaultAttributesApply="false".) Es fácil agregar un "attributeGroup" y definir los atributos predeterminados en la vista "Globals" del editor de esquemas XML.

 

![Atributos a nivel de esquema](https://lh5.ggpht.com/-kCqG7vqfWx8/UtREj-x9iMI/AAAAAAAAAcs/6cq-TJtaOG8/clip_image008_thumb.png?imgmax=800 "Schema-wide attributes")

 

Luego, utilice el cuadro de diálogo "Configuración del esquema", al que se accede a través del menú de diseño del esquema, para seleccionar el grupo de atributos que acaba de crear como los atributos predeterminados, utilizando una lista desplegable.

 

![Seleccionar un grupo de atributos](https://lh3.ggpht.com/-DjkS3RvyNDk/UtRElO-eQoI/AAAAAAAAAc8/Z3L23X4_hz4/clip_image009_thumb.png?imgmax=800 "Selecting an attribute group")

 

A continuación, se presentan algunas de las principales actualizaciones que ofrece XML Schema 1.1. Otras incluyen atributos heredables, una funcionalidad mejorada para los grupos de sustitución, un tipo de datos "xs:error" y otras características. Todas estas se explican en detalle, con ejemplos prácticos, en el capítulo 9 del curso de formación en línea sobre [XML Schema](https://www.altova.com/es/aot/online-training.html).

### Recursos y herramientas adicionales:

> [XML Schema 1.1 Recommendation](http://www.w3.org/XML/Schema) XMLSpy [XML Schema 1.1 Editor](https://www.altova.com/es/xmlspy/xml-schema-editor.html) and [validator](https://www.altova.com/es/xmlspy/xml-validator.html) RaptorXML [XML Schema 1.1 Validation Server](https://www.altova.com/es/raptorxml.html) Free Online [XML Schema 1.1 Training](https://www.altova.com/es/aot/online-training.html)
