- El portal único del ... ·

75
TiposDeDatosInteroperabilidad_Anexo_2.xsd <?xml version="1.0" encoding="utf-8" ?> <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns="http://www.cidge.gob.mx/SCG/Interoperabilidad" targetNamespace="http://www.cidge.gob.mx/SCG/Interoperabilidad" attributeFormDefault="unqualified" elementFormDefault="qualified" > <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC- xmldsig-core-20020212/xmldsig-core-schema.xsd" /> <xs:import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="http://www.w3.org/TR/xmlenc- core/xenc-schema.xsd" /> <xs:annotation> <xs:documentation xml:lang="ES"> Esquema de Tipos de Datos definidos para la Interoperabilidad entre Sistemas de Control de Gestión </xs:documentation> </xs:annotation> <!--'Elements'--> <xs:element name="MensajeInteroperabilidad" type="MensajeInteroperabilidad"> <xs:annotation> <xs:documentation>Mensaje principal en el intercambio de información entre Instancias registradas en la Comunidad y el Broker o Enrutador.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="SolicitudRegistro" type="SolicitudRegistro"> <xs:annotation> <xs:documentation> Primer mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad. Representa el mensaje que envía una instancia que desea registrarse en una comunidad, al enrutador de dicha comunidad. El enrutador validará la información proporcionada por el registrante en este mensaje y podrá responder con un mensaje de tipo

Transcript of - El portal único del ... ·

Page 1: - El portal único del ... ·

TiposDeDatosInteroperabilidad_Anexo_2.xsd

<?xml version="1.0" encoding="utf-8" ?>

<xs:schema version="1.0"

xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"

xmlns="http://www.cidge.gob.mx/SCG/Interoperabilidad"

targetNamespace="http://www.cidge.gob.mx/SCG/Interoperabilidad"

attributeFormDefault="unqualified" elementFormDefault="qualified" >

<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-

xmldsig-core-20020212/xmldsig-core-schema.xsd" />

<xs:import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="http://www.w3.org/TR/xmlenc-

core/xenc-schema.xsd" />

<xs:annotation>

<xs:documentation xml:lang="ES">

Esquema de Tipos de Datos definidos para la Interoperabilidad entre Sistemas de Control de Gestión

</xs:documentation>

</xs:annotation>

<!--'Elements'-->

<xs:element name="MensajeInteroperabilidad" type="MensajeInteroperabilidad">

<xs:annotation>

<xs:documentation>Mensaje principal en el intercambio de información entre Instancias registradas en la Comunidad y

el Broker o Enrutador.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="SolicitudRegistro" type="SolicitudRegistro">

<xs:annotation>

<xs:documentation>

Primer mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad.

Representa el mensaje que envía una instancia que desea registrarse en una comunidad, al enrutador de dicha

comunidad.

El enrutador validará la información proporcionada por el registrante en este mensaje y podrá responder con un

mensaje de tipo

Page 2: - El portal único del ... ·

RetoSolicitudRegistro, que indicaría el éxito en el primer paso del registro ó, un RechazoSolicitudRegistro que daría por

terminada

la negociación de registro.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RetoSolicitudRegistro" type="RetoSolicitudRegistro">

<xs:annotation>

<xs:documentation>

Segundo mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad.

Representa el mensaje que envía el enrutador o Broker a una instancia en respuesta a una 'SolicitudRegistro'.

El Enrutador, cifrará una cadena generada por él, utilizando la llave pública del Registrante y la enviará en '@Reto'

para que el registrante la devuelva descifrada mediante su llave privada.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RespuestaRetoSolicitudRegistro" type="RespuestaRetoSolicitudRegistro">

<xs:annotation>

<xs:documentation>

Tercer mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad.

Representa el mensaje que envía la instancia al enrutador o Broker en respuesta a un RetoSolicitudRegistro.

El Broker al enviar un 'RetoSolicitudRegistro', envía una cadena cifrada con la llave pública de la instancia. La instancia

descifrará esta cadena con su llave privada y la devolverá en @RespuestaReto. A su vez la instancia cifrará una cadena

generada por

ella, utilizando la llave pública del certificado del enrutador, y la enviará a este, en @Reto, para que en el último paso,

el enrutador la

devuelva a su vez descifrada con su llave privada, cerrando el ciclo de Registro.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RespuestaSolicitudRegistro" type="RespuestaSolicitudRegistro">

<xs:annotation>

<xs:documentation>

Cuarto mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad.

Page 3: - El portal único del ... ·

Representa el mensaje final en el flujo de Registro de una Instancia en el enrutador.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RechazoSolicitudRegistro" type="RechazoSolicitudRegistro">

<xs:annotation>

<xs:documentation>

Respuesta que puede enviar el Enrutador a la Instancia Registrante, en cualquiera de los pasos del registro de la

instancia en la comunidad.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="OficioElectronico" type="OficioElectronico">

<xs:annotation>

<xs:documentation>

Elemento de Oficio Electrónico.

</xs:documentation>

</xs:annotation>

</xs:element>

<!--'ComplexTypes'-->

<xs:complexType name="ActorOficioElectronico">

<xs:annotation>

<xs:documentation>Representa a un Remitente o un Destinatario de un Oficio electrónico.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Institucion">

<xs:annotation>

<xs:documentation>Datos de la Institución a la que pertenece el actor.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Nombre" type="xs:string">

<xs:annotation>

Page 4: - El portal único del ... ·

<xs:documentation>Nombre de la Institución a la que pertenece el actor.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:any minOccurs="0">

<xs:annotation>

<xs:documentation>Para Extensibilidad que permita incluir elementos no declarados inicialmente en el

esquema.</xs:documentation>

</xs:annotation>

</xs:any>

</xs:sequence>

<xs:attribute name="URI" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>Uri que identifica a la Institución</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreDistinguido" type="xs:string">

<xs:annotation>

<xs:documentation>

Nombre distinguido, o DN en base al estándar X.500.

Se debe considerar que este dato opcional, es de utilidad solo para la instancia que lo especifica.

Dicha instancia es la responsable de la validez de la información.

El Broker no realizará ningún tipo de validación sobre la información aquí contenida.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:anyAttribute>

<xs:annotation>

<xs:documentation>Para Extensibilidad que permita incluir elementos no declarados inicialmente en el

esquema.</xs:documentation>

</xs:annotation>

</xs:anyAttribute>

</xs:complexType>

</xs:element>

Page 5: - El portal único del ... ·

<xs:element name="UnidadOrganizacional">

<xs:annotation>

<xs:documentation>Datos de la Unidad Organizacional a la que pertenece el actor. La Unidad Organizacional hace

referencia a la Unidad Administrativa señalada en el DTISACG.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Nombre" type="xs:string">

<xs:annotation>

<xs:documentation>Nombre de la Unidad Organizacional a la que pertenece el Actor. La Unidad Organizacional

hace referencia a la Unidad Administrativa señalada en el DTISACG.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:any minOccurs="0">

<xs:annotation>

<xs:documentation>Para Extensibilidad que permita incluir elementos no declarados inicialmente en el

esquema.</xs:documentation>

</xs:annotation>

</xs:any>

</xs:sequence>

<xs:attribute name="NombreDistinguido" type="xs:string">

<xs:annotation>

<xs:documentation>

Nombre distinguido, o DN en base al estándar X.500.

Se debe considerar que este dato opcional, es de utilidad solo para la instancia que lo especifica.

Dicha instancia es la responsable de la validez de la información.

El Broker no realizará ningún tipo de validación sobre la información aquí contenida.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:anyAttribute>

<xs:annotation>

<xs:documentation>Para Extensibilidad que permita incluir elementos no declarados inicialmente en el

esquema.</xs:documentation>

Page 6: - El portal único del ... ·

</xs:annotation>

</xs:anyAttribute>

</xs:complexType>

</xs:element>

<xs:element name="Persona">

<xs:annotation>

<xs:documentation>Datos de la Persona que es el Remitente o Destinatario del Oficio

Electrónico.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Nombre" type="xs:string">

<xs:annotation>

<xs:documentation>Nombre de la persona.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Titulo" type="xs:string">

<xs:annotation>

<xs:documentation>Titulo de la persona (Por ejemplo: Sr, Lic, CP, etcétera).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Puesto" type="xs:string">

<xs:annotation>

<xs:documentation>Puesto del Actor.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="CorreoElectronico" type="xs:string">

<xs:annotation>

<xs:documentation>Correo Electrónico del Actor.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:any minOccurs="0">

<xs:annotation>

Page 7: - El portal único del ... ·

<xs:documentation>Para Extensibilidad que permita incluir elementos no declarados inicialmente en el

esquema.</xs:documentation>

</xs:annotation>

</xs:any>

</xs:sequence>

<xs:attribute name="Titular" type="xs:boolean" use="required">

<xs:annotation>

<xs:documentation>Especifica si el Usuario es, o no, Titular de la Unidad Organizacional a la que

pertenece.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreDistinguido" type="xs:string">

<xs:annotation>

<xs:documentation>

Nombre distinguido, o DN en base al estándar X.500.

Se debe considerar que este dato opcional, es de utilidad solo para la instancia que lo especifica.

Dicha instancia es la responsable de la validez de la información.

El Broker no realizará ningún tipo de validación sobre la información aquí contenida.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:anyAttribute>

<xs:annotation>

<xs:documentation>Para Extensibilidad que permita incluir elementos no declarados inicialmente en el

esquema.</xs:documentation>

</xs:annotation>

</xs:anyAttribute>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ActualizacionDirectorio">

<xs:annotation>

<xs:documentation>Especifica un conjunto de operaciones para actualizar un Directorio</xs:documentation>

Page 8: - El portal único del ... ·

</xs:annotation>

<xs:sequence>

<xs:element name="Altas" type="Institucion" minOccurs="0">

<xs:annotation>

<xs:documentation>Comprende la información de las altas de Usuarios y su posicion dentro de la estructura

organizacional</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Bajas" minOccurs="0">

