Parser de Normas do LexML João Lima
Novidades da atual versão Formatos de Entrada TXT e RTF Alteração de Norma Conversão para XHTML Formato intermediário Parâmetros (opcional) Metadados Identificação Contexto (URN) Tabelas simples
Parser - Aplicações Filtros Traduz uma entrada em uma saída sem considerar uma gramática Validadores Verifica se uma entrada obedece a uma gramática Processadores Valida e Processa (sem re-escrita) Ações: cálculos, atualizar banco de dados, etc. Tradutores Valida e Traduz a entrada em outro formato Parse tree
Etapas (ANTLR) Lexer Parser caracteres tokens Tabela de Símbolos P(Tree) AST Saída (XML)
Normaliza.gLexer Parser GeraXML.gLingüístico.g LexML.g Arq.txt Arq_ Normal.txt Arq_ LexML.xml Arq_ LexML Lang.xml NormalizaAlt.g Arq_ NormalAlt.txt Lexer Parser GeraXHTML.g RTF.g Arq.rtf Arq_ rtf.xml. html XHTML2TXT.g Arq.rtf.txt
Arq.rtf.log.txt (Normal)
Arquivo de Entrada (RTF)
Arquivo XHTML (reduzido)
Arquivo TXT (b, i, u, sub, super)
Arquivo Normal
Arquivo NormalAlt
Arquivo LexML
Arq.rtf.log.txt (com erro)
Linha 8:5 - erro
Limitações (atuais) Tabelas Colspan / Rowspan Tabelas dentro de tabela
A ser implementado Esquema Flexível Anexos Retificação Passo de validação com o XML Schema Filtro para conversão de HTML/XHTML para o formato “XHTML reduzido” do LexML RTF, TXT, HTML e XHTML Comparação entre arquivos LexML de diferentes fontes Qualidade da informação Parser de Remissões Internas Externas Parser de Eventos Alteração Consolidador de Alteraçõer
Como Instalar / Executar Descompactar arquivo LexMLParser.zip Baixar antlrWorks Alterar nos arquivos exp.bat e expe.bat as variáveis CP e JAVA_HOME exp.bat arq.xxx Compila e Executa expe.bat arq.xxx Executa
Exp.bat SET JAVA_HOME=C:\Arquiv~1\Java\jdk1.5.0_05 SET CP=antlrworks jar;. %JAVA_HOME%/bin/java -ms64m -mx1G -cp %CP% org.antlr.Tool RTF.g GeraXHTML.g XHTML2TXT.g Normaliza.g NormalizaAlt.g LexML.g GeraXML.g Linguistico.g pause %JAVA_HOME%/bin/javac -classpath %CP% RTFParser.java RTFLexer.java GeraXHTML.java XHTML2TXTLexer.java NormalizaLexer.java NormalizaAltLexer.java LexMLParser.java LexMLLexer.java GeraXML.java LinguisticoLexer.java PipeLexML.java UtilLexML.java Pause SET ARQ=%1 SHIFT %JAVA_HOME%/bin/java -ms64m -mx1G -Dfile.encoding=ISO cp %CP% PipeLexML %ARQ% %1 %2 %3 %4 %5 %6 %7 %8 %9
Linha de Comando Parâmetros PipeLexML Arq.EXT [ jurisdicao autoridade tipo numero dataRepresentativa DataVigencia DataPublicacao FormaConteudo Lingua ] EXT = “RTF” ou “TXT” leis\2000\lei09953.rtf br federal lei dataVig texto pt-BR
Estatísticas > 80% de conversão Leis Erros ~ 15% Problemas de codificação Falta de aspas ou espaço em branco Uso de caracteres errados para delimitar dispositivos ~ 5% Problemas de técnica legislativa > flexível Tabela ou texto no corpo da norma Alteração de anexo no corpo da norma Artigos com “Pena –” ou “Pena:”, às vezes com título do artigo.