Coder Social home page Coder Social logo

lexml-dou's Introduction

lexml-dou

Sobsídios para a Imprensa Nacional (responsável pelo Diário Oficial da União - DOU) e o LexML (padrões ePING LexML) estabelecerem consensos, norteados pelas diretivas e demandas fixadas na iniciativa "Atos.Gov" da Casa Civil.

Repositório aberto para consulta pública, mediada pela Open Knowledge Brasil.

Apresentação dos problemas

As pessoas não conseguem encontrar normas do Governo federal na internet. A frase anterior, por mais impactante que possa ser, expressa uma realidade atual (...) encontrar atos administrativos na internet, situação absurda e inaceitável. (...) em torno de 400 normas por ano, ao passo que são produzidas aproximadamente 1.500 normas de hierarquia inferior por dia, tais como portarias, instruções normativas e resoluções, assinadas por diversas autoridades nos 27 ministérios e em suas 159 autarquias e fundações. A disponibilização dessas milhares de normas diárias na internet é gerenciada por cada órgão ou entidade, individualmente, sem padronização nem tampouco garantia de conteúdos ou atualização de vigência. Há, porém, um órgão federal que desde 1808 garante, por meio da publicidade oficial gerada pelo Diário Oficial da União, que as normas produzam seus efeitos jurídicos, sendo o guardião de todo o acervo normativo federal: a Imprensa Nacional.
Casa Civil, iniciativa Atos.gov

Além deste problema principal, diversos problemas secundários podem ser enumerados:

  1. Documentos individualizados: problema solucionado parcialmente no HTML.
    A individualização permite que o HTML receba um selo de autenticação digital auditável (checksum), mas em caso de documento com imagens ou anexos, requer um só documento EPUB encapsulando todos os arquivos.

  2. Documentos identificados de forma única: identificadores de edição e de matéria, com respectivos códigos presentes na página de apresentação da matéria.

  3. Endereço principal do documento oficial: a "URL canônica", com base no domínio principal (IN.gov.br) precisa ser expresso de forma "o mais simples possível" (endereço curto em conformidade com recomendação das cool URIs), enfatizando apenas o identificador de matéria e o identificador de edição.
    Além disso a URL precisa ser persistente, ou seja, uma PURL com durabilidade de anos ou décadas, garantida por lei ou por contrato de fornecidamento.

  4. Conteúdo dos documentos em HTML5 estruturado com  elementos essenciais devidamente destacados: existem interseções entre as considerações do DOU relativas a "elementos essenciais" (ver portaria 268 da IN) e as considerações do LexML para a formação da URN LEX a partir de metadados explícitos do conteúdo — presentes no conteúdo auditado pelo público.

  5. Marcação dos elementos da URN LEX: o portal LexML hoje já se encarrega da catalogação e da resolução da URN LEX (quem acessa a URN pelo portal obtém automaticamente a URL da Imprensa Nacional), todavia, para que seja possível e o processo totalmente automatizado, os elementos essenciais (bastando aqueles que suprem a URN LEX) do conteúdo HTML precisam ser devidamente marcados.

  6. ...

O modelo de dados acima (diagrama UML de classes) assume uma visão simplificada dos dados para expressar o DOU como composição, evidenciando os componentes responsáveis pelo PDF, pelo HTML e pelos seus respectivos identificadores.

Princípios e propostas principais

Não existe uma solução simples e direta, a implantação precisa ser gradual, e o custo ou mesmo viabilidade de implantação da solução envolve um contexto amplo que será aqui denominado de "informatização do setor". Quanto maior o nível de maturidade na informatização, maiores as chances de sucesso na implantação, e maior a viabilidade de uma solução mais ampla e complexa. Foram eleitos 5 níveis de maturidade, e a cada nível uma DTD (Document Type Definition) mais exigente que a DTD do nível anterior:

  • Nível zero: no início, a produção HTML em si já é um grande salto para todo o setor, assim como para o público. Não há necessidade de se cumprir padrões adicionais, o formato HTML em "estilo livre" é suficiente. A DTD resultante é apelidada de HTML-free.

  • Nível 1: o setor cria condições de gerar documentos HTML de forma mais controlada, de modo que tags HTML5 (HTML versão 5.2) e atributos class podem ser empregados de maneira mais padronizada. Os conteúdos marcados são ainda sequenciais simples, sem uma hierarquia explícita. A DTD resultante é apelidada de HTML5-lex1.

  • Nível 2: mesmo que o Nível 2, porém adotando hierarquização (ex. tag section) e itemização (ex. listas ol) mais rigorosas. Os conteúdos marcados podem apresentar uma hierarquia explícita. A DTD resultante é apelidada de HTML5-lex2.

  • Nível 3: incorpora padronização de controle semântico nos metadados auditáveis, principalmente aqueles necessários para a garantia de interoperabilidade LexML (componentes da URN LEX), e rotulação de fragmentos (ex. rótulos "capítulo", "artigo", etc. ao longo do texto). As opções RDFa e Microdata são válidas, sendo preferível (default) a marcação Microdata. A DTD resultante é apelidada de HTML5-lex3 (opcional HTML5-lex3rdfa).
    Notas: ficariam também estabelecidas neste nível as diretivas de encapsulamento EPUB (ou similar) para conteúdos multimidia (ex. matérias com figuras ou mapas); e as diretivas para certificação digital pública (checksum) da matéria.

  • Nível 4: avança na marcação semântica de grão-fino (por ex. o nome "Senador João Silva" é subdividido nas partes "João Silva" e titulo honorífico "Senador"), e estabelece controle sobre marcações semânticas adicionais (ex. nomes de lugares, datas, códigos de processos, etc.) e hyperlinks (ligações intradocumento e com outros documentos nas citações formais). A DTD resultante é apelidada de HTML5-lex4 (opcional HTML5-lex4rdfa).