<xs:annotation>

<xs:documentation>Lista de Bajas de Usuarios comprendidas en esta Actualización</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="UsuarioBaja" type="UsuarioBaja" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Modificaciones" minOccurs="0">

<xs:annotation>

<xs:documentation>Lista de Modificaciones de Usuarios comprendidas en esta Actualización</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="UsuarioModificacion" type="UsuarioModificacion" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="VersionDirectorio" type="xs:int" use="required">

<xs:annotation>

<xs:documentation>Especifica el número de versión del Directorio en que este se encontrará al aplicar la

actualización.</xs:documentation>

Page 9: - El portal único del ... ·

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="ActualizacionDirectorioComunidad">

<xs:annotation>

<xs:documentation>

Especifica un conjunto de modificaciones en los directorios de una o más instancias para actualizar el Directorio de una

Comunidad.

Este tipo de dato es utilizado solo por el enrutador.

Las instancias solo pueden enviar una actualización de su directorio mediante el tipo de datos:

ActualizacionDirectorioMiembroComunidad.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="ActualizacionesMiembros">

<xs:annotation>

<xs:documentation>Lista de Actualizaciones de Miembros.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="ActualizacionDirectorioMiembroComunidad"

type="ActualizacionDirectorioMiembroComunidad" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ActualizacionDirectorioMiembroComunidad">

<xs:annotation>

<xs:documentation>Especifica un conjunto de operaciones para actualizar un Directorio de un miembro de la

comunidad.</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="ActualizacionDirectorio">

Page 10: - El portal único del ... ·

<xs:attribute name="URI" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>Uri del miembro de la comunidad que se actualiza.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Nombre" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre del Miembro de la Comunidad que se actualiza.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="Anexo">

<xs:annotation>

<xs:documentation>

Representa un archivo anexo.

Especifica por ejemplo su nombre y el MimeType.

El contenido del archivo o la referencia para obtenerlo se especifica en el elemento Archivo cuyo Identificador es el

mismo que el Identificador que el Anexo establece.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="FirmaElectronicaArchivo" type="FirmaElectronicaArchivo" minOccurs="0"

maxOccurs="unbounded">

<xs:annotation>

<xs:documentation>Lista de Firmas Electrónicas aplicadas por el remitente del Oficio Electrónico u otras personas, a

este Anexo.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="Identificador" type="ReferenciaArchivo" use="required">

<xs:annotation>

<xs:documentation>

Page 11: - El portal único del ... ·

Identificador del Anexo.

Este identificador debe encontrarse también como Identificador de uno y solo uno de los elementos Archivo del Oficio

Electrónico.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreArchivo" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre del Anexo</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="MimeType" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Especifica el Tipo Mime del Anexo</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="HashArchivo" type="xs:base64Binary" use="required">

<xs:annotation>

<xs:documentation>Hash del contenido binario del Anexo.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AlgoritmoHash" type="AlgoritmosHash" use="required">

<xs:annotation>

<xs:documentation>Algoritmo usado para calcular el Hash del Anexo. Puede ser MD5 o SHA1.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="Archivo">

<xs:annotation>

<xs:documentation>Tipo de Dato con referencia a un Anexo. Contiene el contenido en Base64 del archivo "Anexado" o

bien una referencia web para su obtención.</xs:documentation>

</xs:annotation>

<xs:choice>

Page 12: - El portal único del ... ·

<xs:element name="ContenidoBase64" type="xs:base64Binary" >

<xs:annotation>

<xs:documentation>Contiene el arreglo de bytes en Base64 del contenido del archivo.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="ReferenciaWeb">

<xs:complexType>

<xs:attribute name="Url" type="xs:anyURI" use="required" >

<xs:annotation>

<xs:documentation>Referencia Web para la obtención del archivo.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="TipoDescarga" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="Contrato" />

<xs:enumeration value="Http">

<xs:annotation>

<xs:documentation>Para obtener el archivo de la URL especificada, se utiliza el Método GET de

HTTP.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

</xs:choice>

<xs:attribute name="Identificador" type="ReferenciaArchivo" use="required" />

</xs:complexType>

<xs:complexType name="Comunidad">

<xs:annotation>

Page 13: - El portal único del ... ·

<xs:documentation>Tipo de dato Comunidad. La comunidad es aquella que alberga a cierto número de

instancias.</xs:documentation>

</xs:annotation>

<xs:attribute name="Nombre" type="xs:string" use="required" />

<xs:attribute name="Identificador" type="xs:string" use="required" />

</xs:complexType>

<xs:complexType name="Contacto">

<xs:annotation>

<xs:documentation>Tipo de dato Contacto. Hace referencia a la Información de contacto (persona) de un miembro de la

comunidad.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Telefonos">

<xs:annotation>

<xs:documentation>Lista de Teléfonos del Contacto.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Telefono" type="Telefono" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="Nombre" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre del Contacto.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Puesto" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Puesto del Contacto.</xs:documentation>

</xs:annotation>

</xs:attribute>

Page 14: - El portal único del ... ·

<xs:attribute name="CorreoElectronico" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Correo electrónico del Contacto.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AreaOficina" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Área u oficina a la que pertenece el Contacto.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="DatosDelOficio">

<xs:choice>

<xs:element name="DatosSolicitud" type="DatosSolicitud">

<xs:annotation>

<xs:documentation>Datos de una Solicitud. Este elemento debe ser incluido en el Oficio cuando este es una

Solicitud.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="DatosRespuesta" type="DatosRespuesta">

<xs:annotation>

<xs:documentation>Datos de una Respuesta. Este elemento debe ser incluido en el Oficio cuando este es una

Respuesta a una Solicitud.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:choice>

</xs:complexType>

<xs:complexType name="DatosRespuesta">

<xs:annotation>

<xs:documentation>

Define la Información específica de respuesta para cuando el Oficio Electrónico es una respuesta.

</xs:documentation>

</xs:annotation>

Page 15: - El portal único del ... ·

<xs:attribute name="EsFinal" type="xs:boolean" use="optional" >

<xs:annotation>

<xs:documentation>

Especifica si esta respuesta debería considerarse como final o como un avance.

Queda en la implementación del SACG el manejo de respuestas finales y no finales, así como de la recepción de

respuestas adicionales luego de la recepción de una marcada como final.

Es recomendado el recibir respuestas adicionales aún cuando se haya recibido previamente una marcada como Final.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PorcentajeDeAvance" use="optional">

<xs:annotation>

<xs:documentation>

Porcentaje de avance de la respuesta.

Pemite que el oficio de la respuesta contenga información de avance. Es responsabilidad del SACG, la instancia y de

quien emite la Respuesta la veracidad de este dato. Debe entenderse también que el porcentaje de avance podría ser de

uso exclusivamente interno a la Instancia.

La OPE no realiza ninguna validación al dato aquí especificado.

</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:int">

<xs:minInclusive value="0" />

<xs:maxInclusive value="100" />

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="NumeroRespuesta" type="xs:int" use="optional" >

<xs:annotation>

<xs:documentation>

Número único asignado a esta respuesta.

Se sugiere iniciar en 1.

En caso de que se envíe más de un Oficio Electrónico de Respuesta, este número además de identificar las respuestas

entre sí, especificará el orden en que se generaron.

Page 16: - El portal único del ... ·

La OPE no realiza ninguna validación al dato aquí especificado.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="DatosSolicitud">

<xs:annotation>

<xs:documentation>

Define la Información específica para cuando el Oficio Electrónico es una Solicitud.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="AlAlcance" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>Folio de oficio anterior, del cual el presente Oficio es un alcance.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="FechaCompromiso" type="xs:dateTime" use="optional">

<xs:annotation>

<xs:documentation>Fecha Compromiso para responder este oficio en caso de requerir respuesta.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RequiereRespuesta" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation>Especifica si esta solicitud requiere de una Respuesta o no. Si este atributo no se especifica, se

entiende que no requiere respuesta.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Prioridad" use="optional">

<xs:annotation>

<xs:documentation>

Prioridad de esta solicitud.

Page 17: - El portal único del ... ·

Permite al remitente del Oficio Electrónico, especificar la prioridad que tiene para el, la atención del mismo.

Los SACG podrían utilizar esta información para asignar en automático algún período (definido internamente) en el

que se considera "en tiempo" la formulación de la Respuesta a este Oficio Electrónico.

</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="TipoPrioridad">

<xs:enumeration value="Ordinario" />

<xs:enumeration value="Urgente" />

<xs:enumeration value="Inmediato" />

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

<xs:complexType name="DirectorioComunidad">

<xs:sequence>

<xs:element name="DirectoriosMiembrosComunidad">

<xs:annotation>

<xs:documentation>

Lista de directorios de los miembros de la comunidad.

Este elemento solo lo utiliza el Broker o Enrutador.

Las Instancias envian su Directorio mediante DirectorioMiembroComunidad.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="DirectorioMiembroComunidad" type="DirectorioMiembroComunidad" minOccurs="0"

maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="VersionDirectorio" type="xs:long" use="required">

Page 18: - El portal único del ... ·

<xs:annotation>

<xs:documentation>Versión del Directorio.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="DirectorioMiembroComunidad">

<xs:complexContent>

<xs:extension base="Institucion">

<xs:attribute name="VersionDirectorio" type="xs:int" use="required">

<xs:annotation>

<xs:documentation>Versión del Directorio</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="Encabezado">

<xs:annotation>

<xs:documentation>El encabezado del mensaje contiene la información de identificación, origen y destino, así como de

ruteo del mensaje.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Origen" type="MensajeInteroperabilidadOrigen" minOccurs="1">

<xs:annotation>

<xs:documentation>Origen de este mensaje de interoperabilidad</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Destinos">

<xs:annotation>

<xs:documentation>Lista de Destinos de este mensaje de interoperabilidad</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

Page 19: - El portal único del ... ·

<xs:element name="Destino" type="MensajeInteroperabilidadDestino" minOccurs="1" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:choice minOccurs="1">

<xs:annotation>

