Re: [zope-pt] Criar xml
Obrigado amigo funcionou certinho...Mais e para fazer um loop algo assim: titulo=['Plone','Zope','Python'] autor=['','YYY','ZZZ'] return container.modelo_xml(titulo=titulo, autor=autor) Tentei usar o repeat mais não funcionou. Em 10/01/08, Luciano Ramalho [EMAIL PROTECTED] escreveu: Opa, pensei que estava respondendo na lista de Python, mas esta é a lista de Zope. No Zope o melhor jeito de gerar XML é usar um PageTemplate. Você pode criar um PageTemplate chamado modelo_xml, algo assim: livro titulo tal:content=options/tituloTitulo da obra/titulo autor tal:content=options/autorNome do autor/autor /livro Daí você escreve no mesmo folder um script Python que faz o seguinte: titulo, autor = ('O Alienista', 'Machado de Assis') return container.modelo_xml(titulo=titulo, autor=autor) E pronto, basta invocar o script para obter o XML, sem usar nenhum print. [ ]s Luciano On Jan 10, 2008 3:19 AM, Luciano Ramalho [EMAIL PROTECTED]luciano%40ramalho.org wrote: On Jan 9, 2008 3:02 PM, Paulo [EMAIL PROTECTED] cavpega%40gmail.com wrote: Boa tarde grupo, tenho uma tuplas em script python com varios dados sobre o qual irei realizar algum calculos e retornar informações em no formato XML, Alguem sabe como posso retornar estas informações sem ter que ficar usando print. Não sei se entendi a pergunta, porque depende do significado de retornar informações. Retornar para onde ou o quê? Se quiser transformar uma tupla em um arquivo XML, pode fazer algo assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%s/titulo autor%s/autor /livro ''' tupla = ('O Alienista', 'Machado de Assis') arq.write(xml % tupla) arq.close() ### Se em vez de uma tupla tiver um dicionário, pode fazer assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%(tit)s/titulo autor%(aut)s/autor /livro ''' # neste caso a ordem dos itens não importa dic = {'aut':'Machado de Assis', 'tit':'Quincas Borba'} arq.write(xml % dic) arq.close() ### Ajudei ou atrapalhei? [ ]s Luciano
Re: [zope-pt] Criar xml
2008/1/11 Paulo [EMAIL PROTECTED]: Obrigado amigo funcionou certinho...Mais e para fazer um loop algo assim: titulo=['Plone','Zope','Python'] autor=['','YYY','ZZZ'] return container.modelo_xml(titulo=titulo, autor=autor) Tentei usar o repeat mais não funcionou. Eu diria que esta forma de estruturar os dados como duas listas paralelas é bastante bizarra e frágil. Mas se é assim que você quer, Python tem uma função muito útil chamada zip, que não tem nada a ver com compressão, mas tem a ver com ziper. Veja como ela funciona: titulo=['Plone','Zope','Python'] autor=['','YYY','ZZZ'] zip(titulo, autor) [('Plone', ''), ('Zope', 'YYY'), ('Python', 'ZZZ')] Agora fica mais fácil o template percorrer os dados. Mas fica mais fácil ainda se você transformar a lista de tuplas em uma lista de dicionários: [{'titulo':t, 'autor': a} for t, a in zip(titulo, autor)] [{'autor': '', 'titulo': 'Plone'}, {'autor': 'YYY', 'titulo': 'Zope'}, {'autor': 'ZZZ', 'titulo': 'Python'}] Aí o template pode fazer o repeat, e dentro de cada repetição acessar livro/titulo e livro/autor. [ ]s Luciano
Re: [zope-pt] Criar xml
Vou fazer um teste aqui...Obrigado pela dica Em 10/01/08, Luciano Ramalho [EMAIL PROTECTED] escreveu: Opa, pensei que estava respondendo na lista de Python, mas esta é a lista de Zope. No Zope o melhor jeito de gerar XML é usar um PageTemplate. Você pode criar um PageTemplate chamado modelo_xml, algo assim: livro titulo tal:content=options/tituloTitulo da obra/titulo autor tal:content=options/autorNome do autor/autor /livro Daí você escreve no mesmo folder um script Python que faz o seguinte: titulo, autor = ('O Alienista', 'Machado de Assis') return container.modelo_xml(titulo=titulo, autor=autor) E pronto, basta invocar o script para obter o XML, sem usar nenhum print. [ ]s Luciano On Jan 10, 2008 3:19 AM, Luciano Ramalho [EMAIL PROTECTED]luciano%40ramalho.org wrote: On Jan 9, 2008 3:02 PM, Paulo [EMAIL PROTECTED] cavpega%40gmail.com wrote: Boa tarde grupo, tenho uma tuplas em script python com varios dados sobre o qual irei realizar algum calculos e retornar informações em no formato XML, Alguem sabe como posso retornar estas informações sem ter que ficar usando print. Não sei se entendi a pergunta, porque depende do significado de retornar informações. Retornar para onde ou o quê? Se quiser transformar uma tupla em um arquivo XML, pode fazer algo assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%s/titulo autor%s/autor /livro ''' tupla = ('O Alienista', 'Machado de Assis') arq.write(xml % tupla) arq.close() ### Se em vez de uma tupla tiver um dicionário, pode fazer assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%(tit)s/titulo autor%(aut)s/autor /livro ''' # neste caso a ordem dos itens não importa dic = {'aut':'Machado de Assis', 'tit':'Quincas Borba'} arq.write(xml % dic) arq.close() ### Ajudei ou atrapalhei? [ ]s Luciano
Re: [zope-pt] Criar xml
Não é isto p arquivos deve ser criado dinamicamente para acesso via web. tipo http://localhost/sistema?id=20 Em 10/01/08, Luciano Ramalho [EMAIL PROTECTED] escreveu: On Jan 9, 2008 3:02 PM, Paulo [EMAIL PROTECTED] cavpega%40gmail.com wrote: Boa tarde grupo, tenho uma tuplas em script python com varios dados sobre o qual irei realizar algum calculos e retornar informações em no formato XML, Alguem sabe como posso retornar estas informações sem ter que ficar usando print. Não sei se entendi a pergunta, porque depende do significado de retornar informações. Retornar para onde ou o quê? Se quiser transformar uma tupla em um arquivo XML, pode fazer algo assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%s/titulo autor%s/autor /livro ''' tupla = ('O Alienista', 'Machado de Assis') arq.write(xml % tupla) arq.close() ### Se em vez de uma tupla tiver um dicionário, pode fazer assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%(tit)s/titulo autor%(aut)s/autor /livro ''' # neste caso a ordem dos itens não importa dic = {'aut':'Machado de Assis', 'tit':'Quincas Borba'} arq.write(xml % dic) arq.close() ### Ajudei ou atrapalhei? [ ]s Luciano
Re: [zope-pt] Criar xml
On Jan 9, 2008 3:02 PM, Paulo [EMAIL PROTECTED] wrote: Boa tarde grupo, tenho uma tuplas em script python com varios dados sobre o qual irei realizar algum calculos e retornar informações em no formato XML, Alguem sabe como posso retornar estas informações sem ter que ficar usando print. Não sei se entendi a pergunta, porque depende do significado de retornar informações. Retornar para onde ou o quê? Se quiser transformar uma tupla em um arquivo XML, pode fazer algo assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%s/titulo autor%s/autor /livro ''' tupla = ('O Alienista', 'Machado de Assis') arq.write(xml % tupla) arq.close() ### Se em vez de uma tupla tiver um dicionário, pode fazer assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%(tit)s/titulo autor%(aut)s/autor /livro ''' # neste caso a ordem dos itens não importa dic = {'aut':'Machado de Assis', 'tit':'Quincas Borba'} arq.write(xml % dic) arq.close() ### Ajudei ou atrapalhei? [ ]s Luciano
Re: [zope-pt] Criar xml
Opa, pensei que estava respondendo na lista de Python, mas esta é a lista de Zope. No Zope o melhor jeito de gerar XML é usar um PageTemplate. Você pode criar um PageTemplate chamado modelo_xml, algo assim: livro titulo tal:content=options/tituloTitulo da obra/titulo autor tal:content=options/autorNome do autor/autor /livro Daí você escreve no mesmo folder um script Python que faz o seguinte: titulo, autor = ('O Alienista', 'Machado de Assis') return container.modelo_xml(titulo=titulo, autor=autor) E pronto, basta invocar o script para obter o XML, sem usar nenhum print. [ ]s Luciano On Jan 10, 2008 3:19 AM, Luciano Ramalho [EMAIL PROTECTED] wrote: On Jan 9, 2008 3:02 PM, Paulo [EMAIL PROTECTED] wrote: Boa tarde grupo, tenho uma tuplas em script python com varios dados sobre o qual irei realizar algum calculos e retornar informações em no formato XML, Alguem sabe como posso retornar estas informações sem ter que ficar usando print. Não sei se entendi a pergunta, porque depende do significado de retornar informações. Retornar para onde ou o quê? Se quiser transformar uma tupla em um arquivo XML, pode fazer algo assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%s/titulo autor%s/autor /livro ''' tupla = ('O Alienista', 'Machado de Assis') arq.write(xml % tupla) arq.close() ### Se em vez de uma tupla tiver um dicionário, pode fazer assim: ### arq = file('livro.xml','w') # abrir arquivo para gravação xml = '''\ livro titulo%(tit)s/titulo autor%(aut)s/autor /livro ''' # neste caso a ordem dos itens não importa dic = {'aut':'Machado de Assis', 'tit':'Quincas Borba'} arq.write(xml % dic) arq.close() ### Ajudei ou atrapalhei? [ ]s Luciano
[zope-pt] Criar XML a partir de um ZPT + ZSQL
Boa tarde pessoal.. Estou dando as caras no AJAX e preciso de uma ajuda... Criei um ZPT (anexo abaixo) que busca os dados através de um ZSQL Method. O Content-Type está text/html e está funcionando.. mas quero transformálo em um arquivo XML válido.. então troquei o text/html por application/xml.. mas quando fui salvar deu o erro: Compilation failed xml.parsers.expat.ExpatError: unbound prefix: line 1, column 0 O que pode ser?? Arquivo ZPT: div tal:define=results here/lista_produtos_ajax_sql; categoria tal:x repeat=result results produto codigospan tal:replace=result/cod_produtocod_produto goes here/span/codigo descricaospan tal:replace=result/descricaodescricao goes here/span/descricao /produto /tal:x /categoria /div Obrigado. Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/zope-pt/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html