DTML no ZOPE

 

Embed or link this publication

Popular Pages


p. 1

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ dtml no zope autor jean rodrigo ferri ferri@detec.unijui.tche.br www.tchezope.cjb.net versão 1.0.0 junho de 2000 dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 1

[close]

p. 2

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ jean rodrigo ferri ferri@detec.unijui.tche.br www.tchezope.cjb.net versão 1.0.0 junho de 2000 trabalho acadêmico da disciplina de análise comparativa de linguagens esta apostila de dtml é fruto do trabalho acadêmico desenvolvido por jean rodrigo ferri para a disciplina de análise comparativa de linguagens ministrada pelo prof msc marcos francisco ferreira de macedo da universidade regional do noroeste do estado do rio grande do sul departamento de tecnologia o objetivo desta apostila é introduzir o uso da dtml fornecendo informações básicas detalhadas para sua utilização no zope copyright c 2000 jean rodrigo ferri É garantida a permissão para copiar e/ou distribuir livremente este documento sob a ausência de qualquer pena devendo apenas ser referenciado bibliograficamente quando e onde seu conteúdo for utilizado dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 2

[close]

p. 3

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ Índice 1 introduÇÃo 5 1.1 o que É zope 5 1.2 o que É dtml 5 1.3 dtml no zope 6 2 informaÇÕes gerais 7 2.1 sintaxe 7 2.2 atributos 7 3 a tag dtml-var 8 utilizaÇÃo 8 atributos 8 formatos especiais 9 exemplos 9 5.4.1 documento padrão contendo somente tags dtml-var 9 4 a tag dtml-if 11 4.1 utilizaÇÃo 11 4.2 a tag dtml-else 11 4.3 a tag dtml-elif 11 4.4 a tag dtml-unless 11 4.5 exemplo 12 5.4.1 varredura de um objeto e verificação do item 12 5 a tag dtml-in 13 5.1 utilizaÇÃo 13 5.2 atributos 13 5.3 variÁveis 14 5.4 exemplos 14 5.4.1 varredura de um objeto e verificação do item 14 5.4.2 montando um tutorial 14 6 aquisiÇÃo 16 6.1 entendendo o namespace 16 6.2 o que É aquisiÇÃo 16 6.3 problemas com a aquisiÇÃo 16 7 a tag dtml-with 18 7.1 utilizaÇÃo 18 7.2 atributo 18 7.3 exemplos 18 7.3.1 mapeando um namespace simples 18 7.3.2 o sobe e desce na árvore de diretórios 19 8 a tag dtml-let 20 8.1 utilizaÇÃo 20 8.2 exemplo 20 8.2.1 dtml-let dentro de um laço dtml-in 20 9 a tag dtml-call 21 9.1 utilizaÇÃo 21 9.2 exemplos 21 9.2.1 chamada de um método 21 9.2.2 chamada de um método com passagem de parâmetro 21 dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 3

[close]

p. 4

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ 10 a tag dtml-raise 22 10.1 utilizaÇÃo 22 10.2 atributo 22 10.3 exemplo 22 10.3.1 reportando o erro de uma chamada 22 11 a tag dtml-try 24 11.1 utilizaÇÃo 24 11.1.1 dtml-else 24 11.2 a tag dtml-except 24 11.3 a tag dtml-finally 24 11.4 exemplo 25 11.4.1 manipulando uma exceção de divisão por zero 25 12 a tag dtml-comment 26 12.1 utilizaÇÃo 26 12.2 exemplo 26 12.2.1 comentários embutidos 26 13 a tag dtml-return 27 13.1 utilizaÇÃo 27 13.2 exemplo 27 13.2.1 retornando um objeto texto em um laço 27 14 a tag dtml-tree 28 14.1 utilizaÇÃo 28 14.2 exemplos 28 14.2.1 laço hierárquico simples 28 14.2.2 mostrando documentos em uma árvore de sub-folders 28 15 a tag dtml-sendmail 30 15.1 utilizaÇÃo 30 15.2 atributos 30 15.3 a tag dtml-mime 30 15.4 exemplo 31 15.4.1 enviando uma mensagem simples 31 16 conclusÕes 32 17 bibliografia e referÊncias 33 sobre o autor da apostila 34 sobre a instituiÇÃo 35 dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 4

[close]