<xs:documentation>Información de la fecha del envio de este mensaje</xs:documentation>

</xs:annotation>

<xs:element name="EstampaEnvio" type="EstampillaDeTiempo" minOccurs="1" />

<xs:element name="FechaEnvio" type="xs:dateTime" minOccurs="1" />

</xs:choice>

<xs:element name="EnReferenciaDe" minOccurs="0">

<xs:annotation>

<xs:documentation>

Contiene información de referencia a un mensaje del cual este mensaje sería una Respuesta.

El ejemplo más común ocurre en los Mensajes con TipoMensaje 'ConfirmacionRecibo' y 'AcuseRecibo', donde el

IdMensaje especificado en la referencia, es el IdMensaje del Mensaje recibido y del cual se genera la 'ConfirmacionRecibo' o

el 'AcuseRecibo'.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="IdMensaje" use="required">

<xs:annotation>

<xs:documentation>Especifica el Id del mensaje con el que este mensaje tiene referencia.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="Ruteo" minOccurs="1">

<xs:annotation>

<xs:documentation>Información de ruteo de este mensaje.</xs:documentation>

</xs:annotation>

<xs:complexType>

Page 20: - El portal único del ... ·

<xs:sequence>

<xs:element name="PuntoRuta" type="PuntoRuta" minOccurs="0" maxOccurs="unbounded" >

<xs:annotation>

<xs:documentation>

Elemento agregado al mensaje por un Broker o Enrutador, cuando este recibe un mensaje y lo retransmite.

El Punto ruta contiene datos del Enrutador, Estampa de tiempo de Recepción, Estampa de Envío y Firma

Electrónica aplicada al Mensaje (incluyendo el propio PuntoRuta que fue agregado).

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="IdMensaje" type="UUID" use="required">

<xs:annotation>

<xs:documentation>Identificador de Mensaje</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="TipoMensaje" type="TipoMensaje" use="required">

<xs:annotation>

<xs:documentation>

Tipo de este mensaje.

Permite identificar o reconocer el objeto o la intención del mensaje, para que quien lo recibe pueda aplicar o ejecutar

la accion o proceso pertinente.

Por ejemplo:

Para el envio de un Oficio Electrónico, el TipoMensaje deberá ser 'RegistroOficioElectronico'.

Para el envio de una actualizacion del directorio de un Miembro de la comunidad, el TipoMensaje deberá ser

'ActualizacionDirectorioMiembroComunidad'.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:anyAttribute>

<xs:annotation>

Page 21: - El portal único del ... ·

<xs:documentation>Para Extensibilidad que permita incluir elementos no declarados inicialmente en el

esquema.</xs:documentation>

</xs:annotation>

</xs:anyAttribute>

</xs:complexType>

<xs:complexType name="EstampillaDeTiempo">

<xs:annotation>

<xs:documentation>

Tipo de dato Estampilla de Tiempo.

La OPE utiliza este tipo de dato en los elementos donde se especifica la Fecha de Envio de un Mensaje, o en la

información de Ruteo.

</xs:documentation>

</xs:annotation>

<xs:attribute name="FechaUTC" type="xs:dateTime" use="required" />

<xs:attribute name="AutoridadTSP" type="xs:string" use="required" />

<xs:attribute name="DigestionEstampilla" type="xs:base64Binary" use="required" />

<xs:attribute name="NombreTSP" type="xs:string" />

</xs:complexType>

<xs:complexType name="FirmaElectronica">

<xs:annotation>

<xs:documentation>Tipo de dato con la información de una firma electrónica aplicada al

MensajeInteroperabilidad.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="InformacionCertificado" type="InformacionCertificadoFirma" >

<xs:annotation>

<xs:documentation>Información del certificado utilizado en esta Firma electrónica.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element ref="ds:Signature" />

</xs:sequence>

</xs:complexType>

Page 22: - El portal único del ... ·

<xs:complexType name="FirmaElectronicaOficio">

<xs:annotation>

<xs:documentation>

Tipo de dato con la información de una firma electrónica aplicada a un OficioElectronico.

El elemento hijo 'Signature', heredado del Tipo Complejo FirmaElectronica, corresponde a la firma del XML del

OficioElectronico,

utilizando el estándar XML-Signature Syntax and Processing (http://www.w3.org/TR/2002/REC-xmldsig-core-

20020212/) con las siguientes características:

Algoritmo de canonicalización: http://www.w3.org/TR/2001/REC-xml-c14n-20010315

Algoritmo de Firma: PKCS1 - (RSA-SHA1) http://www.w3.org/2000/09/xmldsig#rsa-sha1

Transformaciones que se deben aplicar y su orden:

1. http://www.w3.org/2000/09/xmldsig#enveloped-signature

2. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: ancestor-or-self::*[local-

name()='OficioElectronico']

3. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: not(ancestor-or-self::*[local-name()='Archivos'])

(Quedan excluidos de la firma el elemento Archivos)

4. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: not(ancestor-or-self::*[local-

name()='FirmaElectronica' and @Id!='{@Id}'])

(Donde la cadena '{@Id}', se sustituye por el valor asignado al atributo Id de esta FirmaElectronica.

Quedan excluidos de la firma los elementos FirmaElectronica diferentes a este. Por lo que permite que se pueda

agregar otra FirmaElectronica

sin que se invaliden FirmasElectronicas Previamente agregadas.)

</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="FirmaElectronica">

<xs:sequence>

<xs:element name="Proposito">

<xs:annotation>

<xs:documentation>

Utilizado para agregar una descripción acerca del propósito de la firma electrónica.

</xs:documentation>

Page 23: - El portal único del ... ·

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:whiteSpace value="collapse" />

</xs:restriction>

</xs:simpleType>

</xs:element>

</xs:sequence>

<xs:attribute name="Id" type="UUID" use="required">

<xs:annotation>

<xs:documentation>Identificador de firma de oficio.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="InformacionCertificadoFirma">

<xs:annotation>

<xs:documentation>

Tipo de dato con la información del certificado utilizado en una Firma electrónica.

Equivalente al http://www.w3.org/2000/09/xmldsig#:X509IssuerSerialType.

Utilizado para incluir información del certificado que lleve a su fácil identificación.

</xs:documentation>

</xs:annotation>

<xs:attribute name="X509IssuerName" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre de la entidad emisora.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="X509SerialNumber" type="xs:string" use="required">

<xs:annotation>

Page 24: - El portal único del ... ·

<xs:documentation>Número único emitido por el emisor de certificados.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="X509SubjectName" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre del usuario del certificado.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="InformacionMiembroComunidad">

<xs:annotation>

<xs:documentation>Contiene el certificado y la información de identificación, y contacto de un miembro de la

comunidad.</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="MiembroComunidad">

<xs:sequence>

<xs:element name="Certificado" type="Certificado" minOccurs="1">

<xs:annotation>

<xs:documentation>Certificado del Miembro de la comunidad</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Contacto" type="Contacto" minOccurs="0">

<xs:annotation>

<xs:documentation>Información de Contacto del Miembro de la Comunidad. Se sugiere que sea el Administrador

del SACG.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="InstanciaNoRegistrada">

Page 25: - El portal único del ... ·

<xs:annotation>

<xs:documentation>Hace Referencia a una Instancia de un Sistema de Control de Gestión no Registrada en la

Comunidad de Interoperabilidad.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="DatosDeContacto" type="Contacto" minOccurs="1" />

<xs:element name="CertificadoInstancia" type="xs:base64Binary" minOccurs="1" />

</xs:sequence>

<xs:attribute name="URI" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>Uri que identifica a la instancia que pretende registrarse en la comunidad</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Nombre" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre de la instancia que pretende registrarse.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreCorto" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre corto del Miembro de la Comunidad. El nombre corto debe ser una sola palabra que

identifique al miembro de la comunidad.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="EndPoint" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>EndPoint del servicio para recibir mensajes de interoperabilidad</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="MensajeInteroperabilidad" >

<xs:annotation>

<xs:documentation>

Page 26: - El portal único del ... ·

Mensaje de Interoperabilidad.

Definición del Tipo de Dato utilizado como elemento Raíz en los Mensajes de Interoperabilidad entre Instancias

registradas y el Broker o Enrutador.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Encabezado" type="Encabezado">

<xs:annotation>

<xs:documentation>Encabezado del Mensaje</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Cuerpo">

<xs:annotation>

<xs:documentation>Cuerpo del Mensaje. </xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0">

<xs:element name="OficioElectronico" type="OficioElectronico" form="qualified" >

<xs:annotation>

<xs:documentation>En operación RegistroOficioElectronico: Contiene el Oficio Electrónico a registrar.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="DirectorioComunidad" type="DirectorioComunidad">

<xs:annotation>

<xs:documentation>Contiene el directorio de la comunidad</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="DirectorioMiembroComunidad" type="DirectorioMiembroComunidad">

<xs:annotation>

<xs:documentation>Contiene el directorio de un miembro de la comunidad.</xs:documentation>

</xs:annotation>

</xs:element>

Page 27: - El portal único del ... ·

<xs:element name="MiembrosComunidad">

<xs:annotation>

<xs:documentation>Contiene la lista de miembros registrados en la comunidad.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="MiembroComunidad" type="InformacionMiembroComunidad" minOccurs="0"

maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="ActualizacionDirectorioMiembroComunidad"

type="ActualizacionDirectorioMiembroComunidad">

<xs:annotation>

<xs:documentation>

En operación ActualizacionDirectorio: Contiene la información de altas, bajas y cambios (modificaciones) de

Usuarios que fueron realizados en un miembro de la comunidad.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="ActualizacionDirectorioComunidad" type="ActualizacionDirectorioComunidad">

<xs:annotation>

<xs:documentation>

En operación ActualizacionDirectorio: Contiene la información de altas, bajas y cambios (modificaciones) de

Usuarios que fueron realizados en uno o varios miembros de la comunidad.

Este elemento solo lo utiliza el Broker o Enrutador, las instancias utilizan el elemento

