Copyright © 2002, 2003 Keith Isdale
É dada permissão para copiar, distribuir e/ou modificar este documento ao abrigo da GNU Free Documentation License, Versão 1.1 ou de uma versão mais recente publicada pela Free Software Foundation; sem Secções Invariantes, sem Textos de Capa Frontal, e sem Textos de Capa Traseira. Uma cópia desta licença está incluida na secção intitulada "GNU Free Documentation License".
O xsldbg é uma ferramenta que pretende ajudar a compreender as 'stylesheets'. O que o torna diferente em relação aos outros depuradores de 'stylesheets' é a capacidade de procurar por itens de interesse e de seguir a execução da 'stylesheet'.
Índice
Lista de Tabelas
O xsldbg é uma ferramenta baseada em texto para depurar 'stylesheets' ou folhas de estilo (na linguagem eXtensible Stylesheet Language) e tem comandos semelhantes ao depurador 'gdb' do Unix/Linux. Ele tem três modos importantes de execução das 'stylesheets'.
Executar a 'stylesheet' por completo |
Saltar para a próxima instrução de XSL |
Continuar até ao próximo ponto de paragem ou reiniciar a 'stylesheet' |
Nos sistemas que tenham a biblioteca 'readline' disponível, poderá usar as teclas para recuar/avançar para navegar no histórico de comandos introduzidos. Em todos os sistemas, o último comando introduzido poderá ser repetido se carregar na tecla <ENTER>.
Se o seu sistema operativo o suportar, os nomes dos ficheiros serão expandidos.
Vários dos comandos recebem mais que um argumento. Podem ser usadas plicas para que as expressões complexas seja tratadas como apenas um argumento, isto é o 'break "* | @"' iria permitir usar um ponto de paragem no modelo com o nome "* | @"
A tabela seguinte descreve os termos usados no guia de comandos subsequente
NOME_MODELO : Um nome de modelo válido só contém os caracteres ASCII de 0x00 até 0x7F. Poderá ser um nome qualificado por completo como por exemplo "xsl:nomeModelo". |
FICHEIRO : Um nome de ficheiro válido e local ao sistema do utilizador. Poderá ter um prefixo "~" nas plataformas *nix e CYGWIN ou variáveis de ambiente no RISC OS |
URI : Um Uniform Resource Identifier, tal como está definido no RFC 2396 |
NOME_MODO O modo do modelo, o qual poderá ser um nome completo qualificado, por exemplo "xsl:nomeModo". |
QNAME : Um nome qualificado e completo, por exemplo "xsl:parteLocal" |
NUM_LINHA : Um número de linha válido no <FICHEIRO> associado |
NUMERO_DE_TRAMAS : Um número de tramas da linha para o qual mudar de posição |
ID_PONTO_PARAGEM : Um número de ponto de paragem válido |
ID_VIGIA : Um número de expressão de vigia válido, tal como é indicado no comando 'showwatch' |
VELOCIDADE: a velocidade com a qual percorrer o código, entre 0 e 9 |
(Comentário): um comentário sobre o significado ou utilização do comando |
{ opç1 | opç2 | opç3 .. etc} : Escolher um das opções |
XPATH : uma selecção de nós via XPath |
ID_PARAM : um número de parâmetro válido, tal como é indicado pelo comando 'showparam' |
LOCALIZAÇÃO : Um local para o qual mudar a pasta de trabalho. Em alguns sistemas operativos, um prefixo "~" será substituído pelo seu local de trabalho |
TEXTO : Algum texto livre (sem restrições) |
COMANDO : Um comando válido para o 'xsldbg' |
QNAME : Um nome de parâmetro/variável válido |
CÓDIGO : A 'stylesheet' que está a ser/será executada. Veja o <FICHEIRO> e o <URI> |
DADOS : Os dados em XML (o documento) que está a ser/será processado pela 'stylesheet'. Veja o <FICHEIRO> e o <URI> |
LOCAL_DISPOSITIVO : É um terminal válido no sistema operativo |
NIVEL_TTY : É um nível válido de entrada/saída a usar |
Relacionados com a ajuda :help |
Relacionados com a execução : {bye|exit| quit}, step, stepup, stepdown, next, continue, run, trace, setoption, options |
Relacionados com os parâmetros da Libxslt : addparam, delparam, showparam, output, setoption, options |
Relacionados com os modelos : templates, where, frame |
Relacionados com os pontos de paragem : break, showbreak, delete, enable |
Visualização de expressões (XPath) : cat |
Visualização de nós : ls, dir, du, cat, pwd |
Visualização de variáveis : globals, locals, cat, addwatch |
Definição de variáveis: set |
Selecção de nós : source, data, cd |
Procura :search |
Relacionados com o sistema operativo :chdir, shell, tty |
Relacionados com ficheiros : output, entities, system, public |
Comandos de ficheiros desactivados: validate, load, save, write, free |
Adiciona um parâmetros à 'libxslt' ; é equivalente a oferecer a opção --param <QNAME>:<XPATH> através da linha de comandos.
Adiciona uma expressão para ser vigiada. Veja o 'showwatch' para mostrar os valores das vigias
Nome de atalho: watch
Pára num modelo, num determinado local de uma 'stylesheet' ou ficheiro em XML carregado pelo 'xsldbg' ou no nó actual. É novo no xsldbg 3.1.4: Quando está no modo de compatibilidade com o 'gdb', os pontos de paragem órfãos podem ser definidos num ficheiro e número de linha específicos e podem ser traduzidos para um ponto de paragem activo mais tarde.
Nome de atalho: b
O 'xsldbg' irá tentar adivinhar o URL completo, com base em
o nome do ficheiro, sem o local indicado. |
o nome do ficheiro, na mesma pasta que a 'stylesheet' de topo se encontra |
o nome do ficheiro, relativo à pasta de trabalho actual do 'xsldbg' |
break -l xsldoc.xsl 26
Este comando fará a correspondência com um modelo QNAME parcial ou completo, assim como a um modo específico. Por exemplo, o "modelo" irá corresponder a qualquer QNAME com uma parte local de "modelo"
Quaisquer espaços de nomes no QNAME indicado serão expandidos, tal como está definido no ficheiro de CÓDIGO de XSL. Por exemplo, o "xsl:teste1" será expandido para "http://www.w3.org/199/XSL/Transform:teste1"
Poderá ser necessário resolver um ponto de paragem pedido com o seu URL e número de linha associado. Isto é feito automaticamente, depois de o primeiro modelo ter sido visto pelo 'xsldbg'. Os pontos de paragem são validados de novo, pouco depois do início de cada execução.
A validação automática dos pontos de paragem é usada quando o modo do 'gdb' está activo - o que é o comportamento por omissão do 'xsldbg'
Tabela 3.4. Utilização do 'break'
break -l <FICHEIRO> <NUM_LINHA> (Para definir um ponto de paragem no ficheiro e número de linha indicados) |
break -l <URI> <NUM_LINHA> (Para definir um ponto de paragem no URI e número de linha indicados) |
break <NOME_MODELO> (Para parar no modelo com o nome indicado ou que corresponda a ele.) |
break <NOME_MODELO> <NOME_MODO> (Para parar no modelo com o nome e o modo indicados.) > |
break "" <NOME_MODO> (Para parar em qualquer modelo que tenha um nome de modo igual ao indicado) |
break * (Para parar em qualquer modelo indicado.) |
break \* (Para parar no modelo "*". Os outros nomes que incluam o '*' não serão tratados de forma especial.) |
break (Para parar no nó actual. Sim, isto inclui os nós de dados em XML!) |
Imprime o resultado de uma expressão de XPath no nó actual relativo.
Muda para o local indicado por uma expressão XPath.
Muda a pasta de trabalho
Continua a execução da 'stylesheet', parando em todos os pontos de paragem encontrados.
Nome de atalho: c
Muda para a visualização do nó actual em dados de XML ou muda os dados de XML usados
Remove um ponto de paragem de um modelo
Nome de atalho: d
Tabela 3.11. Utilização do 'delete'
delete (Para remover um ponto de paragem no nó actual) |
delete <ID_PONTO_PARAGEM> (Para remover o ponto de paragem com o número de ponto de paragem indicada) |
delete -l <FICHEIRO> <NUM_LINHA> (Remove o ponto de paragem no ficheiro e número de linha indicados) |
delete -l <URI> <NUM_LINHA> (Remove o ponto de paragem no URI e número de linha indicados) |
delete <NOME_MODELO> (Para remover o ponto de paragem no modelo identificado pelo nome.) |
delete * (Para remover todos os pontos de paragem.) |
Remove um parâmetro do 'libxslt'
Remove uma expressão vigiada ou remove todas as expressões vigiadas que aparecem com o comando "showwatch".
Imprime uma lista de nós de uma forma semelhante à do comando 'dir' da consola.
Desactiva um ponto de paragem
Tabela 3.15. Utilização do 'disable'
disable (Para desactivar o ponto de paragem no nó actual) |
disable <ID_PONTO_PARAGEM> (Para desactivar o ponto de paragem com o número de ponto de paragem indicado |
disable -l <FICHEIRO> <NUM_LINHA> (Desactiva o ponto de paragem no ficheiro e número de linha indicado) |
disable -l <URI> <NUM_LINHA> (Desactiva o ponto de paragem no URI e número de linha indicados) |
Activa ou desactiva um ponto de paragem (comuta o estado de activo/inactivo)
Nome de atalho: e
Tabela 3.18. Utilização do 'enable'
enable (Para activar/desactivar o ponto de paragem no nó actual) |
enable <ID_PONTO_PARAGEM> (Para activar/desactivar o ponto de paragem com o número de ponto de paragem indicado |
enable -l <FICHEIRO> <NUM_LINHA> (Activa/desactivar o ponto de paragem no ficheiro e número de linha indicados) |
enable -l <URI> <NUM_LINHA> (Activa/desactiva o ponto de paragem no URI e número de linha indicados) |
Imprime uma lista das entidades gerais processadas que são usadas neste ficheiro de dados (documento)
Nome de atalho : ent
Imprime o conteúdo da pilha a uma dada profundidade
Nome de atalho : f
Liberta a 'stylesheet' e os dados (desactivado; veja o 'run')
Imprime uma lista com as variáveis e parâmetros globais da 'stylesheet'. Imprime o valor de uma variável global
Mostra uma ajuda ou uma introdução aos comandos
Nome de atalho: h
Carrega as opções e preferências do utilizador do 'xsldbg' a partir do disco
Imprime uma lista com as variáveis e parâmetros locais da 'stylesheet'. Imprime o valor de uma variável local
Salta por cima de um 'xsl:call-template' ou um 'xsl:apply-templates'. Este comando tem o mesmo efeito que a introdução dos comandos "step" e "up"
Nome de atalho: n
Indica um ficheiro local e com permissões de escrita para onde gravar o resultado
Nome de atalho : o
Tabela 3.30. Utilização do 'output'
output <FICHEIRO> (Um ficheiro local com permissões de escrita. Poderá ter um prefixo "~" nas plataformas *nix e CYGWIN ou variáveis de ambiente no RISC OS) |
output <URI> (O <URI> só poderá usar o protocolo "file://". Este é então convertido para um nome de ficheiro que possa ser adequado para o sistema operativo) |
output - ( Envia para o 'standard output'. Só poderá ser usado se usar a versão para a linha de comandos do 'xsldbg' ) |
Imprime o valor que um ID público mapeia no catálogo actual
Nome de atalho : pub
Pára o processamento da 'stylesheet' o mais cedo possível.
Nome de atalho: q
Grava as opções ou preferências de utilizador do 'xsldbg' no disco
Procura numa base de dados com toda a informação extraída das 'stylesheets' carregadas
Todos os ficheiros de saída são gravados no valor da opção "searchresultspath", se estiver definida, ou na mesma pasta que a 'stylesheet' indicada. O 'searchresults.xml' é normalmente transformado pelo 'search.xsl', mas também pode ser transformado com o 'searchhtml.xsl' se a opção "prefrehtml" estiver definida.
Quando o comando 'search' é invocado, é gerado um ficheiro em XML (searchresults.xml). Poderá então processar este ficheiro com a sua própria 'stylesheet' para apresentar os dados de outra forma. Se a opção "preferhtml" não estiver definida, então será apresentado o 'searchresult.txt'.
Dependendo da quantidade de dados obtida, poderá levar algum tempo a terminar este comando.
Define uma opção para a execução da 'stylesheet'
Terá de usar o comando 'run' para activar as alterações
Tabela 3.38. Utilização do 'setoption'
setoption <NOME_OPÇÃO> <VALOR_INTEIRO> | ||||||||||||||||||||||||
Onde o <NOME_OPÇÃO> tanto poderá ser | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Onde o valor é verdadeiro, se NÃO for igual a zero | ||||||||||||||||||||||||
Onde o valor é falso, se FOR igual a zero | ||||||||||||||||||||||||
stdout Imprime todas as mensagens de erro no 'stdout'. Normalmente, as mensagens de erro vão para o 'stderr'. | ||||||||||||||||||||||||
setoption <NOME_OPÇÃO> "<VALOR_TEXTO>" (Não deverá conter aspas no <VALOR_TEXTO>) | ||||||||||||||||||||||||
setoption <NOME_OPÇÃO> <VALOR_TEXTO> (Não deverá conter quaisquer espaços, nem aspas, no <VALOR_TEXTO>) | ||||||||||||||||||||||||
Onde o <NOME_OPÇÃO> tanto poderá ser | ||||||||||||||||||||||||
|
Executar um comando da consola
Para mostrar uma lista dos pontos de paragem dos modelos.
Nome de atalho: show
Se existir um modo e um ponto de paragem no modelo, então este será adicionado ao fim do nome do modelo para o ponto de paragem. Um exemplo do resultado será:
Ponto de paragem 3 activo para o modelo :"*" no ficheiro teste1.xsl : linha 105 |
Ponto de paragem 2 activo para o modelo :"* modoTeste" no ficheiro teste1.xsl : linha 109 |
Ponto de paragem 1 activo para o modelo :"* http://www.w3.org/1999/XSL/Transform:modoTeste" no ficheiro teste1.xsl : linha 113 |
Um total de 3 pontos de paragem presentes |
Imprime os parâmetros da 'libxslt' presentes
Mostra a expressão actual que está a ser vigiada
Nome de atalho: watches
Muda para a visualização do nó actual na 'stylesheet' ou muda a 'stylesheet' usada
Avança até à próxima instrução da 'stylesheet'.
Nome de atalho: s
Avança, descendo para um novo nível da "pilha de chamadas".
Nome de atalho: down
Volta para um nível superior na "pilha de chamadas".
Nome de atalho: up
Este não é um comando correcto, pelo que o 'xsldbg' irá parar assim que possa.
Imprime uma lista com as 'stylesheets' carregadas
Nome de atalho: style
Imprime o valor que um ficheiro do sistema mapeia no catálogo actual
Nome de atalho : sys
Imprime uma lista com os modelos disponíveis. Procura por um modelo
Nome de atalho: t
Faz um registo da execução da 'stylesheet', apresentando o ficheiro e os números de linha dos passos intermédios
Abre um terminal. Altera o nível de redireccionamento do TTY.
Tabela 3.51. Utilização do 'tty'
tty <LOCAL_DISPOSITIVO> (em que o <LOCAL_DISPOSITIVO> é um terminal válido no sistema operativo. Tenta simplesmente aceder ao terminal | |||||
tty <NIVEL_TTY> (Altera o nível de redireccionamento do TTY, onde o <NIVEL_TTY> é um nível válido de entrada/saída a usar)
|
Valida o ficheiro de saída gerado pela 'stylesheet' (desactivado)
Percorre o código, usando um intervalo de velocidades
Imprime um registo das chamadas de modelos (pilha de chamadas) e imprime a pasta de trabalho.
Nome de atalho: w
xsldbg
Programa com 'copyright' 2004 de Keith Isdale (k_isdale tpg com au)
Tradução de José Nuno Pires (jncp AT netcabo.pt)
A documentação está licenciada ao abrigo da GNU Free Documentation License.
Este programa está licenciado ao abrigo da GNU General Public License.
Os criadores da 'libxml' e da 'libxsl'.
Johannes Sixt pela ajuda ao adicionar o suporte do 'xsldbg' ao KDbg
Veja a componente do 'kxsldbg' do módulo 'kdewebdev' no seu repositório de SVN do KDE.
O xsldbg faz parte do projecto do KDE http://www.kde.org/.
O xsldbg pode ser encontrado no pacote kdewebdev em ftp://ftp.kde.org/pub/kde/, o servidor principal do projecto do KDE.
Para poder usar com sucesso o xsldbg, necessita da 'libxslt', 'libexslt' e 'libxml' do KDE instaladas, o que acontece numa instalação típica do KDE.
O xsldbg é normalmente compilado como parte do componente 'kxsldbg', no módulo 'kdewebdev'
O xsldbg é configurado através dos argumentos passados à linha de comandos e do seu comando setoption
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team