Rational Developer for System z, Versión 7.6.1

Correlacionar tipos de datos de esquema XML con declaraciones de datos Enterprise PL/I

Esta sección describe cómo se correlacionan los tipos de datos primitivos y derivados XSD incorporados con declaraciones de datos PL/I en el escenario WSDL2PLI.

Los tipos de datos de esquema XML se engloban en dos categorías: primitivos o derivados. Un tipo de datos derivado se crea ampliando un tipo de datos primitivo o ampliado existente. Por ejemplo, xsd:integer es un tipo derivado incorporado que se deriva del tipo de datos primitivo incorporado xsd:decimal (xsd:integer es un xsd:decimal con la faceta fractionDigits establecida en 0).

Un tipo de datos derivado puede crearse estableciendo restricciones en las facetas del tipo de datos de origen. Los tipos de datos incorporados, tanto primitivos como derivados, pueden ampliarse mediante este tipo de restricción para crear definiciones de tipos de datos simples reutilizables personalizadas.
Nota: Encontrará una descripción completa de cómo puede utilizarse el esquema XML para definir la estructura y el diseño de un documento XML en la especificación estándar W3C de Esquema XML Parte 1: Estructuras, Segunda edición. La información relativa a cómo especificar y restringir los datos presentes en un documento XML puede encontrarse en la especificación estándar W3C de Esquema XML Parte 2: Tipos de datos, Segunda edición.
Las tablas siguientes describen las declaraciones de datos Enterprise PL/I generadas por el componente WSDL2PLI para cada tipo de datos primitivo y derivado incorporado XSD.
Nota: La información de esta sección también es aplicable a tipos xsd:simpleTypes definidos por el usuario.

Tabla 1. XSD a PL/I: Tipos de datos booleanos, de serie y relacionados, tipos de datos de fecha y hora
Tipo de datos incorporado XSD: Declaración de datos Enterprise PL/I:

  boolean

  BIT(1) ALIGNED

  Comentarios:
     • Las facetas siguientes no se utilizan: whiteSpace y pattern.

  string
  normalizedString
  token
  name
  NMTOKEN
  language
  NCName
  ID
  IDREF
  anyURL
  QName
  NOTATION

  Si se especifica la faceta length:
      CHAR (n) VARYING o WCHAR VARYING (m),
      donde n =  min(length, 32767) y m = min(length, 16383);  

  de lo contrario, si se especifican las facetas minLength y maxLength:
      CHAR (n) VARYING o WCHAR (m) VARYING,
      donde n =  min(max(minLength, maxLength), 32767),
      y m = min(max(minLength, maxLength), 16383);

  de lo contrario, si se especifica la faceta enumeration:
      CHAR (n) VARYING o WCHAR (m) VARYING,
      donde n = min(max(strlen(enumeration[*])), 32767),
      y m =  min(max(strlen(enumeration[*])), 16383);

  de lo contrario:
      CHAR (n) VARYING o WCHAR (m) VARYING,
      donde n = min(default_string_length, 32767),
      y m = min(default_string_length, 16383).

  Comentarios:
    • WCHAR se genera cuando host_ccsid_is_dbcs está establecido en true.
    • La faceta whiteSpace sólo se aplica a la generación XML.
    • La faceta pattern no se utiliza.

  date
  dateTime
  duration
  gDay
  gMonth
  gMonthDay
  gYear
  gYearMonth
  time

  CHAR (n) VARYING o WCHAR (m) VARYING,
      donde n = min(default_date_time_length, 32767),
      y m = min(default_date_time_length, 16383).

  Comentarios:
    • WCHAR se genera cuando host_ccsid_is_dbcs está establecido en true.
    • La faceta whiteSpace sólo se utiliza en la conversión de estructura de lenguaje a XML.
    • Las facetas siguientes no se utilizan: pattern, enumeration, maxInclusive,  maxExclusive, minInclusive y minExclusive.

 

Tabla 2. XSD a PL/I: Tipos de datos enteros sin signo
Tipo de datos incorporado XSD: Declaración de datos Enterprise PL/I:

  unsignedByte

  UNSIGNED FIXED BIN (8)
  
  Comentarios:
    • Las facetas siguientes no se utilizan: totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive,  maxExclusive, minInclusive y minExclusive.

  unsignedShort

  UNSIGNED FIXED BIN (16)
  
  Comentarios:
     • Las facetas siguientes no se utilizan: totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive,  maxExclusive, minInclusive y minExclusive.

  unsignedInt

  UNSIGNED FIXED BIN (32)
  
  Comentarios:
      • Las facetas siguientes no se utilizan: totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive,  maxExclusive, minInclusive y minExclusive.

  unsignedLong

  UNSIGNED FIXED BIN (64)
  
  Comentarios:
    • Requiere la opción del compilador LIMITS(FIXEDBIN(31,63)).
    • Las facetas siguientes no se utilizan: totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive,  maxExclusive, minInclusive y minExclusive.

 