ActualizacionDirectorioMiembroComunidad para enviar una actualizacion de directorio.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="SolicitudSuscripcionInstancia" type="SolicitudSuscripcionInstancia">

<xs:annotation>

<xs:documentation>En operación SuscripcionInstancia. Contiene el CodigoPIN utilizado únicamente por la

Instancia, para la verificación de aceptación.</xs:documentation>

</xs:annotation>

Page 28: - El portal único del ... ·

</xs:element>

<xs:element name="RespuestaSuscripcionInstancia" type="RespuestaSuscripcionInstancia">

<xs:annotation>

<xs:documentation>En operación RespuestaSuscripcionInstancia. Especifica si la instancia a la que se le hizo la

solicitud, acepta o no la suscripción para interoperar.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="MiembroComunidad" type="MiembroComunidad">

<xs:annotation>

<xs:documentation>En operación ObtenerDirectorioMiembro: Contiene la información del Miembro de la

Comunidad cuyo directorio es solicitado.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Rechazo" type="Rechazo">

<xs:annotation>

<xs:documentation>En un mensaje de tipo MensajeRechazado, puede contener información sobre el motivo del

rechazo.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="VersionDirectorio" type="VersionDirectorio">

<xs:annotation>

<xs:documentation>En respuesta a la operación ObtenerVersionActualDirectorio contiene la información de

versión solicitada. En respuesta a operaciones de Actualización de directorio, contiene la versión del directorio luego de

aplicar dicha actualización.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="VersionEsquema" type="xs:decimal" use="required" fixed="1.0" >

<xs:annotation>

<xs:documentation>Versión de Esquema del mensaje de Interoperabilidad.</xs:documentation>

</xs:annotation>

Page 29: - El portal único del ... ·

</xs:attribute>

</xs:complexType>

<xs:complexType name="MensajeInteroperabilidadDestino">

<xs:annotation>

<xs:documentation>Representa el Destinatario de un Mensaje de Interoperabilidad. Este puede ser directamente un

Miembro de la comunidad, o uno o varios de sus Usuarios.</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="MiembroComunidad">

<xs:sequence>

<xs:element name="Usuarios" minOccurs="0">

<xs:annotation>

<xs:documentation>

Lista de usuarios del miembro de la comunidad a quienes se envía este mensaje.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Usuario" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation>Información del Usuario, Destinatario del Mensaje.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:complexContent>

<xs:extension base="Usuario">

<xs:attribute name="Original" type="xs:boolean" use="required">

<xs:annotation>

<xs:documentation>

Especifica si el destinatario es Original o una Copia.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="IdentificadorRespuesta" type="xs:string" use="optional">

Page 30: - El portal único del ... ·

<xs:annotation>

<xs:documentation>

Identificador, que se debería especificar en el atributo EnRespuestaDe de un oficio si el destinatario al que

se envía este mensaje emite una respuesta.

De no ser especificado, el atributo EnRespuestaDe, contendría el Folio del Oficio Electrónico (Solicitud) que

responde.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="MensajeInteroperabilidadOrigen">

<xs:annotation>

<xs:documentation>Representa el Remitente de un Mensaje de Interoperabilidad.</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="MiembroComunidad">

<xs:sequence>

<xs:element name="Firma" type="FirmaElectronica" >

<xs:annotation>

<xs:documentation>

Información de la Firma electrónica que aplica el miembro de la comunidad que crea u origina este mensaje de

interoperabilidad.

El elemento hijo 'Signature' corresponde a la firma del XML del MensajeInteroperabilidad, utilizando el estándar

Page 31: - El portal único del ... ·

XML-Signature Syntax and Processing (http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/) con las

siguientes características:

Algoritmo de canonicalización: http://www.w3.org/TR/2001/REC-xml-c14n-20010315

Algoritmo de Firma: PKCS1 - (RSA-SHA1) http://www.w3.org/2000/09/xmldsig#rsa-sha1

Transformaciones que se deben aplicar y su orden:

1. http://www.w3.org/2000/09/xmldsig#enveloped-signature

2. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: ancestor-or-self::*[local-

name()='MensajeInteroperabilidad']

3. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: not(ancestor-or-self::*[local-

name()='Ruteo'])

(Se excluye de la firma el elemento Ruteo y sus decendientes, para permitir que un Broker puede insertar

información de ruteo sin invalidar la firma del origen)

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Usuario" type="Usuario" minOccurs="0">

<xs:annotation>

<xs:documentation>

En el envío de un Mensaje de Interoperabilidad de Oficio Electrónico, este elemento especifica al usuario

remitente del Oficio Electrónico.

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="MiembroComunidad">

<xs:annotation>

<xs:documentation>Contiene la información de identificación de un miembro de la comunidad.</xs:documentation>

</xs:annotation>

<xs:attribute name="URI" type="xs:anyURI" use="required">

<xs:annotation>

Page 32: - El portal único del ... ·

<xs:documentation>Uri del miembro de la comunidad</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Nombre" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre del Miembro de la Comunidad</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreCorto" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Nombre corto del Miembro de la Comunidad.

El nombre corto debe ser una sola palabra que identifique al miembro de la comunidad.

Por ejemplo: SFP, SCT, SHCP, etc.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Tipo" type="TipoMiembro" use="required">

<xs:annotation>

<xs:documentation>Especifica si el miembro de la comunidad es una Instancia, o un Enrutador</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="EndPoint" type="xs:anyURI" use="optional">

<xs:annotation>

<xs:documentation>

EndPoint del servicio para recibir mensajes de interoperabilidad.

Representa el 'Servicio Web' expuesto por la instancia (típicamente su SACG) o la OPE, para recibir, procesar y

responder mensajes de Interoperabilidad.

Es responsabilidad de la Instancia el mantener este servicio operacional y accesible para el Broker.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

Page 33: - El portal único del ... ·

<xs:complexType name="OficioElectronico">

<xs:annotation>

<xs:documentation>Tipo de dato que representa un Oficio Electrónico.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Transformacion" type="TransformacionOficioElectronico" minOccurs="0">

<xs:annotation>

<xs:documentation>Elemento opcional que permitiría realizar una transformación del Oficio Electrónico para generar

su representación impresa.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Remitente" type="RemitenteOficioElectronico">

<xs:annotation>

<xs:documentation>Remitente de este Oficio Electrónico.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Destinatarios">

<xs:annotation>

<xs:documentation>Destinatarios del Oficio Electrónico.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Destinatario" type="ActorOficioElectronico" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Copias" minOccurs="0">

<xs:annotation>

<xs:documentation>Destinatarios a quien se le manda una copia del Oficio Electrónico.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Copia" type="ActorOficioElectronico" minOccurs="0" maxOccurs="unbounded" />

Page 34: - El portal único del ... ·

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:choice>

<xs:annotation>

<xs:documentation>Información de la fecha de elaboración de este oficio.</xs:documentation>

</xs:annotation>

<xs:element name="EstampillaFechaElaboracion" type="EstampillaDeTiempo" />

<xs:element name="FechaElaboracion" type="xs:dateTime" />

</xs:choice>

<xs:element name="DatosDelOficio" type="DatosDelOficio">

<xs:annotation>

<xs:documentation>Información de este Oficio Electrónico. Pueden ser datos de una Solicitud o de una Respuesta a

una Solicitud</xs:documentation>

</xs:annotation>

</xs:element>

<xs:choice>

<xs:annotation>

<xs:documentation>Asunto o Instrucción de este oficio electrónico.</xs:documentation>

</xs:annotation>

<xs:element name="AsuntoInstruccion" type="xs:string">

<xs:annotation>

<xs:documentation>Elemento cuyo valor es el texto plano del asunto o instrucción.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element ref="xenc:EncryptedData" >

<xs:annotation>

<xs:documentation>Elemento 'AsuntoInstruccion' Cifrado</xs:documentation>

</xs:annotation>

</xs:element>

</xs:choice>

<xs:element name="DocumentoElectronico" type="Anexo" minOccurs="0">

Page 35: - El portal único del ... ·

<xs:annotation>

<xs:documentation>Este elemento puede contener un Archivo que el usuario desea distinguir del resto de los anexos,

pudiendo ser una imagen, un archivo de sonido, un documento de Word, o cualquier otro archivo

electrónico.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Anexos" minOccurs="0">

<xs:annotation>

<xs:documentation>Lista de anexos del Oficio Electrónico</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Anexo" type="Anexo" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:choice>

<xs:element name="Addenda" minOccurs="0">

<xs:annotation>

<xs:documentation>

Nodo opcional para recibir las extensiones al presente esquema que sean de utilidad al emisor o receptor del Oficio

Electrónico.

Este elemento posibilita extender la integración entre los SACG, al permitir agregar información que pueda ser

procesada de forma automática.

Como regla, los elementos aquí agregados al XML del Oficio Electrónico, deberán mantener al Oficio y al Mensaje de

Interoperabilidad que se utilice para el envio de este Oficio, como XML válidos.

La estructura de dicha información debería ser especificada por las instancia y reforzada su validación mediante la

publicación de un esquema de XML como el presente XSD.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:any minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

Page 36: - El portal único del ... ·

</xs:element>

<xs:element ref="xenc:EncryptedData" minOccurs="0">

<xs:annotation>

<xs:documentation>Nodo opcional, cifrado, para recibir las extensiones al presente esquema que sean de utilidad al

emisor o receptor del Oficio Electrónico.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:choice>

<xs:element name="FirmasElectronicas" >

<xs:annotation>

<xs:documentation>

Firmas electrónicas de este oficio electrónico.

El elemento es requerido pues el oficio debe estar firmado al menos por la organización.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence >

<xs:element name="Autor" >

<xs:annotation>

<xs:documentation>

Firma del autor del Oficio Electrónico.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="FirmaElectronica" type="FirmaElectronicaOficio" minOccurs="0" >

<xs:annotation>

<xs:documentation>

En el intercambio de Oficios entre Instancias (escenario de Interoperabilidad

entre SACG) se espera que el Oficio contenga la Firma de Autor, sin embargo,