p. 5

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ 1 introdução 1.1 o que é zope zope é um acrônimo para z object publishing environment ambiente z de publicação de objetos foi desenvolvido pela digital creations inc www.digicool.com implementado com a linguagem de programação python www.python.org É registrado com a licença opensource sendo possível estudar e alterar seu código fonte que está disponível para diversas plataformas como solaris linux windows etc o objetivo principal do zope é servir páginas web porém não é esta a definição de zope pelo menos não somente essa zope é um servidor web dinâmico dinâmico porque no momento em que é recebido o pedido do browser o servidor interpreta as funções em dtml ou python e gera as páginas html conforme os métodos projetados e os dados dispostos nele não existem páginas estáticas arquivos mas sim modelos de documentos document template o zope é também um servidor web-aplications sites inteligentes integrado a um banco de dados orientado a objetos chamado zodb podendo também interagir com outros bancos de dados relacionais como oracle mysql postgresql etc como opensource o zope dispõem de uma grande quantidade de produtos em desenvolvimento pela comunidade zope e mantidos em seu site oficial www.zope.org 1.2 o que é dtml dtml é um acrônimo para document template markup language linguagem de marcação para modelos de documentos utilizada no zope É uma linguagem de scripts ou seja o código não é compilado e sim interpretado oriunda da família sgml dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 5

[close]

p. 6

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ a característica principal dessas linguagens é o dinamismo ao contrário do html que trabalha com modelo de hipertexto ou seja modela-se o texto do documento diretamente sendo que para qualquer alteração é necessário reeditar o documento o que torna as linguagens baseadas em sgml dinâmicas é o fato de estas interagirem com variáveis ou bases de dados desse modo é possível montar-se um modelo de documento onde o documento original é gerado conforme os dados contidos nessas variáveis 1.3 dtml no zope o zope utiliza a dtml interagindo diretamente com seu banco de dados embutido orientado a objetos isso dá um grande dinamismo ao zope pois a dtml é utilizada para converter modelos de documentos para modelo de hipertexto que são largamente utilizados na rede mundial no zope além da dtml podem ser utilizados scripts python juntamente com a dtml o que o deixa ainda mais maleável pois podem ser implementadas rotinas que a dtml não implementaria dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 6

[close]

p. 7

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ 2 informações gerais 2.1 sintaxe as tags dtml suportam três sintaxes · · ·

[close]

p. 8

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ 3 a tag dtml-var utilização a tag dtml-var é utilizada para renderizar conteúdo através de iterações simples com variáveis e objetos ou seja insere no documento o resultado de uma expressão calculada o conteúdo de um objeto ou o valor de uma propriedade atributos existem alguns atributos para controlar como o texto será inserido e formatado em resumo esses atributos são · · · · · · · · · · · · name insere o nome da variável expr insere uma expressão que calcula algum valor fmt especifica um formato de dados que pode ser de uso geral ou formatado no estilo c null especifica uma string para ser substituída por valores nulos lower converte todas a letras maiúsculas para minúsculas upper converte todas a letras minúsculas para maiúsculas capitalize converte o primeiro caractere inserido para maiúsculo spacify converte sublinhas em valores inseridos para espaços thousands_commas em um valor insere uma vírgula a cada três dígitos à esquerda do ponto decimal html_quote converte caracteres que possuem significado especial em html para caracteres html texto reais url_quote converte caracteres que possuem significado especial em urls para caracteres html reais usando valores decimais url_quote_plus converte um caractere de espaço simples em urls para o sinal de mais dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 8

[close]

p. 9

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ · · · · · sql_quote converte aspas simples para um par de aspas isso é necessário para incluir valores corretos em strings sql newline_to_br converte combinações de caracteres de nova linha retorno de carro e nova linha e retorno de carro para tags de quebra de linha html br size quebra o valor retornado para o tamanho determinado etc fornece uma string para ser adicionada ao texto cortado para indicar quando ocorre o corte o valor default é missing fornece um valor para ser usado se a variável é perdida preferencialmente criando uma chave de erro usado sem um argumento ele fornece uma string vazia necessitam algum argumento formatos especiais existem também alguns formatos especiais definidos para a tag dtml-var que podem ser utilizados com o atributo fmt em resumo esses formatos são · · · whole-dollars mostra um valor numérico com um símbolo de dólar cifrão dollars-and-cents mostra um valor numérico com um símbolo de dólar e duas casas decimais collection-length recebe o tamanho de uma coleção de objetos exemplos 5.4.1 documento padrão contendo somente tags dtml-var

