SoyKoda
Herramientas/Manuales/MANUAL_PROYECTO_LEY_CHILE_BCN.md
Manual Oficial

Manual Técnico de Integración

Manual Técnico de Integración

Acceso a las Normas desde Otros Sistemas, Web Services y Especificación del Esquema XML (XSD)
Biblioteca del Congreso Nacional de Chile (BCN)
Documento original: accesoLeyesChilenas.doc | Autor: Eridan Otto | Revisión: 0


ÍNDICE DE CONTENIDOS

  1. OBJETIVO
  2. ALCANCE
  3. CÓMO OBTENER EL ARCHIVO XML (idNorma) DE UNA NORMA
  4. ACCESO DIRECTO (HYPERLINKS)
  5. DESCRIPCIÓN DE LA NORMA
  6. DEMOSTRACIÓN Y ARMADO DE LA NORMA
  7. DEFINICIÓN DEL WEB SERVICE (API HTTP GET)
  8. DICCIONARIO DE DATOS Y ESPECIFICACIÓN TÉCNICA DEL ESQUEMA XML (XSD)

1. OBJETIVO

Este documento tiene como objetivo explicar los mecanismos de integración que provee Ley Chile (Biblioteca del Congreso Nacional de Chile - BCN), los cuales permiten a sistemas externos (públicos y privados) acceder programáticamente a la información de la normativa positiva chilena.


2. ALCANCE

Se describen los aspectos técnicos necesarios para que las instituciones accedan a la norma actualizada entregada por Ley Chile, ya sea:

  1. Obteniendo y procesando el XML oficial mediante solicitudes HTTP a su Web Service.
  2. Navegando directamente mediante URLs de acceso directo.

Se detalla la estructura lógica y jerárquica del XML entregado por el sistema, destacando las partes necesarias para reconstruir y armar el texto completo y actualizado de una norma.


3. CÓMO OBTENER EL ARCHIVO XML (idNorma) DE UNA NORMA

Paso Fundamental: Para descargar o convertir el XML de cualquier ley o norma, necesitas obtener su identificador único en la BCN (idNorma).

El parámetro idNorma no corresponde al número de la ley, sino al identificador único interno (Norma ID) que la BCN asigna a cada norma en sus bases de datos.

Pasos para encontrar el idNorma y obtener el XML:

  1. Buscar la norma: Ingresa a www.leychile.cl y busca la ley o norma por su número o nombre usando la búsqueda simple.
  2. Navegar a la norma: Abre la norma en el visor (Navegar).
  3. Obtener el Norma ID: Despliega la sección DatosIdentificadores de la ficha de la norma. El campo Norma ID que ahí aparece es el valor de idNorma (por ejemplo, 206396).
  4. Obtener / Descargar el XML: Con ese identificador puedes obtener el XML de la versión vigente (consolidada) de cualquier norma (Ley, Decreto, DFL, DL, Resolución, etc.) mediante el servicio HTTP con opt=7:
https://www.leychile.cl/Consulta/obtxml?opt=7&idNorma={ID_NORMA}

Ejemplo:

GET https://www.leychile.cl/Consulta/obtxml?opt=7&idNorma=206396

Este endpoint entrega siempre la última versión actualizada y consolidada de la norma identificada por ese idNorma, lista para guardarse como archivo .xml o pegarse directamente en el convertidor XML → Markdown.


Permite enlazar directamente a una norma en su versión actualizada dentro del módulo de navegación web de Ley Chile.

Sintaxis mediante idNorma

Enlace universal a cualquier tipo de norma (Ley, Decreto, DFL, DL, Resolución, etc.):

http://www.leychile.cl/Navegar?idNorma={ID_NORMA}

Ejemplo: http://www.leychile.cl/Navegar?idNorma=141599

Sintaxis mediante idLey

Parámetro alternativo exclusivo para Leyes (utilizando el número de la ley):

http://www.leychile.cl/Navegar?idLey={NUMERO_LEY}

Ejemplo: http://www.leychile.cl/Navegar?idLey=19628 (Ley de Protección de Datos Personales)


5. DESCRIPCIÓN DE LA NORMA

5.1 Estructura Conceptual de la Norma

Una norma legal chilena se compone de varias partes estructurales independientes. Cada parte posee su propio juego de metadatos y puede presentar múltiples versiones en el tiempo debido a las modificaciones legales que se le aplican.