para permitir la adopción o uso del Oficio Electrónico al interior de las Instituciones

(escenario sin Interoperabilidad entre SACG), se especifica el elemento FirmaElectronica

Page 37: - El portal único del ... ·

de Autor como opcional.

Las intancias (SACG) que reciban un Oficio Electrónico de otra Instancia, deberán validar

que el Oficio si contenga la Firma Elctrónica de Autor y esta sea válida.

El elemento que contiene la información de firma del autor del Oficio Electrónico.

Como Propósito de la Firma, se sugiere utilizar alguna descripción como:

"Autoría", "Integridad y No repudio" o similar.

Para mayor información sobre las características del elemento hijo 'Signature',

ver documentación del Tipo Complejo FirmaElectronicaOficio.

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="OtrasPersonas" >

<xs:annotation>

<xs:documentation>

Lista de firmas de personas diferentes al autor.

En combinación con el propósito, permite agregar Firmas adicionales que por ejemplo

representen, una Aprobacion del Jefe, o la Colaboración en la generación, etcétera.

Algunos ejemplos de Propósito de la firma podrían ser: "Aprobación",

"Revisión o Visto Bueno", "Firma por ausencia", etcétera.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="FirmaElectronica" type="FirmaElectronicaOficio" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation>

Para mayor información sobre las características del elemento hijo 'Signature',

Page 38: - El portal único del ... ·

ver documentación del Tipo Complejo FirmaElectronicaOficio.

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Organizacionales" >

<xs:annotation>

<xs:documentation>

Lista de firmas de la institución y/o unidad organizacional

a la que pertence el autor, o de las que es pertinente que apliquen

su Firma Electrónica a este OficioElectronico.

El oficio debe contener al menos una firma de Organización.

Como Propósito de la Firma, se sugiere utilizar alguna descripción como:

"Integridad y No repudio" o similar.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="FirmaElectronica" type="FirmaElectronicaOficio" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation>

Para mayor información sobre las características del elemento hijo 'Signature',

ver documentación del Tipo Complejo FirmaElectronicaOficio.

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

Page 39: - El portal único del ... ·

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Archivos" minOccurs="0">

<xs:annotation>

<xs:documentation>Los archivos no son incluidos en la firma electrónica</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Archivo" type="Archivo" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

<xs:unique name="ArchivoUnico">

<xs:selector xpath="Archivo" />

<xs:field xpath="@Identificador" />

</xs:unique>

</xs:element>

</xs:sequence>

<xs:attribute name="TipoOficio" type="TipoOficioElectronico" use="required">

<xs:annotation>

<xs:documentation>Especifica si el oficio es una Solicitud o una Respuesta a una Solicitud</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Folio" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Folio del Oficio electrónico</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NumeroOficioElectronico" type="xs:string" use="optional" />

<xs:attribute name="Confidencialidad" type="TipoConfencialidad" use="required">

<xs:annotation>

<xs:documentation>Tipo de confidencialidad del Oficio Electrónico.</xs:documentation>

Page 40: - El portal único del ... ·

</xs:annotation>

</xs:attribute>

<xs:attribute name="EnReferenciaAFolio" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>Folio de Oficio electrónico al que este oficio hace referencia (o da alcance)</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="EnRespuestaDe" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>Para oficio de Tipo Respuesta; contiene el Folio de la Solicitud al que se responde

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="VersionEsquema" type="xs:decimal" use="required" fixed="1.0" >

<xs:annotation>

<xs:documentation>Versión de esquema del Oficio Electrónico</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:anyAttribute>

<xs:annotation>

<xs:documentation>Para Extensibilidad que permita incluir elementos no declarados inicialmente en el

esquema.</xs:documentation>

</xs:annotation>

</xs:anyAttribute>

</xs:complexType>

<xs:complexType name="OPENoRegistrada">

<xs:annotation>

<xs:documentation>

Hace Referencia a una OPE de una Comunidad de Interoperabilidad que agrupa diversas Instancias de

Sistema de Control de Gestión no Registradas en la Comunidad de Interoperabilidad

</xs:documentation>

</xs:annotation>

<xs:sequence>

Page 41: - El portal único del ... ·

<xs:element name="DatosDeContacto" type="Contacto" minOccurs="1" />

<xs:element name="CertificadoInstancia" type="xs:base64Binary" minOccurs="1" />

</xs:sequence>

<xs:attribute name="URI" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>Uri que identifica a la instancia que pretende registrarse en la comunidad</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Nombre" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre de la OPE que pretende registrarse.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreCorto" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Nombre corto de la OPE.

El nombre corto debe ser una sola palabra que identifique al miembro de la comunidad.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="EndPoint" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>

EndPoint del servicio para recibir mensajes de interoperabilidad.

Representa el 'Servicio Web' expuesto por la instancia (tipicamente su SACG) o la OPE, para recibir, procesar y

responder mensajes de Interoperabilidad.

Es responsabilidad de la Instancia el mantener este servicio operacional y accesible para el Broker.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="TransformacionOficioElectronico">

Page 42: - El portal único del ... ·

<xs:annotation>

<xs:documentation>Tipo de dato que representa la transformación aplicable al Oficio Electrónico.</xs:documentation>

</xs:annotation>

<xs:attribute name="Uri" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>URI del XSLT o XSLFO asociado al Oficio Electrónico, que permitira realizar una transformación para

generar su representación impresa.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Tipo" type="TipoTransformacionOficioElectronico" use="required">

<xs:annotation>

<xs:documentation>

Tipos de transformación aplicada al Oficio Electrónico, para generar su representación impresa.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="FirmaElectronicaArchivo">

<xs:annotation>

<xs:documentation>

Tipo De Dato Firma Electrónica para un Archivo anexado.

Hace referencia a datos(estructura) de Firma Electrónica.

Si el remitente del oficio firma electrónicamente el documento,

(todo o alguna de sus partes), el Certificado con el que se

firmaron los documentos, deberá estar incluido en el elemento

"Certificado" del Remitente del oficio electrónico.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="InformacionCertificado" type="InformacionCertificadoFirma" >

<xs:annotation>

<xs:documentation>Información del certificado utilizado en esta Firma electrónica</xs:documentation>

</xs:annotation>

Page 43: - El portal único del ... ·

</xs:element>

<xs:element name="Firma" type="xs:base64Binary" >

<xs:annotation>

<xs:documentation>

Contendrá la Firma electrónica de un archivo

siguiendo el estándar PKCS#7.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Hash" type="xs:base64Binary" >

<xs:annotation>

<xs:documentation>

Si este elemento se especifica, contendra el valor

calculado de Hash del contenido binario del archivo.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Proposito" minOccurs="0">

<xs:annotation>

<xs:documentation>

Utilizado para agregar una descripción acerca del propósito de la firma electrónica.

</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:whiteSpace value="collapse" />

</xs:restriction>

</xs:simpleType>

</xs:element>

</xs:sequence>

<xs:attribute name="AlgoritmoHash" type="AlgoritmosHash" use="required">

<xs:annotation>

Page 44: - El portal único del ... ·

<xs:documentation>Algoritmo usado para calcular el Hash del Archivo. Puede ser MD5 o SHA1.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="Institucion">

<xs:annotation>

<xs:documentation>Información y Estructura de la Institución de un miembro de la comunidad.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="UnidadesOrganizacionales">

<xs:annotation>

<xs:documentation>Lista de Unidades Organizacionales del primer nivel (o raíz) en la Institución. La Unidad

Organizacional hace referencia a la Unidad Administrativa señalada en el DTISACG.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="UnidadOrganizacional" type="UnidadOrganizacional" minOccurs="0" maxOccurs="unbounded"

/>

</xs:sequence>

</xs:complexType>

<xs:unique name="UnidadOrganizacionalEnOrganizacionUnica">

<xs:selector xpath="UnidadOrganizacional" />

<xs:field xpath="@Identificador" />

</xs:unique>

</xs:element>

<xs:element name="Usuarios">

<xs:annotation>

<xs:documentation>Lista de Usuarios del primer nivel (o raíz) en la Institución.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Usuario" type="Usuario" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

Page 45: - El portal único del ... ·

</xs:complexType>

<xs:unique name="UsuarioEnOrganizacionUnico">

<xs:selector xpath="Usuario" />

<xs:field xpath="@Identificador" />

</xs:unique>

</xs:element>

</xs:sequence>

<xs:attribute name="URI" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>Uri del Miembro de la Comunidad.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Identificador" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Identificador de la Institución.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Nombre" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre de la Institución.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreDistinguido">

<xs:annotation>

<xs:documentation>

Nombre distinguido, o DN en base al estándar X.500.

Se debe considerar que este dato opcional, es de utilidad solo para la instancia que lo especifica.

Dicha instancia es la responsable de la validez de la información.

El Broker no realizará ningún tipo de validación sobre la información aquí contenida.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

Page 46: - El portal único del ... ·

<xs:complexType name="PuntoRuta">

<xs:annotation>

<xs:documentation>

Tipo de dato que representa la información que un Intermediario agrega a un mensaje, cuando se le retransmite.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Intermediario" type="MiembroComunidad" >

<xs:annotation>

<xs:documentation>

Intermediario que retransmite el mensaje.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="EstampaRecibido" type="EstampillaDeTiempo" >

<xs:annotation>

<xs:documentation>

Estampa de tiempo de recepción del mensaje.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="EstampaEnvio" type="EstampillaDeTiempo" >

<xs:annotation>

<xs:documentation>

Estampa de tiempo de envio del mensaje.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Firma" type="FirmaElectronica" >

<xs:annotation>

<xs:documentation>

Información de la Firma electrónica que aplica el intermediario al mensaje de interoperabilidad.

Page 47: - El portal único del ... ·

El elemento hijo 'Signature' corresponde a la firma del XML del MensajeInteroperabilidad, utilizando el estándar

XML-Signature Syntax and Processing (http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/) con las siguientes

características:

