En este tema se describen las restricciones de conversión en los programas de conversión XML de tiempo de ejecución.
AND
Para la conversión de respuesta (COBOL a XML), los prefijos de calificación y los espacios de nombres correctos se generan basándose en el esquema o esquemas para el mensaje XML.
Para la optimización, si todos los elementos del mensaje de respuesta están vinculados al mismo espacio de nombres, se califican implícitamente utilizando un espacio de nombres predeterminado. Por ejemplo, el conversor de respuesta genera el mensaje que se muestra en la Figura 1.
<?xml version="1.0" encoding="UTF-8"?>
<LONEPost xmlns="http://www.loneI.com/schemas/loneIInterface"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.loneI.com/schemas/loneIInterface LONEI.xsd ">
<Company>IBM</Company>
<Voucher_number>002</Voucher_number>
<Transaction_type>001</Transaction_type>
<Delivery_system>POST</Delivery_system>
<Transfer_date>16002007</Transfer_date>
<Posting_date>17152007</Posting_date>
</LONEPost>
En lugar del mensaje mostrado en la Figura 2.
<?xml version="1.0" encoding="UTF-8"?>
<cbl:LONEPost xmlns:cbl="http://www.loneI.com/schemas/loneIInterface"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.loneI.com/schemas/loneIInterface LONEI.xsd ">
<cbl:Company>IBM</cbl:Company>
<cbl:Voucher_number>002</cbl:Voucher_number>
<cbl:Transaction_type>001</cbl:Transaction_type>
<cbl:Delivery_system>POST</cbl:Delivery_system>
<cbl:Transfer_date>16002007</cbl:Transfer_date>
<cbl:Posting_date>17152007</cbl:Posting_date>
</cbl:LONEPost
El conversor XML de respuesta utiliza esta optimización cuando es posible reducir el tamaño de los mensajes XML, esta optimización tiene ventajas de conservación de tiempo de CPU con respeto al ancho de banda de red.
La Figura 3 es un ejemplo de esquema XML con valores elementForm mixtos:
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:addr="http://www.address.com/"
targetNamespace="http://www.address.com/"
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<complexType name="USAddress">
<sequence>
<!-- explcit Form="qualified" -->
<element name="name" type="string" form="qualified"/>
<!-- implicit Form="unqualified" -->
<element name="street" type="string"/>
</sequence>
</complexType>
</schema>
Para los esquemas con calificación de elementos mixtos, el conversor de respuesta genera los prefijos de espacios de nombres cuando se necesitan. Para el esquema anterior con la calificación de elemento mixto (consulte la Figura 3), el conversor de respuesta genera un mensaje que contiene el fragmento siguiente:
... <addr:name>addr:name</addr:name> <!-- qualified --> <street>street</street> <!--unqualified--> ...