Acima do nível 4 temos a opção do XML LexML substituindo o HTML, caso a DTD HTML5-lex4 não possa ser mapeada (via XSLT) integralmente. As DTDs XML-LexML seriam apelidadas de XML-lexml-vN com versionamento vN em conformidade com as normas LexML vigentes.
Nota: como as normas técnicas vinculadas às DTDs estão também em constante processo de evolução, é previsto, adicionalmente, para fins de preservação digital, que além do código de nível (lex1, lex2, etc.) haja o versionamento na rotulação das DTDs. Por exemplo a DTD "HTML5 nível 3 versão 2.1" seria designada HTML5-lex3v2.1.

Soluções já consolidadas

... em construção ...

Organizando soluções através de exemplos

... Importante que os exemplos de referência (casos de uso) sejam listados e todas as propostas de solução façam uso dos mesmos para poderem ser comparadas, e para faciliar a sua análise...

  • Caso01: um exemplo de portaria simples (poucos parágrafos e nenhuma estrutura).
    Judisdição: federal; Autoridade: Ministério das Relações Exteriores / Gabinete do Ministro; TipoDocumento: portaria.

  • Caso02: um exemplo de lei simples (poucos parágrafos e só articulação)
    Judisdição: federal; Autoridade: Atos do Congresso Nacional; TipoDocumento: Decreto Legislativo.

Propostas de solução, em discussão neste git

...

Nível 0: basta estar em HTML minimamente estruturado, uma matéria por página-web.

Nível 1: requer estruturação controlada, uso rigoroso das marcações semânticas do HTML5 e adaptação do atributo class (CSS) do DOU de dezembro de 2017 para fins de controle semântico adicional, no mesmo espirito que Microformat.

Nível 2 e Nível 3: uso rigoroso das marcações semânticas do HTML5-onlyContent, e adaptação do DOU de dezembro de 2017 para ilustrar a marcação adicional, com RDF expresso em Microdata, e metadados residuais class-microformat.

lexml-dou's People

Contributors

ppkrauss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lexml-dou's Issues

Introduzir mais um nível para a separação dos modos de processamento hierarquizado

A grande diferença entre marcar títulos com sua ordenação hierárquica (h1,h2,etc.) e marcar todo o bloco de seções que apresenta estes títulos, é a hierarquia, tipicamente o uso da tag section para estabelecer a transição do sequencial para o hierarquizado.

  • seções com section conforme seções LexML
  • sub-articulação (alíneas, etc.) conforme listas
  • rodapés, aside's, anexos, figuras, tabelas, etc. destacados.

Sugere-se explicitar essa diferença como nível de maturidade: dessa forma o nível 2 se tornaria apenas uma versão hierarquizada do nível 1, e a marcação semântica seria introduzida como posterior à hierarquia, como nível 3. A justificativa natural bem do uso do itemscope da marcação Microdata: ela requer mínimo de encapsulamento, e via de regra esse encapsulamento vem com a hierarquização da estrutura.

Estabelecer critério de máxima granularidade na marcação semântica

Por exemplo um nome pode ser marcado simplesmente com name ou ser desmembrado em honorificPrefix, givenName, familyName... E isso tem um custo: de se reconhecer as partes com precisão. O reconhecimento de honorificPrefix, por exemplo, é fácil se comparado com os demais, ainda assim é necessária a intervenção de um software e homologação da marcação automática realizada.

Supondo que o nível de maturidade 2 seja a marcação semântica.

Sugere-se estabelecer o nível de maturidade 3, cuja principal diferença para com o nível 2 seria essa capacidade de processar a granularidade.

As marcações do nível 2 seriam ainda sujeitas a imprecisões de granularidade mas ao mesmo tempo garantidas pela presença dos elementos semânticos.

Mapeamentos semânticos, registrar

O LexML desde o princípio, através dos vocabulários, vem fazendo uso direto ou indireto de RDF. Ao adotarmos Schema.org, por ser parte do "ecossistema RDF", não haveria descolamento das convenções já adotadas, mas há que se demonstrar isso através do mapeamento.

Exemplos do XML LexML e URN LEX,

  • Epígrafe foi estabelecida como dc:title do documento normativo.
  • Ementa foi estabelecida como dc:description do documento normativo.
  • ...

Onde dc: é o DC-terms, http://purl.org/dc/elements/1.1/
O mesmo foi utilizado como fonte de equivalência nos derivados de CreativeWork,

  • dc:title é sc:name, o que se confirma pelo alinhamento ontológico feito na Wikidata, title P1476 e outras fontes... o name é uma generalização de title que tem semântica equivalente quando submetido ao mesmo escopo (no caso CreativeWork).

  • dc:description é sinônimo de sc:description pela própria definição, que explicitou <link property="owl:equivalentProperty" href="http://purl.org/dc/terms/description"/> na definição schema_org_rdfa.html (ver código-fonte).

validar HTML5 do teste

Páginas do https://okfn-brasil.github.io/lexml-dou (demo) precisam passar no validador do W3C https://validator.w3.org/nu

Justificativa: para garantir consistência da proposta, mesmo sendo HTML5-onlyContent um subconjunto HTML5, a validação garante esse subconjunto, assim como compatibilidade na análise da página onde se encontra inserido.

Uma validação HTML5-onlyContent específica pode ser conseguida por pipe, ou seja, uma segunda validação apenas verificando as tags permitidas o a DTD específica desejada.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.