Algoritmo de canonicalización: http://www.w3.org/TR/2001/REC-xml-c14n-20010315

Algoritmo de Firma: PKCS1 - (RSA-SHA1) http://www.w3.org/2000/09/xmldsig#rsa-sha1

Transformaciones que se deben aplicar y su orden:

1. http://www.w3.org/2000/09/xmldsig#enveloped-signature

2. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: ancestor-or-self::*[local-

name()='MensajeInteroperabilidad']

3. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: not(ancestor-or-self::*[local-

name()='PuntoRuta' and @Id!='{@Id}'])

(Donde la cadena '{@Id}', se sustituye por el valor asignado al atributo Id de este PuntoRuta.

Quedan excluidos de la firma los elementos PuntoRuta diferentes a este. Por lo que permite que otro Broker pueda

insertar más información de ruteo

sin invalidar la firma del origen, ni de este PuntoRuta)

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="Id" type="UUID" use="required">

<xs:annotation>

<xs:documentation>Identificador de PuntoRuta</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="Rechazo">

<xs:annotation>

<xs:documentation>En operación MensajeRechazado puede contener información sobre los motivos del rechazo de un

mensaje</xs:documentation>

</xs:annotation>

<xs:attribute name="CodigoError" type="CodigoError" />

<xs:attribute name="Descripcion">

<xs:simpleType>

Page 48: - El portal único del ... ·

<xs:restriction base="xs:string" />

</xs:simpleType>

</xs:attribute>

</xs:complexType>

<xs:complexType name="RemitenteOficioElectronico">

<xs:annotation>

<xs:documentation>

Representa el Remitente de un Oficio electrónico.

Si el remitente del oficio firma electrónicamente el documento,

todo o alguna de sus partes, el elemento Certificado deberá

contener el certificado en base64, con el cual se firmaron

los documentos.

</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="ActorOficioElectronico">

<xs:sequence>

<xs:element name="Certificado" type="xs:base64Binary" minOccurs="0" />

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:complexType name="RespuestaSuscripcionInstancia">

<xs:annotation>

<xs:documentation>Representa la respuesta a una Solicitud de suscripción de una instancia con otra para

interoperar.</xs:documentation>

</xs:annotation>

<xs:attribute name="Aceptado" type="xs:boolean" use="required" />

</xs:complexType>

<xs:complexType name="SolicitudRegistro">

<xs:annotation>

<xs:documentation>

Primer mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad.

Page 49: - El portal único del ... ·

Representa el mensaje que envía una instancia que desea registrarse en una comunidad, al enrutador de dicha

comunidad.

El enrutador validará la información proporcionada por el registrante en este mensaje y podrá responder con un

mensaje de tipo

RetoSolicitudRegistro, que indicaría el éxito en el primer paso del registro ó, un RechazoSolicitudRegistro que daría por

terminada

la negociación de registro.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:choice>

<xs:annotation>

<xs:documentation>Información de la fecha del envio de este mensaje</xs:documentation>

</xs:annotation>

<xs:element name="EstampaEnvio" type="EstampillaDeTiempo" minOccurs="1" />

<xs:element name="FechaEnvio" type="xs:dateTime" minOccurs="1" />

</xs:choice>

<xs:choice>

<xs:annotation>

<xs:documentation>

Información del registrante en la comunidad. Puede ser una Instancia de Control de Gestión

o una OPE que se registrará como subcomunidad.

</xs:documentation>

</xs:annotation>

<xs:element name="Registrante" type="InstanciaNoRegistrada">

<xs:annotation>

<xs:documentation>

Información de la instancia que desea registrarse en la comunidad.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="SubComunidad" type="OPENoRegistrada">

<xs:annotation>

<xs:documentation>

Page 50: - El portal único del ... ·

Información de la OPE que desea registrarse en la comunidad como subcomunidad.

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:choice>

<xs:element name="Reto" type="Reto">

<xs:annotation>

<xs:documentation>

Reto enviado al Broker. Contiene una cadena generada por la instancia, y cifrada con su llave privada (RSA). Será

desencriptada por el enrutador con la llave pública de la Instancia, vuelta a cifrar (RSA) con la llave privada del Enrutador y

devuelta en un mensaje de tipo RetoSolicituRegistro.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element ref="ds:Signature">

<xs:annotation>

<xs:documentation>

Firma de mensaje.

Corresponde a la firma del XML de SolicitudRegistro, utilizando el estándar

XML-Signature Syntax and Processing (http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/) con las siguientes

características:

Algoritmo de canonicalización: http://www.w3.org/TR/2001/REC-xml-c14n-20010315

Algoritmo de Firma: PKCS1 - (RSA-SHA1) http://www.w3.org/2000/09/xmldsig#rsa-sha1

Transformaciones que se deben aplicar y su orden:

1. http://www.w3.org/2000/09/xmldsig#enveloped-signature

2. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: ancestor-or-self::*[local-

name()='SolicitudRegistro']

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="IdMensaje" type="UUID" use="required">

Page 51: - El portal único del ... ·

<xs:annotation>

<xs:documentation>Identificador de Mensaje</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="RetoSolicitudRegistro">

<xs:annotation>

<xs:documentation>

Segundo mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad.

Representa el mensaje que envía el enrutador o Broker a una instancia en respuesta a una 'SolicitudRegistro'.

El Enrutador, cifrará una cadena generada por él, utilizando la llave pública del Registrante y la enviará en '@Reto'

para que el registrante la devuelva descifrada mediante su llave privada.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:choice>

<xs:annotation>

<xs:documentation>Información de la fecha del envio de este mensaje</xs:documentation>

</xs:annotation>

<xs:element name="EstampaEnvio" type="EstampillaDeTiempo" minOccurs="1" />

<xs:element name="FechaEnvio" type="xs:dateTime" minOccurs="1" />

</xs:choice>

<xs:element name="Enrutador" type="InformacionMiembroComunidad">

<xs:annotation>

<xs:documentation>

Información del enrutador de la comunidad al que la instancia desea registrarse.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RespuestaReto" type="RespuestaReto">

<xs:annotation>

<xs:documentation>

Page 52: - El portal único del ... ·

Contiene la cadena enviada por la instancia al enrutador, descifrada con la llave pública del certificado de la instancia

y vuelta a firmar con la llave privada del certificado del enrutador.

Cuando la instancia descifre la cadena cifrada, utilizando la llave pública del certificado del enrutador, la cadena

resultante deberá ser la misma que la instancia envio originalmente como Reto.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Reto" type="Reto">

<xs:annotation>

<xs:documentation>

Reto enviado a la instancia. Contiene una cadena generada por el enrutador, y cifrada con su llave privada. Será

descifrada por la instancia con la llave pública del enrutador, vuelta a cifrar con la llave privada de la instancia y devuelta en

un mensaje de tipo RespuestaRetoSolicitudRegistro.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element ref="ds:Signature">

<xs:annotation>

<xs:documentation>

Firma de mensaje

Corresponde a la firma del XML de RetoSolicitudRegistro, utilizando el estándar

XML-Signature Syntax and Processing (http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/) con las siguientes

características:

Algoritmo de canonicalización: http://www.w3.org/TR/2001/REC-xml-c14n-20010315

Algoritmo de Firma: PKCS1 - (RSA-SHA1) http://www.w3.org/2000/09/xmldsig#rsa-sha1

Transformaciones que se deben aplicar y su orden:

1. http://www.w3.org/2000/09/xmldsig#enveloped-signature

2. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: ancestor-or-self::*[local-

name()='RetoSolicitudRegistro']

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

Page 53: - El portal único del ... ·

<xs:attribute name="IdMensaje" type="UUID" use="required">

<xs:annotation>

<xs:documentation>Identificador de Mensaje</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="IdRegistro" type="UUID" use="required">

<xs:annotation>

<xs:documentation>Identificador de proceso de registro que el enrutador especifica al registrante para la continuidad

del proceso.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="RespuestaRetoSolicitudRegistro">

<xs:annotation>

<xs:documentation>

Tercer mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad.

Representa el mensaje que envía la instancia al enrutador o Broker en respuesta a un RetoSolicitudRegistro.

El Broker al enviar un 'RetoSolicitudRegistro', envía una cadena cifrada con la llave pública de la instancia. La instancia

descifrará esta cadena con su llave privada y la devolverá en @RespuestaReto. A su vez la instancia cifrará una cadena

generada por

ella, utilizando la llave pública del certificado del enrutador, y la enviará a este, en @Reto, para que en el último paso,

el enrutador la

devuelva a su vez descifrada con su llave privada, cerrando el ciclo de Registro.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:choice>

<xs:annotation>

<xs:documentation>Información de la fecha del envio de este mensaje</xs:documentation>

</xs:annotation>

<xs:element name="EstampaEnvio" type="EstampillaDeTiempo" minOccurs="1" />

<xs:element name="FechaEnvio" type="xs:dateTime" minOccurs="1" />

</xs:choice>

<xs:element name="RespuestaReto" type="RespuestaReto">

Page 54: - El portal único del ... ·

<xs:annotation>

<xs:documentation>

Contiene la cadena enviada por el enrutador a la instancia, descifrada con la llave pública del certificado del

enrutador y vuelta a firmar con la llave privada del certificado de la instancia.

Cuando el enrutador descifre la cadena cifrada, utilizando la llave pública del certificado de la instancia, la cadena

resultante deberá ser la misma que el enrutador envio originalmente como Reto.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element ref="ds:Signature">

<xs:annotation>

<xs:documentation>

Firma de mensaje

Corresponde a la firma del XML de RespuestaRetoSolicitudRegistro, utilizando el estándar

XML-Signature Syntax and Processing (http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/) con las siguientes

características:

Algoritmo de canonicalización: http://www.w3.org/TR/2001/REC-xml-c14n-20010315

Algoritmo de Firma: PKCS1 - (RSA-SHA1) http://www.w3.org/2000/09/xmldsig#rsa-sha1

Transformaciones que se deben aplicar y su orden:

1. http://www.w3.org/2000/09/xmldsig#enveloped-signature

2. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: ancestor-or-self::*[local-

name()='RespuestaRetoSolicitudRegistro']

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="IdMensaje" type="UUID" use="required">

<xs:annotation>

<xs:documentation>Identificador de Mensaje</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="IdRegistro" type="UUID" use="required">

Page 55: - El portal único del ... ·

<xs:annotation>

<xs:documentation>Identificador de proceso de registro que el enrutador especificó en el atributo IdRegistro del

mensaje RetoSolicitudRegistro y que la instancia deberá replicar en este atributo para crear la relación de los

mensajes.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="URIRegistrante" type="xs:anyURI" use="required">

<xs:annotation>

<xs:documentation>Uri de la instancia registrante. Deberá corresponder al atributo URI del elemento Registrante del

mensaje SolicitudRegistro (primer mensaje en el proceso de registro)</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="RespuestaSolicitudRegistro">

<xs:annotation>

<xs:documentation>

Cuarto mensaje en el flujo de Registro de Instancia en una Comunidad de Interoperabilidad.

Representa el mensaje final en el flujo de Registro de una Instancia en el enrutador.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:choice>

<xs:annotation>

<xs:documentation>Información de la fecha del envio de este mensaje</xs:documentation>

</xs:annotation>

<xs:element name="EstampaEnvio" type="EstampillaDeTiempo" minOccurs="1" />

<xs:element name="FechaEnvio" type="xs:dateTime" minOccurs="1" />

</xs:choice>

<xs:element name="Miembros" minOccurs="0" maxOccurs="1">

<xs:annotation>

<xs:documentation>Lista de miembros registrados al momento de la generación de la respuesta</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

Page 56: - El portal único del ... ·

<xs:element name="Miembro" type="InformacionMiembroComunidad" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element ref="ds:Signature" >

<xs:annotation>

<xs:documentation>

Firma de mensaje

Corresponde a la firma del XML de RespuestaSolicitudRegistro, utilizando el estándar

XML-Signature Syntax and Processing (http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/) con las siguientes

características:

Algoritmo de canonicalización: http://www.w3.org/TR/2001/REC-xml-c14n-20010315

Algoritmo de Firma: PKCS1 - (RSA-SHA1) http://www.w3.org/2000/09/xmldsig#rsa-sha1

Transformaciones que se deben aplicar y su orden:

1. http://www.w3.org/2000/09/xmldsig#enveloped-signature

2. http://www.w3.org/TR/1999/REC-xpath-19991116 Valor de XPath: ancestor-or-self::*[local-

name()='RespuestaSolicitudRegistro']

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="IdMensaje" type="UUID" use="required">

<xs:annotation>

<xs:documentation>Identificador de Mensaje</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RegistroAceptado" type="xs:boolean" use="required">

<xs:annotation>

<xs:documentation>Especifica si la Instancia fue registrada en la Comunidad.</xs:documentation>

</xs:annotation>

</xs:attribute>

Page 57: - El portal único del ... ·

</xs:complexType>

<xs:complexType name="RechazoSolicitudRegistro">

<xs:annotation>

<xs:documentation>

Respuesta que puede enviar el Enrutador a la Instancia Registrante, en cualquiera de los pasos del registro de la

instancia en la comunidad.

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:choice>

<xs:annotation>

<xs:documentation>Información de la fecha del envio de este mensaje</xs:documentation>

</xs:annotation>

<xs:element name="EstampaEnvio" type="EstampillaDeTiempo" minOccurs="1" />

<xs:element name="FechaEnvio" type="xs:dateTime" minOccurs="1" />

</xs:choice>

<xs:element ref="ds:Signature" />

</xs:sequence>

<xs:attribute name="IdMensaje" type="UUID" use="required">

<xs:annotation>

<xs:documentation>Identificador de Mensaje</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="MotivoRechazo" type="xs:string">

<xs:annotation>

<xs:documentation>Si la solicitud fue rechazada. Este atributo puede contener información extra sobre el

motivo.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="SolicitudSuscripcionInstancia">

<xs:annotation>

<xs:documentation>Representa la solicitud de suscripción de una instancia con otra para

interoperar.</xs:documentation>

Page 58: - El portal único del ... ·

</xs:annotation>

<xs:attribute name="CodigoPIN" type="xs:string" use="optional" />

</xs:complexType>

<xs:complexType name="Reto">

<xs:sequence>

<xs:element name="CadenaCifrada" type="xs:string" minOccurs="1" />

</xs:sequence>

</xs:complexType>

<xs:complexType name="RespuestaReto">

<xs:sequence>

<xs:element name="CadenaCifrada" type="xs:string" minOccurs="1" />

</xs:sequence>

</xs:complexType>

<xs:complexType name="Telefono">

<xs:annotation>

<xs:documentation>Especifica un número de teléfono.</xs:documentation>

</xs:annotation>

<xs:attribute name="NumeroTelefonico" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Número Telefónico</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Extension" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>Extensión</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="UnidadOrganizacional">

<xs:annotation>

<xs:documentation>Tipo De Dato Unidad Organizacional. Hace Referencia a ella misma así como al tipo de dato

Usuario</xs:documentation>

</xs:annotation>

Page 59: - El portal único del ... ·

<xs:sequence>

<xs:element name="UnidadesOrganizacionales">

<xs:annotation>

<xs:documentation>Lista de Unidades Organizacionales dependientes</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="UnidadOrganizacional" type="UnidadOrganizacional" minOccurs="0" maxOccurs="unbounded"

/>

</xs:sequence>

</xs:complexType>

<xs:unique name="UnidadOrganizacionalUnica">

<xs:annotation>

<xs:documentation>El identificador de la Unidad Organizacional Dependiente, dentro de esta Unidad debe ser

único.</xs:documentation>

</xs:annotation>

<xs:selector xpath="UnidadOrganizacional" />

<xs:field xpath="@Identificador" />

</xs:unique>

</xs:element>

<xs:element name="Usuarios">

<xs:annotation>

<xs:documentation>Lista de Usuarios pertenecientes a esta Unidad Organizacional</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Usuario" type="Usuario" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

<xs:unique name="UsuarioUnico">

<xs:annotation>

<xs:documentation>

El identificador del usuario dentro de esta Unidad Organizacional debe ser único

Page 60: - El portal único del ... ·

</xs:documentation>

</xs:annotation>

<xs:selector xpath="Usuario" />

<xs:field xpath="@Identificador" />

</xs:unique>

</xs:element>

</xs:sequence>

<xs:attribute name="Identificador" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Identificador de la Unidad Organizacional</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Nombre" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nombre de la Unidad Organizacional</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreDistinguido">

<xs:annotation>

<xs:documentation>

Nombre distinguido, o DN en base al estándar X.500.

Se debe considerar que este dato opcional, es de utilidad solo para la instancia que lo especifica.

Dicha instancia es la responsable de la validez de la información.

El Broker no realizará ningún tipo de validación sobre la información aquí contenida.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="Usuario">

<xs:annotation>

<xs:documentation>Tipo de Dato Usuario. Hace referencia a un Usuario de Interoperabilidad que pertenece a una

instancia.</xs:documentation>

</xs:annotation>

Page 61: - El portal único del ... ·

<xs:sequence>

<xs:element name="Nombre" type="xs:string">

<xs:annotation>

<xs:documentation>Nombre del Usuario.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Titulo" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>Título de la persona (Por ejemplo: Sr, Lic, CP, etcétera).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Puesto" type="xs:string">

<xs:annotation>

<xs:documentation>Puesto del Usuario</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="CorreoElectronico" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>Correo Electrónico del Usuario.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Certificado" type="xs:base64Binary" minOccurs="0">

<xs:annotation>

<xs:documentation>Certificado del Usuario.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="Identificador" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Identificador del Usuario.

El identificador (normalmente numérico en los sistemas) es el que existe en el Directorio de la Comunidad,

específicamente en el directorio de un miembro o instancia de la comunidad.

Page 62: - El portal único del ... ·

Este es el dato, propiedad o atributo, que utilizará en la OPE y las Instancias para identificar los “usuarios” a los que se

les pueden enviar un Oficio Electrónico.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Titular" type="xs:boolean" use="required">

<xs:annotation>

<xs:documentation>Especifica si el Usuario es, o no, Titular de la Unidad Organizacional a la que

pertenece.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NombreDistinguido">

<xs:annotation>

<xs:documentation>

Nombre distinguido, o DN en base al estándar X.500.

Se debe considerar que este dato opcional, es de utilidad solo para la instancia que lo especifica.

Dicha instancia es la responsable de la validez de la información.

El Broker no realizará ningún tipo de validación sobre la información aquí contenida.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="UsuarioBaja">

<xs:attribute name="Identificador" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Identificador del Usuario que se da de baja</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="UsuarioModificacion">

<xs:annotation>

<xs:documentation>Hace referencia a un tipo de dato (estructura) para los usuarios que se modifican en un

directorio.</xs:documentation>

</xs:annotation>

Page 63: - El portal único del ... ·

<xs:sequence>

<xs:element name="Certificado" type="Certificado" minOccurs="0">

<xs:annotation>

<xs:documentation>Nuevo certificado del Usuario</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="Identificador" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Identificador del Usuario modificado</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CorreoElectronico" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nuevo correo electrónico del Usuario</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Titulo" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>Nuevo titulo de la persona (Por ejemplo: Sr, Lic, CP, etcétera).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Puesto" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>Nuevo puesto del Usuario</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Titular" type="xs:boolean" use="required">

<xs:annotation>

<xs:documentation>Especifica si el Usuario es, o no, Titular de la Unidad Organizacional a la que

pertenece.</xs:documentation>

</xs:annotation>

</xs:attribute>

Page 64: - El portal único del ... ·

</xs:complexType>

<xs:complexType name="VersionDirectorio">

<xs:annotation>

<xs:documentation>

Tipo de dato asignado en el cuerpo de un mensaje en respuesta a una actualización de directorio o de una Petición de

versión de directorio.

