En este tema se describen los parámetros de definición para la característica “Incluir y hacer referencia a elementos y tipos utilizados normalmente”.
El contenido de esquema común se define para la herramienta de línea de mandatos xsebatch a través de un archivo XML que se puede especificar en el parámetro de línea de mandatos (-commtypes para “Tipos comunes”) o por el atributo “commTypesFile“ especificado en el archivo ServiceSpecification.xml.
El usuario puede alterar temporalmente el archivo xml commtypes especificado con el atributo “commTypesFile“ para los elementos de mensaje de entrada y salida (InputMessage y OutputMessage) en el archivo de especificación de opciones del procesador por lotes (ServiceSpecification.xml).
Cuando el usuario crea y especifica el archivo xml commtypes, el proceso de generación WSDL y XSD utiliza la información especificada en el archivo commtypes para generar elementos, tipos e informes de esquema en lugar de tipos incorporados, elementos y espacios de nombres. La lista de tipos comunes del parámetro de línea de mandatos se puede alterar temporalmente por el contenido el archivo o archivos especificados en el atributo commTypesFile.
| Elemento o atributo | Definición |
|---|---|
| CommTypes | Elemento contenedor para grupos comunes. |
| CommGroup | Grupo para listar información de tipos comunes. |
| lang | Especifica el lenguaje origen del origen de aplicación que se procesa. |
| format | Para lenguajes origen que permiten formato de origen fijo o libre, este atributo debe especificar el formato que se utiliza. Actualmente este atributo está reservado y se establece en "fixed". |
| CommonType | Los atributos de este elemento describen cómo se deben procesar los elementos de datos origen de aplicación comunes (consulte más abajo). |
| srcName | Especifica el nombre origen del libro de copia que aparece en el origen de programa de aplicación COBOL. Los libros COPY especificados en el atributo srcName no tienen referencias cruzadas con los archivos origen de aplicación COBOL, pero deben estar presentes y accesibles para la herramienta del procesador por lotes cuando se procesa el origen de aplicación COBOL. |
| nativeName | Especifica el nombre de elemento de datos COBOL para el que se deben tomar la referencia y el tipo de esquema XML del esquema común. |
| commSchemaLocation | Especifica el atributo de ubicación del esquema común (xsi:schemaLocation)
que se genera en la sentencia de importación para WSDL o XSD que lo contienen. Nota: Para
escenarios
CICS
Webservices, esta ubicación debe estar accesible cuando se ejecutan las herramientas. De
lo contrario, se visualiza un mensaje de error y el proceso de generación no se completa.
|
| commNamespace | Especifica el valor de la declaración de espacio de nombres que se genera para hacer referencia al esquema común. |
| xmlElementName | Especifica el valor del nombre de elemento del esquema común al que se debe hacer referencia desde el WSDL o XSD que lo contienen. |
| commNsPrefix | Especifica el valor del prefijo de espacio de nombres que se debe generar para calificar la referencia de los elementos y tipos comunes. |
La Figura 1 es un ejemplo de un archivo xml commtype utilizado para indicar al procesador que utilice tipos, elementos y espacios de nombres comunes en un ejemplo de lenguaje fuente COBOL.
<?xml version="1.0" encoding="UTF-8"?>
<commtypes:CommonTypes xmlns:commtypes="http://www.ibm.com/xmlent/commxsd/emf/commtypes">
<commtypes:CommGroup lang="COBOL" format="fixed">
<commtypes:CommonType
srcName="COMMHDR"
nativeName="commHeader"
commSchemaLocation="commHeader.xsd"
commNamespace="http://www.sample.com/schemas/commHeader"
xmlElementName="commHeader"
commNsPrefix="hdr1"
/>
</commtypes:CommGroup>
</commtypes:CommonTypes>
El esquema de archivo xml commtype se muestra en la Figura 2.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:commtypes="http://www.ibm.com/xmlent/commxsd/emf/commtypes"
targetNamespace="http://www.ibm.com/xmlent/commxsd/emf/commtypes">
<xsd:element name="CommGroup">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="commtypes:CommonType" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="lang" type="xsd:string"/>
<xsd:attribute name="format" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="CommonTypes">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="commtypes:CommGroup"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CommonType">
<xsd:complexType>
<xsd:attribute name="srcName" type="xsd:string"/>
<xsd:attribute name="xmlElementName" type="xsd:string"/>
<xsd:attribute name="nativeName" type="xsd:string"/>
<xsd:attribute name="commSchemaLocation" type="xsd:string"/>
<xsd:attribute name="commNamespace" type="xsd:string"/>
<xsd:attribute name="commNsPrefix" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
La Figura 5 muestra el esquema commHeader.
<schema attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://www.TST01I.com/schemas/TST01IInterface"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:cbl="http://www.TST01I.com/schemas/TST01IInterface"
xmlns:hdr1="http://www.sample.com/schemas/commHeader">
<import namespace="http://www.sample.com/schemas/commHeader"
schemaLocation="commHeader.xsd"/>
<complexType name="departmentUpdateRequest">
<sequence>
<element ref="hdr1:commHeader"/>
<element form="qualified" name="member_count">
<simpleType>
<restriction base="int">
<minInclusive value="0"/>
<maxInclusive value="999999999"/>
</restriction>
</simpleType>
</element>
<element name="dept_details" type="cbl:departmentupdaterequest_dept__details"/>
</sequence>
</complexType>
<schema attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://www.TST01O.com/schemas/TST01OInterface"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:cbl="http://www.TST01O.com/schemas/TST01OInterface"
xmlns:hdr1="http://www.sample.com/schemas/commHeader">
<import namespace="http://www.sample.com/schemas/commHeader"
schemaLocation="commHeader.xsd"/>
<complexType name="departmentUpdateReply">
<sequence>
<element ref="hdr1:commHeader"/>
<element form="qualified" name="updStatus">
<annotation>
<appinfo source="http://www.wsadie.com/appinfo">
<initialValue kind="SPACE"/>
</appinfo>
</annotation>
<simpleType>
<restriction base="string">
<maxLength value="3"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
<element name="employeeUpdateRequest" type="cbl:departmentUpdateReply">
<annotation>
<documentation source="com.ibm.etools.xmlent.batch">8.0.0.V200803251533</documentation>
</annotation>
</element>
</schema>
La Figura 5 es un ejemplo del esquema para el archivo commonHdr.xsd.
<?xml version="1.0" encoding="UTF-8"?><schema attributeFormDefault="qualified"
elementFormDefault="qualified" targetNamespace="http://www.sample.com/schemas/commHeader"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns:cbl="http://www.sample.com/schemas/commHeader">
<complexType name="commheader">
<sequence>
<element name="commId">
<simpleType>
<restriction base="short">
<minInclusive value="0"/>
<maxInclusive value="9999"/>
</restriction>
</simpleType>
</element>
<element name="commRevDate">
<annotation>
<appinfo source="http://www.wsadie.com/appinfo">
<initialValue kind="SPACE"/>
</appinfo>
</annotation>
<simpleType>
<restriction base="string">
<maxLength value="8"/>
</restriction>
</simpleType>
</element>
<element name="commDigest">
<annotation>
<appinfo source="http://www.wsadie.com/appinfo">
<initialValue kind="SPACE"/>
</appinfo>
</annotation>
<simpleType>
<restriction base="string">
<maxLength value="40"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
<element name="commHeader" type="cbl:commheader">
<annotation>
<documentation source="com.ibm.etools.xmlent.batch">8.0.0.V200803251533</documentation>
</annotation>
</element>
</schema>
En este tema se listan las normas y condiciones para la característica “Incluir y hacer referencia a elementos y tipos utilizados normalmente”.