Tabla 3. XSD a PL/I: Tipos de datos enteros con signo
Tipo de datos incorporado XSD: Declaración de datos Enterprise PL/I:

  Integer
  positiveInteger
  negativeInteger
  nonPositiveInteger
  nonNegativeInteger

  FIXED DECIMAL(n, 0)

      Si se especifica la faceta totalDigits:
          n = min(totalDigits, 31);
      de lo contrario:
          n = min(default_total_digits, 31);

  Comentarios:
    • Las facetas siguientes no se utilizan: fractionDigits, pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive y minExclusive.

  byte

  SIGNED FIXED BIN (7)

  Comentarios:
    • Las facetas siguientes no se utilizan: totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive,  maxExclusive, minInclusive y maxInclusive.

  short

  SIGNED FIXED BIN (15)

  Comentarios:
    • Las facetas siguientes no se utilizan: totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive,  maxExclusive, minInclusive y minExclusive.

  int

  SIGNED FIXED BIN (31)

  Comentarios:
    • Las facetas siguientes no se utilizan: totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive,  maxExclusive, minInclusive y minExclusive.

  long

  SIGNED FIXED BIN (63)

  Comentarios:
    • Requiere la opción del compilador LIMITS(FIXEDBIN(31,63)).
    • Las facetas siguientes no se utilizan: fractionDigits, pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive y minExclusive.

 

Tabla 4. XSD a PL/I: Tipos de datos decimales y de coma flotante
Tipo de datos incorporado XSD: Declaración de datos Enterprise PL/I:

  decimal

  FIXED DECIMAL (n, m)

  si se especifican las facetas totalDigits y fractionDigits:
      n = min(totalDigits, 31),
      m = min(fractionDigits, 31);

  de lo contrario, si se especifica la faceta totalDigits:
      n = min(totalDigits, 31),
      m = min(default_fraction_digits, 31);

  de lo contrario, si se especifica la faceta fractionDigits:
       n = min(default_total_digits, 31),
       m = min(fractionDigits, 31);

  de lo contrario:
      n = min(default_total_digits, 31),
      m = min(default_fraction_digits, 31).

  Comentarios:
    • Las facetas siguientes no se utilizan: pattern, enumeration, whiteSpace, maxInclusive y maxExclusive.

  float

  FLOAT BIN(21) IEEE

  Comentarios:
    • Soporte nativo para coma flotante binaria de precisión única IEEE.
    • Las facetas siguientes no se utilizan: pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive y minExclusive.

  double

  FLOAT BIN(53) IEEE

  Comentarios:
    • Soporte nativo para coma flotante binaria de precisión doble IEEE.
    • Requiere la opción del compilador LIMITS(FIXEDBIN(31,63)).
    • Las facetas siguientes no se utilizan: pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive y minExclusive.

 

Tabla 5. XSD a PL/I: Tipos de datos no soportados
Tipo de datos incorporado XSD: Declaración de datos Enterprise PL/I:

  ENTITY

  No soportado.

  COMENTARIOS:
    • Las entidades no analizadas requieren análisis o generación de una
DTD interna o
externa en tiempo de ejecución; esto no está soportado en
la conversión XML compilada.

  ENTITIES
  IDREFS

  No soportado.

  COMENTARIOS:
    • Los tipos de datos derivados por lista o unión no están soportados. Consulte
también ENTITY.

  anySimpleType

  No soportado.

  COMENTARIOS:
    • xsd:anySimpleType es el tipo base de todos los tipos de datos primitivos y
derivados incorporados. Por tanto, los elementos y atributos XML de
tipo
xsd:anySimpleType pueden ser cualquier tipo atómico, de lista o de unión incorporado o
definido por usuario en tiempo de ejecución.

  anyType

  No soportado.

  COMENTARIOS:
    • xsd:anyType es el tipo base del que se derivan todos los tipos
simples y
complejos. Un tipo xsd:anyType no
restringe su contenido de ningún modo. Por ejemplo, el
contenido de
un elemento XML de tipo xsd:anyType puede ser un
fragmento de
documento XML arbitrario en una aparición y
base64Binary en otra.


Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)