</xs:documentation>

</xs:annotation>

<xs:attribute name="Version" type="xs:int" use="required">

<xs:annotation>

<xs:documentation>

Especifica la versión que tiene el directorio del miembro después de realizar la actualización recibida o la versión

actual si se trata del tipo de mensaje 'ObtenerVersionActualDirectorio'

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<!--SimpleTypes-->

<xs:simpleType name="TipoMensaje">

<xs:restriction base="xs:string">

<xs:enumeration value="MensajeRechazado">

<xs:annotation>

<xs:documentation>

Tipo de mensaje especificado en una respuesta de un mensaje cuando este último es rechazado (por el destino o por

algún intermediario).

Un intermediario al recibir este tipo de mensaje (del destinatario o de otro intermediario) debe reenviar el mensaje

de respuesta de regreso hasta el origen del mensaje especificado en la referencia.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="AcuseRecibo">

<xs:annotation>

<xs:documentation>

Page 65: - El portal único del ... ·

Tipo de mensaje especificado en una respuesta de un mensaje cuando este último es aceptado por el destinatario del

mensaje.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ConfirmacionRecibo">

<xs:annotation>

<xs:documentation>

Tipo de mensaje especificado en una respuesta de un mensaje cuando este último es aceptado por un intermediario.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="SuscripcionInstancia">

<xs:annotation>

<xs:documentation>

Solicitud para iniciar una relación de confianza entre dos instancias de la comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RespuestaSuscripcionInstancia">

<xs:annotation>

<xs:documentation>

Respuesta a una solicitud para iniciar una relación de confianza entre dos instancias de la comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="CancelacionSuscripcionInstancia">

<xs:annotation>

<xs:documentation>

Termina la relación de confianza entre dos instancias de la comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

Page 66: - El portal único del ... ·

<xs:enumeration value="MiembrosComunidad">

<xs:annotation>

<xs:documentation>

Mensaje que contiene la lista de miembros registrados en la comunidad. Este mensaje puede ser enviado a las

instancias cuando, por ejemplo, se registra un nuevo miembro en la comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ObtenerMiembrosComunidad">

<xs:annotation>

<xs:documentation>

Solicitud para obtener de la OPE, la lista de miembros registrados en la comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RespuestaObtenerMiembrosComunidad">

<xs:annotation>

<xs:documentation>

Respuesta al tipo de mensaje 'ObtenerMiembrosComunidad' por parte del intermediario.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ObtenerDirectorioComunidad">

<xs:annotation>

<xs:documentation>

Solicitud para obtener del intermediario, el directorio de los miembros registrados en la comunidad

(El enrutador solo devolverá los directorios de los miembros con los que exista una relación de confianza).

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RespuestaObtenerDirectorioComunidad">

<xs:annotation>

<xs:documentation>

Page 67: - El portal único del ... ·

Respuesta al tipo de mensaje 'ObtenerDirectorioComunidad' por parte del intermediario.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ObtenerDirectorioMiembro">

<xs:annotation>

<xs:documentation>

Solicitud para obtener del intermediario, el directorio de un miembro registrado en la comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RespuestaObtenerDirectorioMiembro">

<xs:annotation>

<xs:documentation>

Respuesta a la Acción 'ObtenerDirectorioMiembro' por parte del intermediario.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ObtenerDirectorioComunidad">

<xs:annotation>

<xs:documentation>

Solicitud para obtener del intermediario, el directorio completo de la comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RespuestaObtenerDirectorioComunidad">

<xs:annotation>

<xs:documentation>

Respuesta al tipo de mensaje 'ObtenerDirectorioComunidad' por parte del intermediario.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ObtenerVersionActualDirectorio">

Page 68: - El portal único del ... ·

<xs:annotation>

<xs:documentation>

Solicita la versión actual del directorio registrado al destino del mensaje.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RespuestaObtenerVersionActualDirectorio">

<xs:annotation>

<xs:documentation>

Respuesta a un mensaje de tipo 'ObtenerVersionActualDirectorio'. El mensaje deberá contener en el cuerpo del

mensaje un elemento de tipo VersionDirectorio.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ActualizacionDirectorioComunidad">

<xs:annotation>

<xs:documentation>

Envío de una actualización de directorio de los Miembros de la Comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ActualizacionDirectorioMiembroComunidad">

<xs:annotation>

<xs:documentation>

Envío de una actualización de directorio del Miembro de la Comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="DirectorioComunidad">

<xs:annotation>

<xs:documentation>

Envío del directorio completo de todos los miembros de la comunidad.

(El enrutador solo devolverá los directorios de los Miembros con los que exista una relación de confianza).

Page 69: - El portal único del ... ·

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="DirectorioMiembroComunidad">

<xs:annotation>

<xs:documentation>

Envío del directorio completo del miembro de la comunidad.

(El enrutador solo devolverá los directorios de los Miembros con los que exista una relación de confianza).

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RegistroOficioElectronico">

<xs:annotation>

<xs:documentation>

Envío de un Oficio Electrónico.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="CancelacionRegistroInstancia">

<xs:annotation>

<xs:documentation>

Cancela el registro de una Instancia en la comunidad.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="AlgoritmosHash">

<xs:annotation>

<xs:documentation>Enumerador de Algortimo de Hash</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:enumeration value="SHA1" />

Page 70: - El portal único del ... ·

<xs:enumeration value="MD5" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="Certificado">

<xs:restriction base="xs:base64Binary" />

</xs:simpleType>

<xs:simpleType name="CodigoError">

<xs:restriction base="xs:string">

<xs:enumeration value="MensajeMalFormado">

<xs:annotation>

<xs:documentation>

Se encontraron errores en la estructura del mensaje recibido.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="MiembroDesconocido">

<xs:annotation>

<xs:documentation>

No se encontró el Miembro de la Comunidad especificado en el Directorio Registrado.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="DestinoInaccesible">

<xs:annotation>

<xs:documentation>

Se intentó enviar el mensaje de Interoperabilidad pero el Destino es Inaccesible.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="UsuarioDesconocido">

<xs:annotation>

<xs:documentation>

No se encontró el Usuario especificado en el Directorio Registrado.

Page 71: - El portal único del ... ·

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="FirmaInvalida">

<xs:annotation>

<xs:documentation>

La Firma en el mensaje no es válida.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RelacionNoEstablecida">

<xs:annotation>

<xs:documentation>

La instancia destino no tiene o ha suspendido la relación de Interoperabilidad con la Instancia remitente y ha

rechazado el mensaje.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="DatosInvalidos">

<xs:annotation>

<xs:documentation>

La información suministrada es inválida, o insuficiente para el tipo de mensaje especificado.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="SecuenciaDeVersionIncorrecta">

<xs:annotation>

<xs:documentation>

Una sincronización Parcial de Directorio especifica un número de versión fuera de secuencia con la versión

registrada. (se requiere Sincronización Completa)

</xs:documentation>

</xs:annotation>

</xs:enumeration>

Page 72: - El portal único del ... ·

<xs:enumeration value="IdentificadorMensajeDuplicado">

<xs:annotation>

<xs:documentation>

Se ha recibido un mensaje cuyo identificador existe en uno de los mensajes registrados.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="MensajeEnReferenciaNoEncontrado">

<xs:annotation>

<xs:documentation>

Se ha recibido un mensaje que contiene en su encabezado el elemento EnReferenciaDe, pero no se encontró ningún

mensaje con el IdMensaje especificado en dicho elemento.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="SuscripcionActiva">

<xs:annotation>

<xs:documentation>

Se ha recibido una solicitud de suscripción de una instancia hacia otra, pero ya existe una relación de confiaza activa.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ErrorInterno">

<xs:annotation>

<xs:documentation>

Código especificado cuando ocurre un error en el servidor al procesar un mensaje, que no es atribuible a un

problema tipificado con otro Código de Error.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="ReferenciaArchivo">

Page 73: - El portal único del ... ·

<xs:restriction base="UUID" />

</xs:simpleType>

<xs:simpleType name="TipoAcuse">

<xs:annotation>

<xs:documentation>Tipo de Dato TipoAcuse: Hace referencia al tipo de acuse que se recibe cuando se envía un mensaje

de interoperabilidad.</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:enumeration value="EnvioMensajeSolicitud" />

<xs:enumeration value="EnvioMensajeRespuesta" />

<xs:enumeration value="ActulizacionDirectorio" />

<xs:enumeration value="EnvioDirectorio" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="TipoConfencialidad">

<xs:annotation>

<xs:documentation>Tipo de confidencialidad de un oficio</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:enumeration value="Publica" />

<xs:enumeration value="Confidencial" />

<xs:enumeration value="ParcialmenteConfidencial" />

<xs:enumeration value="Reservada" />

<xs:enumeration value="ParcialmenteReservada" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="TipoOficioElectronico">

<xs:annotation>

<xs:documentation>Enumerador para los tipos de mensajes enviados Solicitud Respuesta</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:enumeration value="Solicitud" />

<xs:enumeration value="Respuesta" />

Page 74: - El portal único del ... ·

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="TipoTransformacionOficioElectronico">

<xs:annotation>

<xs:documentation>Enumerador para los tipos de transformaciones aplicables a un Oficio Electrónico, para generar su

representación impresa</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:enumeration value="XSLT" />

<xs:enumeration value="XSLFO" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="TipoMiembro">

<xs:annotation>

<xs:documentation>Tipo de Origen de los Mensajes si son por el Enrutador (Broker) o una

Instancia</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:enumeration value="Enrutador" />

<xs:enumeration value="Instancia" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="TipoPrioridad">

<xs:restriction base="xs:string">

<xs:enumeration value="Ordinario" />

<xs:enumeration value="Urgente" />

<xs:enumeration value="Inmediato" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="UUID">

<xs:annotation>

<xs:documentation>

Tipo de identificador único basado en http://www.ietf.org/rfc/rfc4122.txt

Page 75: - El portal único del ... ·

</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />

</xs:restriction>

</xs:simpleType>

</xs:schema>