Norma en Texto Actualizado
├── Encabezado (Preámbulo / Vistos / Considerandos)
├── Estructura Funcional (Cuerpo / Articulado)
│   ├── Libro
│   ├── Título
│   ├── Capítulo
│   ├── Parágrafo / Párrafo
│   ├── Enumeración / §
│   ├── Artículo
│   └── Doble Articulado (Norma completa aprobada dentro de un artículo)
├── Promulgación (Decreto promgatorio / Firmas de autoridades)
└── Anexo(s) (Tablas, formularios, escalas de sueldos)

Importante: La Estructura Funcional generalmente consta de una secuencia de artículos, pero también puede incluir agrupadores jerárquicos (Libros, Títulos, Capítulos, Parágrafos). Además, soporta el modelo de Doble Articulado, en el cual el reglamento o cuerpo normativo completo se encuentra inserto dentro del Artículo Primero de un Decreto o Ley aprobatoria.


5.2 Modelo XML de la Norma (Primer Nivel)

El esquema XML asigna una estructura de datos jerárquica directa basada en el modelo conceptual:

<Norma schemaLocation="..." normaId="18575" fechaVersion="2024-12-12" derogado="no derogado" esTratado="no tratado">
  <Identificador fechaPromulgacion="1986-11-19" fechaPublicacion="1986-12-05">
    <TiposNumeros> ... </TiposNumeros>
    <Organismos> ... </Organismos>
  </Identificador>

  <Metadatos>
    <TituloNorma> ... </TituloNorma>
    <Materias> ... </Materias>
  </Metadatos>

  <Encabezado fechaVersion="2024-12-12" derogado="no derogado">
    <Texto> ... </Texto>
  </Encabezado>

  <EstructurasFuncionales>
    <!-- Agrupadores y Artículos anidados -->
  </EstructurasFuncionales>

  <Promulgacion fechaVersion="2024-12-12" derogado="no derogado">
    <Texto> ... </Texto>
  </Promulgacion>

  <Anexos>
    <!-- Anexos adjuntos -->
  </Anexos>

  <ArchivosBinarios>
    <!-- Documentos PDF digitalizados si no hay texto procesado -->
  </ArchivosBinarios>
</Norma>

6. DEMOSTRACIÓN Y ARMADO DE LA NORMA

Esquemas y Recursos Oficiales BCN

Tratamiento de Objetos Multimedia y Adjuntos


7. DEFINICIÓN DEL WEB SERVICE (API HTTP GET)

El servidor de Ley Chile expone un endpoint HTTP GET para obtener el documento XML consolidado y actualizado de una norma.

Parámetros de la Solicitud

Ejemplos de Invocación HTTP

  1. Obtener Ley por Número de Ley:
    GET http://www.leychile.cl/Consulta/obtxml?opt=7&idLey=18575
    
  2. Obtener Norma por Identificador Único (idNorma):
    GET http://www.leychile.cl/Consulta/obtxml?opt=7&idNorma=206396
    
  3. Obtener Ley con Notas al Pie (notaPIE=1):
    GET http://www.leychile.cl/Consulta/obtxml?opt=7&idLey=18575&notaPIE=1
    

Regla de Consistencia de Versión: El Web Service siempre retorna la versión vigente y consolidada de la norma. Como las partes de una ley pueden haberse modificado en fechas distintas, el atributo fechaVersion puede variar entre los distintos nodos hijos.


8. DICCIONARIO DE DATOS Y ESPECIFICACIÓN TÉCNICA DEL ESQUEMA XML (XSD)

El espacio de nombres principal de la norma es http://www.leychile.cl/esquemas, complementado por el espacio de nombres de adjuntos binarios de la AEM http://valida.aem.gob.cl.


8.1 Elemento Raíz: <Norma> / NormaType

Definición del contenedor global de la norma jurídica chilena.

Atributos de <Norma>

AtributoTipo / RestricciónRequeridoDescripción
SchemaVersionxsd:NMTOKENSí (fijo "1.0")Permite validar la versión del esquema de la instancia XML.
normaIdxsd:integerIdentificador único de la norma en los sistemas de la BCN.
fechaVersionParametroFechaTypeOpcionalFecha de la versión consolidada (por defecto la versión vigente).
derogadoDerogadoTypeValor 'derogado' o 'no derogado'.
esTratadoEsTratadoTypeValor 'tratado' o 'no tratado'.

Elementos Hijos de <Norma>

  1. <Identificador> (IdentificadorType) — Obligatorio
  2. <Metadatos> (MetadatosNormaType) — Obligatorio
  3. <Encabezado> (EncabezadoType) — Opcional
  4. <EstructurasFuncionales>Opcional
  5. <Promulgacion> (PromulgacionType) — Opcional
  6. <Anexos> (AnexosType) — Opcional
  7. <ArchivosBinarios> (AdjuntosBinariosType) — Opcional

