[Cascavel-pm] Arquivo XML
Luis Motta Campos
luismottacampos em yahoo.co.uk
Quarta Junho 20 01:27:04 PDT 2007
On Jun 20, 2007, at 2:49 AM, André Moura wrote:
> Na verdade a dificuldade que estou tendo é a seguinte, preciso alterar
> a configuração de um arquivo.xml que tem formatos diferentes
> dependendo da versão do software que utiliza esse arquivo, então ele
> deve detectar a versão do aplicativo pelo arquivo.xml, depois
> verificar se já tem a configuração feita, se tiver ele pode alterar
> excluir ou adicionar mais uma, porém a sintaxe para cada versão é
> diferente, e por este motivo que não estou usando nenhum módulo para
> XML pois não consegui algum que me auxiliasse nessa tarefa, por isso
> estou usando expressão regular. Com os módulos que me foi informado,
> estou verificando se é possível isto.....
>
> Não sei se entenderam o que eu disse.....
O que eu entendi:
1. Você está usando XML para configurar software.
(mau sapão!) (use Config::General da próxima vez ;-)
2. Você tem diferentes formatos do XML para diferentes versões do
software.
3. Você determina a versão do software pelo arquivo de configuração
(como? a informação existe no arquivo, ou você tem de usar
"heurísticas"?)
4. Você determina "se [o arquivo] já tem a configuração feita"
(como? você tem vaga idéia do que deve haver no XML?)
5. Você precisa de um módulo que te ajude a implementar um
CRUDE pattern (CReate Update DElete) para modificar as
configurações.
O que eu recomendo:
A. ESTUDE XML. MESMO.
Entender o que você tem na mão é a parte mais complicada do que
você está fazendo.
Muita gente acha que XML é um formato simples, fácil de usar e
informal. Ledo engano.
XML é complexo, pesado, chato, extremamente formal e
detalhista. Mas flexível o
bastante para permitir que todo mundo use sem saber o que está
fazendo e achar
que está funcionando.
B. Tente usar o XML::Compile (do Mark Overmeer)
Este módulo deve fazer o que você quer com precisão. Não é um
módulo muito fácil de
usar, mas vai permitir que você entre com os dados e re-escreva
o XML, e ainda vai
permitir (com os Xml Schema Definition (XSD)) que você
"converta" uma configuração
de/para outra versão do software sem grandes chateações.
Eu estou disponível para ajudar com o que você precisar. Basta
continuar postando na lista.
Eu me encontro com o Mark Overmeer com regularidade, e posso
colocar você em contato com ele se você precisar de explicações sobre
o Módulo que não estejam documentadas ou que a gente não consiga
entender juntos.
Putamplexos, boa sorte e bom divertimento!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão Cascavel-pm