Altova XMLSpy 2024 Enterprise Edition 

En XML Schema 1.1 se pueden definir aserciones para tipos complejos (usando elementos xs:assert) y tipos simples (usando elementos xs:assertion).

 

Lo más útil es aportar una explicación de la aserción junto con su definición, para que en caso de que la aserción no se cumpla cuando se valide el documento de instancia XML, la aplicación pueda emitir el mensaje adecuado. Como la especificación XML Schema no prevé ese tipo de mensajes, XMLSpy permite suministrar un mensaje en el espacio de nombres xml-schema-extensions de Altova https://www.altova.com/es/xml-schema-extensions (o en cualquier otro espacio de nombres) junto con la definición de la aserción y usarla en la validación del documento XML de instancia. Por ejemplo:

 

<xs:assert test="count(//MiNodo) ge 1altova:message="Se necesita un elemento MiNodo como mínimo"/> o

<xs:assertion test="count(//MiNodo) ge 1altova:message="Se necesita un elemento MiNodo como mínimo"/>

 

Si la restricción especificada por la aserción no se cumple, además del mensaje de error de validación el motor de validación de XMLSpy emitirá un mensaje sobre la aserción a modo de sugerencia. El validador informará del valor de un atributo assert/@message o assertion/@message independientemente del espacio de nombres en el que esté el atributo message. No obstante, recuerde que en la vista Esquema solamente podrá editar atributos message que estén en el espacio de nombres xml-schema-extensions de Altova. Para editar atributos message de otros espacios de nombres debe usar la vista Texto.

 

 

Editar mensajes para xs:assert

En la vista Esquema los elementos xs:assert (para tipos complejos) se pueden crear y editar en el panel Atributos/Aserciones/Restricciones de identidad (AARID) o en el ayudante de entrada Detalles del tipo complejo correspondiente. La imagen que aparece a continuación muestra una aserción para el tipo complejo orderType. La aserción (en este caso un elemento xs:assert) se definió en la pestaña Aserciones (de la vista general del esquema) junto con un mensaje de aserción.

AssertMessageXSD01

Si está seleccionada la opción Mostrar aserciones en el diagrama, las aserciones de los tipos complejos también se pueden crear y editar en la vista del modelo de contenido. Para agregar o editar un mensaje de aserción, seleccione la aserción y escriba el mensaje de aserción en el ayudante de entrada Detalles (imagen siguiente).

AssertMessageXSD02

Recuerde que los mensajes de aserción creados de esta manera están en el espacio de nombres https://www.altova.com/es/xml-schema-extensions. Cuando se añade el primer mensaje de aserción en el esquema XML desde el panel AARID o desde el ayudante de entrada Detalles, el espacio de nombres xml-schema-extensions de Altova se declara en el elemento xs:schema automáticamente.

 

Si al validar un archivo XML la prueba de la aserción da un resultado negativo, la aplicación emite el mensaje definido para la aserción junto con un mensaje de error (imagen siguiente).

AssertMessageXML

 

Editar mensajes para xs:assertion

En la vista Esquema puede crear y editar elementos xs:assertion (para tipos simples) en el ayudante de entrada Facetas del tipo simple correspondiente. Para editar el mensaje de aserción haga clic con el botón derecho en la aserción en el ayudante de entrada Facetas (imagen siguiente, izda) y elija Detalles... en el menú contextual. En la ventana modal que aparece puede editar el mensaje (imagen siguiente, dcha).

 

Recuerde que los mensajes de aserción creados de esta manera están en el espacio de nombres https://www.altova.com/es/xml-schema-extensions. Cuando se añade el primer mensaje de aserción en el esquema XML desde la ventana modal Detalles de la aserción, el espacio de nombres xml-schema-extensions de Altova se declara en el elemento xs:schema automáticamente.

AssertionMessageXSD

Si al validar un archivo XML la prueba de la aserción da un resultado negativo, la aplicación emite el mensaje definido para la aserción junto con un mensaje de error (imagen siguiente).

AssertionMessageXML

 

© 2017-2023 Altova GmbH