8.2 Módulo Identificador: <Identificador> / IdentificadorType

Agrupa la información básica para la identificación oficial de la norma.

Atributos de <Identificador>

Sub-elementos de <Identificador>


8.3 Módulo Metadatos Documentales: <Metadatos> / MetadatosNormaType

Conjunto de descriptores y metadatos de nivel de documento completo.

ElementoTipoOcurrenciaDescripción
<TituloNorma>xsd:string (max 2000)1..1Nombre o título completo de la norma.
<Materias><Materia> (ParametroStringType)0..1Descriptores de materias jurídicas normalizadas.
<NombresUsoComun><NombreUsoComun> (ParametroStringType)0..1Nombres populares o coloquiales de la ley (ej: "Ley de Compras Públicas").
<PaisesTratados><PaisTratado> (ParametroStringType)0..1Nombres de países firmantes (en caso de tratados).
<TipoTratado>TipoTratadoType0..1'bilateral' o 'multilateral'.
<FechaTratado>ParametroFechaType0..1Fecha de firma o entrada in vigor del tratado.
<FechaDerogacion>ParametroFechaType0..1Fecha exacta en que la norma fue derogada (si aplica).
<IdentificacionFuente>IdentificacionFuenteType0..1Fuente oficial de publicación (ej: Diario Oficial, El Araucano).
<NumeroFuente>ParametroStringCortoType0..1Número de edición o boletín de la fuente oficial.

8.4 Módulo Preámbulo: <Encabezado> / EncabezadoType

Contiene el texto de la parte inicial de la norma previa al articulado (Vistos, Considerandos, Promulga).


8.5 Módulo Articulado y Estructura Jerárquica: <EstructurasFuncionales> / ArticuloType

Representa el cuerpo o articulado de la norma. Se basa en una estructura recursiva que permite anidar agrupadores (Capítulos, Párrafos) y artículos.

<EstructurasFuncionales>
  <EstructuraFuncional idParte="10527494" fechaVersion="2024-12-12" derogado="no derogado" tipoParte="Artículo" transitorio="no transitorio">
    <Texto>Artículo primero.- Apruébase el siguiente reglamento...</Texto>
    <Metadatos>
      <NombreParte presente="si">primero</NombreParte>
    </Metadatos>
    <EstructurasFuncionales>
      <EstructuraFuncional tipoParte="Capítulo"> ... </EstructuraFuncional>
    </EstructurasFuncionales>
  </EstructuraFuncional>
</EstructurasFuncionales>

Atributos de <EstructuraFuncional> (ArticuloType)

Sub-elementos de ArticuloType

  1. <Texto> (CuerpoTextoType): Texto de la parte o artículo.
  2. <Metadatos> (MetadatosArticuloType):
    • <NombreParte> (AlternativaIdentificacionParteType): Número o sufijo del artículo (ej: "1°", "8 BIS", "primero"). Posee el atributo presente="si|no".
    • <TituloParte> (AlternativaIdentificacionParteType): Título del agrupador (ej: "CAPÍTULO I Disposiciones Generales"). Posee el atributo presente="si|no".
    • <Materias> (Materia): Descriptores específicos del artículo.
    • <FechaDerogacion>: Fecha de derogación específica del artículo.
  3. <EstructurasFuncionales>: Contenedor recursivo para hijos de nivel inferior.

8.6 Módulo Promulgación: <Promulgacion> / PromulgacionType

Contiene el texto de cierre, fórmulas de promulgación y firmas de autoridades.


8.7 Módulo Anexos: <Anexos> / AnexosType

Agrupa textos y tablas adicionales adjuntas a la norma principal.


8.8 Módulo Contenido de Texto e Imágenes: CuerpoTextoType

Definición del tipo de contenido de texto que soporta texto enriquecido e imágenes incrustadas.


8.9 Módulo de Archivos Adjuntos y Binarios: ArchivoBinarioType y AdjuntosBinariosType

Modelos del espacio de nombres http://valida.aem.gob.cl para transportar documentos o imágenes codificadas.

Estructura de ArchivoBinarioType


8.10 Catálogo de Tipos Simples (Enumeraciones y Restricciones)

TipoParteType (Clases de partes estructurales)

TipoNormaType (Clasificación de actos normativos)

IdentificacionFuenteType (Fuentes de publicación oficial)

Estado y Modificadores Booleanos

Volver a manualesDescargar archivo .md