[close]

p. 10

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ a primeira tag dtml-var mostra o cabeçalho padrão a segunda tag mostra o título do documento se o documento não tiver título é mostrado o identificador do objeto a terceira tag mostra o nome do documento e a quarta tag mostra o rodapé padrão esse exemplo é o texto padrão contido em todo o documento ou método criado dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 10

[close]

p. 11

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ 4 a tag dtml-if 4.1 utilização a tag dtml-if é utilizada para realizar testes condicionais baseados em variáveis ou expressões se a variável ou expressão for verdadeira o trecho de código seguinte à dtml-if é executado essa tag deve ser fechada com uma tag /dtml-if ou /if 4.2 a tag dtml-else a tag dtml-else é utilizada em conjunto com a dtml-if para executar um trecho de código caso o teste condicional retorne falso essa tag não aceita atributos 4.3 a tag dtml-elif a tag dtml-elif é utilizada juntamente com a dtml-if essa tag é uma espécie de junção de uma dtml-else e uma dtml-if ou seja se o teste condicional da dtml-if retornar falso o código seguinte à dtml-elif será executado somente se a variável ou expressão for verdadeira podem ser utilizadas várias tags dtml-elif a cada dtml-if possibilitando assim testar condicionalmente diversas situações em uma mesma estrutura É possível também utilizar uma tag dtml-else assim se todos os testes condicionais realizados pela dtml-if e pela s dtml-elif retornarem falso é executado o trecho de código seguinte à dtml-else 4.4 a tag dtml-unless dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 11

[close]

p. 12

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ a tag dtml-unless é a negação da tag dtml-if ou seja o trecho de código seguinte será executado se o teste condicional retornar falso essa tag não aceita o dtml-else ou dtml-elif e deve ser fechada com um tag /dtml-unless 4.5 exemplo 5.4.1 varredura de um objeto e verificação do item esse documento é o principal esse é o

[close]

p. 13

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ 5 a tag dtml-in 5.1 utilização a tag dtml-in varre todos os elementos de um conjunto apontado e repete o trecho de código uma vez para cada elemento essa tag é análoga ao for das linguagens imperativas tradicionais a condição de parada da tag dtml-in é quando esse varrer todos os elementos do conjunto se o conjunto apontado não possuir elementos o trecho de código não é executado essa situação pode ser tratada com a tag dtml-else que executa o trecho de código seguinte se o conjunto não possuir elementos essa tag deve ser fechada com uma tag /dtml-in 5.2 atributos existem alguns atributos para controlar como o texto será inserido e formatado em resumo esses atributos são · · · · · · · · · · name ver a tag dtml-var atributos expr ver a tag dtml-var atributos mapping normalmente os atributos dos itens são mostrados em seqüência porém alguns itens deveriam ser tratados como objetos mapeados sort ordena a iteração através do parâmetro passado start item de início da seqüência size tamanho da seqüência skip_unauthorized salta os itens que não possuem autorização para aquela operação sem levantar exceção orphan declara o grupo de menor tamanho desejado para o final da seqüência overlap o número de linhas para sobrepor entre os grupos previous itens da seqüência anterior dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 13

[close]

p. 14

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ · next itens da próxima seqüência necessitam algum argumento 5.3 variáveis existem alguns atributos para controlar como o texto será inserido e formatado em resumo esses atributos são · · · · · sequence-item o item da vez na seqüência sequence-key a chave associada com o elemento em uma seqüência de itens sequence-index o índice dos elementos contidos na seqüência iniciando em 0 sequence-start é verdadeiro se o elemento da vez é o primeiro da seqüência sequence-end é verdadeiro se o elemento da vez é o último da seqüência 5.4 exemplos 5.4.1 varredura de um objeto e verificação do item dtml-in topicos

[close]

p. 15

universidade regional do noroeste do estado do rio grande do sul ­ unijuÍ a tag dtml-in varre o folder atual mapeando todos os structured document estes são objetos que possuem partes do texto de um tutorial ordenados pelo id a linha seguinte linka o id do objeto mapeado tendo como título a tag dtml-var que retorna o título do objeto caso não exista nenhum structured document a tag dtml-else retornará a mensagem nesse exemplo para acrescentar um novo capítulo ao manual basta criar um novo structured document e inserir o texto neste dtml no zope http www.tchezope.cjb.net jean rodrigo ferri página 15

[close]

Comments

no comments yet