\section{Quarta Reunião (Braga, 23 de Novembro, 09h00)}
\subsection{Pontos estabelecidos}
Durante a reunião foram falados e estabelecidos alguns pontos importantes para o desenvolvimento do projecto. De seguida, serão os mesmos apresentados e informalmente descritos.

\begin{description}
\item[Função {\tt xmlclean}:] Foi finalmente implementada a função que limpa um {\it corpus} num ficheiro XML. A mesma recebe como parâmetros o ficheiro do {\it corpus}, a opção {\tt -tag} e uma lista de etiquetas de XML válidas enumeradas dentro de chavetas. Um exemplo da invocação: {\tt xmlclean corpusname -tag tag1,tag2,tagN}. Devolve como resultado, o ficheiro {\tt oufilecorpus.cor}, este já limpo e preparado para ser varrido pela {\it script} {\tt txt2cqp.pl}. Uma nota importante a fazer sobre esta função é que, em reuniões anteriores, tinha sido decidido que os sinais $<$ e $>$ seriam substituídos por ". No entanto, nesta reunião, decidiu-se que estes sinais seriam substituídos, respectivamente, por \{ e \}, para que a sua antiga existência no {\it corpus} fosse realçada de uma forma mais acentuada no {\it corpus} limpo.
\item[Função {\tt rmcorpusFiles}:] {\it Script} que remove os ficheiros que a {\it script} {\tt txt2cqp.pl} cria quando executada sobre um {\it corpus}. A função {\tt rmcorpusFiles} recebe como parâmetro o nome do ficheiro do {\it corpus}, sem a extensão. 
\item[Módulo {\tt Getopt::long}:] Vão ter de ser adicionadas opções à {\it script} {\tt xmlclean}. Um módulo útil na gestão de opções é o {\tt Getopt::long}, que deve ser cuidadamente estudado. 
\item[SVN:] Foram colocados na directoria {\tt corporaForge} os seguintes ficheiros:
\begin{itemize}
\item {\tt xmlclean}: {\it script} que limpa as etiquetas não válidas de um XML. Esta {\it script} foi colocada na subdirectoria {\tt tools}.
\item {\tt rmcorpusFiles}: {\it script} que remove todos os ficheiros que são criados sobre o {\it corpus}, pela {\tt txt2cqp.pl}. 
\item {\tt reunioes.tex}: ficheiro {\tt tex} que recolhe todas as reuniões já realizadas. Este ficheiro foi colocado na subdirectoria {\tt docs}.
\item {\tt reuniao1.tex}: ficheiro {\tt tex} que descreve a primeira reunião realizada. Este ficheiro foi colocado na subdirectoria {\tt docs}.
\item {\tt reuniao2.tex}: ficheiro {\tt tex} que descreve a segunda reunião realizada. Este ficheiro foi colocado na subdirectoria {\tt docs}.
\item {\tt reuniao3.tex}: ficheiro {\tt tex} que descreve a terceira reunião realizada. Este ficheiro foi colocado na subdirectoria {\tt docs}.
\end{itemize}
\item[Horário para uma segunda reunião semanal:] Achou-se por bem criar um horário para uma segunda reunião semanal, para no caso de não haver disponibilidade de alguma das partes na reunião de Sexta, exista um horário de escapatória. Esse horário foi acordado que seja às Terças-feiras, a partir das 11h15, mais ou menos.
\end{description}

\subsection{Sugestões apresentadas}
Durante a reunião, foram feitas algumas sugestões, apresentadas, informalmente, de seguida: \\

Para melhorar a {\it script} {\tt xmlclean} deve ser acrescentada uma opção que permita que o utilizador da mesma possa escolher o ficheiro para onde quer que o {\tt output} da {\it script} seja enviado. Neste momento, a {\it script} está a enviar o output para um ficheiro que a própria cria de nome {\tt outfilecorpus.cor}. No entanto as seguintes opções de invocação da {\it script} deverão ser válidas: \\

{\tt xmlclean <corpusfile> -tag tag1,tag2,\ldots,tagN} - e executa, enviando o {\tt output} para o {\tt stdout} \\

ou \\

{\tt xmlclean <corpusfile> -o <corpusoutfile> -tag tag2,tag2,\ldots,tagN} - e executa, enviando o {\tt output} para o ficheiro {\tt corpusoutfile} \\

ou \\

{\tt xmlclean <corpusfile1>,<corpusfile2>,\ldots,<corpusfileN> -tag tag2,tag2,\ldots,tagN} - e executa sobre os ficheiros {\tt corpusfile1}, {\tt corpusfile2}, \ldots, {\tt corpusfileN}, enviando o {\tt output} para o {\tt stdout} \\

ou \\

{\tt xmlclean <corpusfile1>,<corpusfile2>,\ldots,<corpusfileN> -o <corpusoutfile> -tag tag2,tag2,\ldots,tagN} - e executa sobre os ficheiros {\tt corpusfile1}, {\tt corpusfile2}, \ldots, {\tt corpusfileN}, enviando o {\tt output} para o ficheiro {\tt corpusoutfile}. \\