[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