Processamento de Documentos
por
José Carlos L. Ramalho
- Que problema pretendemos resolver?
- Papel da Anotação de textos.
- SGML: conceitos e sintaxe.
- Que benefícios advêm da utilização
do SGML?
O que é um documento?
- uma imagem
- uma sequência de palavras
- informação estruturada
O que é que fazemos
normalmente com os documentos?
- Eu quero imprimir o meu relatório
- O meu chefe quer pô-lo disponível
no WWW
- O meu colega quer refazer alguns dos cálculos
na folha de cálculo
- Todos querem que fique seguramente arquivado
Começa a emergir
um problema
Que ferramentas e suportes
utilizamos?
- Eu utilizo o LaTeX na minha NeXT
- O meu colega usa o MS-WinWord no seu PC
- O nosso chefe ainda usa o WordPerfect no DOS
- As nossa secretárias utilizam o Word em
ambiente MacIntosh
- Algures no departamento ainda há quem
utilize o troff ou parentes do género
Temos um problema !!!
O que é que o mercado oferece?
O que é que necessitamos?
Standard Generalized Markup Language
O que é e porque importa
O que é o SGML?
"O SGML tem a sofisticação necessária
permite a troca de informação em qualquer nível
de complexidade entre software, hardware, armazenamento e sistemas
de apresentação
sem se preocupar com o nome
do fabricante escrito na etiqueta do produto. E faz isto tudo
com a autoridade de um standard internacional."
- Uma linguagem para descrição de
anotações ("markup")
- Independente de aplicações ou plataformas
- Para intercâmbio de informação
- ISO 8879
O que é a Anotação de um texto?
Um meio de tornar explícita uma interpretação
desse texto.
Exemplo: sinais de pontuação.
A tarefa de anotar num sistema de processamento:
- analisar a estrutura da informação
e os atributos que a caracterizam
- determinar quais as funções de
processamento que produzirão o formato desejado para cada
elemento
- inserir as etiquetas no texto
Exercício: anotar em grupo a página
do livro - procurar e marcar os vários elementos constituintes
do texto.
Tipos de anotação:
Procedimental -
define qual o processamento a ser realizado em determinados pontos
do documento.
Caros senhores,
.esp_vert 4
Escrevo-vos a
items:
.indent 4
1. Qual a qualificação necessária
.indent 4
2. Datas
.esp_vert 4
Obrigado
Descritiva - utiliza
etiquetas para apenas classificar as componentes do documento.
<abre>Caros senhores,</abre>
<corpo>
Escrevo-vos a
items:
<listan>
<item> Qual a qualificação necessária
<item> Datas
</lista>
</corpo>
<fecha>Obrigado</fecha>
Funções da Anotação
- representar todos os caracteres de um texto
- identificar a estrutura do texto
- reduzir o texto a uma ordem linear (árvore
ou grafo)
- representar informação contextual
- distinguir o que é texto do que é
anotação
Linguagem de Anotação
- especifica como distinguir a anotação
do texto
- especifica que anotações
são necessárias e quais são
permitidas
- especifica onde as anotações
são necessárias e onde são
permitidas
- define o significado da anotação
O SGML tem estas
características todas
excepto a última
SGML: conceitos
- entity - "stream"
de dados
- element - definição
de tipo de um objecto, componente estrutural do documento
- attribute - informação
associada a um objecto
- document type - conjunto
de objectos e entidades; parecido com uma gramática ou
um esquema de uma base de dados
Exemplos:
mail
<!DOCTYPE mail [
<!-- Elements Mins Content (Exceptions)
-->
<!ELEMENT mail - - (header, body) >
<!ELEMENT header - - (from, date, to, subject?,
cc?) >
<!ELEMENT (from|date|to|subject|cc) - o (#PCDATA)
>
<!ELEMENT body - - (#PCDATA) >
]>
<mail>
<header>
<from> José Carlos Ramalho
<date> 23.04.96
<to> epl
<subject> Mini-palestra
</header>
<body>
Hoje, pelas 17.00h vou falar qualquer coisa de como
se fazem estas coisas
</body>
</mail>
Cartas
<!DOCTYPE carta [
<!-- Elements Mins Content (Exceptions)
-->
<!ELEMENT carta - - (abertura, corpo, fecho)
>
<!ELEMENT abertura - o (#PCDATA) >
<!ELEMENT corpo - - (#PCDATA) >
<!ELEMENT fecho - - (cump?, data, ass) >
<!ELEMENT (cump, data, ass) - o (#PCDATA)>
<!ATTLIST carta tipo (pessoal, comercial, parecer) pessoal
>
]>
<carta tipo="comercial">
<abertura> Caros senhores,
<corpo> Sendo vosso vizinho, venho manifestar
</corpo>
<fecho>
<data> 23 de Abril de 1996
<ass> José Carlos Ramalho
</fecho>
</carta>
Software de/para SGML: o que existe, o que faz
- Parsers - (SP, SGMLS, ARCSGML,
)
- validação de DTDs
- verificação de um documento contra
uma DTD
- geração da árvore de sintaxe/estrutura
de um documento
- Editores - (Panorama/AuthorEditor:Softquad, Dynatext,
Interleaf,
)
- utilizam a DTD para controlar a entrada e a alteração
de texto - dirigidos pela sintaxe descrita na DTD=gramática
- Tradutores
- tradução bidirecional entre SGML
e outra anotação
- Bases de Dados Documentais
- reconhecem a estrutura SGML dos documentos que
armazenam
- permitem operações SQL orientadas
ao elemento estrutural SGML
Referências para trabalho
- página WWW do SGML: http://www.sil.org
- "Practical SGML" - E.Herwijnen, KAP.
- "The SGML Handbook" - Goldfarb, Clarendon
Press - Oxford.
- "SGML - Implementation guide" - Springer.