Copyright © 2002, 2003 Keith Isdale
É concedida permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Fundação do Software Livre; com nenhuma Seção Não Modificável, com nenhum Texto de Capa, e com nenhum Texto de Contra-Capa. Uma cópia da licença está incluída na seção intitulada "Licença de Documentação Livre GNU".
O 'xsldbg' é uma ferramenta que procura ajudar a compreender as folhas de estilo. O que o torna diferente em relação aos outros depuradores de folhas de estilo é a capacidade de procurar por itens de interesse e de rastrear a execução da folha de estilo.
Índice
Lista de Tabelas
O xsldbg é uma ferramenta baseada em texto para depurar 'stylesheets' ou folhas de estilo (na linguagem eXtensible Stylesheet Language) e possui comandos semelhantes ao depurador 'gdb' do Unix/Linux. Ele tem três modos importantes de execução das folhas de estilo.
Executar toda a folha de estilo |
Saltar para a próxima instrução de XSL |
Continuar até ao próximo ponto de parada ou reiniciar a folha de estilo |
Nos sistemas que possuam a biblioteca 'readline' disponível, você poderá usar as teclas para recuar/avançar para navegar no histórico de comandos inseridos. Em todos os sistemas, o último comando inserido poderá ser repetido pressionando a tecla <ENTER>.
Se o seu sistema operacional suportar, os nomes dos arquivos serão expandidos.
Vários dos comandos recebem mais de um argumento. Podem ser usadas aspas simples para que as expressões complexas sejam tratadas como apenas um argumento, por exemplo o 'break "* | @"' iria permitir usar um ponto de parada no modelo com o nome "* | @"
A tabela a seguir 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 completo como por exemplo "xsl:nomeModelo". |
ARQUIVO : Um nome de arquivo válido e local ao sistema do usuário. 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, que 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 <ARQUIVO> associado |
NUMERO_DE_QUADROS : Um número de quadros da linha para o qual mudar de posição |
ID_PONTO_PARADA : Um número de ponto de parada 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} : Selecionar uma das opções |
XPATH : uma seleçã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 operacionals, 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 folha de estilo que está sendo/será executada. Veja o <ARQUIVO> e o <URI> |
DADOS : Os dados em XML (o documento) que está sendo/será processado pela folha de estilo. Veja o <ARQUIVO> e o <URI> |
LOCAL_DISPOSITIVO : É um terminal válido no sistema operacional |
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 parada : 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 |
Seleção de nós : source, data, cd |
Procura :search |
Relacionados com o sistema operacional :chdir, shell, tty |
Relacionados com arquivos : output, entities, system, public |
Comandos de arquivos desativados: validate, load, save, write, free |
Adiciona um parâmetro à 'libxslt' ; é equivalente a oferecer a opção --param <QNAME>:<XPATH> através da linha de comando.
Adiciona uma expressão para ser vigiada. Veja o 'showwatch' para mostrar os valores das vigias
Nome de atalho: watch
Interrompe num modelo, num determinado local de uma folha de estilo ou arquivo em XML carregado pelo 'xsldbg' ou no nó atual. É novo no xsldbg 3.1.4: Quando está no modo de compatibilidade com o 'gdb', os pontos de parada órfãos podem ser definidos num arquivo e número de linha específicos e podem ser traduzidos para um ponto de parada ativo mais tarde.
Nome de atalho: b
O 'xsldbg' tentará adivinhar o URL completo, com base no
nome do arquivo, sem o caminho especificado. |
nome do arquivo, na mesma pasta que a folha de estilo de topo se encontra |
nome do arquivo, relativo à pasta de trabalho atual 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 arquivo 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 parada pedido com o seu URL e número de linha associado. Isto é feito automaticamente, depois do primeiro modelo ter sido visto pelo 'xsldbg'. Os pontos de parada são validados de novo, pouco depois do início de cada execução.
A validação automática dos pontos de parada é usada quando o modo do 'gdb' está ativo - o que é o comportamento padrão do 'xsldbg'
Tabela 3.4. Uso do 'break'
break -l <ARQUIVO> <NUM_LINHA> (Para definir um ponto de parada no arquivo e número de linha indicados) |
break -l <URI> <NUM_LINHA> (Para definir um ponto de parada 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ó atual. Sim, isto inclui os nós de dados em XML!) |
Imprime o resultado de uma expressão de XPath no nó atual relativo.
Muda para o local indicado por uma expressão XPath.
Muda a pasta de trabalho
Continua a execução da folha de estilo, parando em todos os pontos de parada encontrados.
Nome de atalho: c
Muda para a visualização do nó atual em dados de XML ou muda os dados de XML usados
Remove um ponto de parada de um modelo
Nome de atalho: d
Tabela 3.11. Uso do 'delete'
delete (Para remover um ponto de parada no nó atual) |
delete <ID_PONTO_PARADA> (Para remover o ponto de parada com o número de ponto de parada indicado) |
delete -l <ARQUIVO> <NUM_LINHA> (Remove o ponto de parada no arquivo e número de linha indicados) |
delete -l <URI> <NUM_LINHA> (Remove o ponto de parada no URI e número de linha indicados) |
delete <NOME_MODELO> (Para remover o ponto de parada no modelo identificado pelo nome.) |
delete * (Para remover todos os pontos de parada.) |
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' do console.
Desativa um ponto de parada
Tabela 3.15. Uso do 'disable'
disable (Para desativar o ponto de parada no nó atual) |
disable <ID_PONTO_PARADA> (Para desativar o ponto de parada com o número de ponto de parada indicado |
disable -l <ARQUIVO> <NUM_LINHA> (Desativa o ponto de parada no arquivo e número de linha indicado) |
disable -l <URI> <NUM_LINHA> (Desativa o ponto de parada no URI e número de linha indicados) |
Ativa ou desativa um ponto de parada (comuta o estado de ativo/inativo)
Nome de atalho: e
Tabela 3.18. Uso do 'enable'
enable (Para ativar/desativar o ponto de parada no nó atual) |
enable <ID_PONTO_PARADA> (Para ativar/desativar o ponto de parada com o número de ponto de parada indicado |
enable -l <ARQUIVO> <NUM_LINHA> (Ativa/desativar o ponto de parada no arquivo e número de linha indicados) |
enable -l <URI> <NUM_LINHA> (Ativa/desativa o ponto de parada no URI e número de linha indicados) |
Imprime uma lista das entidades gerais processadas que são usadas neste arquivo de dados (documento)
Nome de atalho : ent
Imprime o conteúdo da pilha a uma determinada profundidade
Nome de atalho : f
Imprime uma lista com as variáveis e parâmetros globais da folha de estilo. Imprime o valor de uma variável global
Mostra uma ajuda ou uma visão geral dos comandos
Nome de atalho: h
Carrega as opções e preferências do usuário do 'xsldbg' a partir do disco
Imprime uma lista com as variáveis e parâmetros locais da folha de estilo. Imprime o valor de uma variável local
Pula um 'xsl:call-template' ou um 'xsl:apply-templates'. Este comando tem o mesmo efeito que a inserção dos comandos "step" e "up"
Nome de atalho: n
Indica um arquivo local e com permissões de escrita onde salvar a saída do comando
Nome de atalho : o
Tabela 3.30. Uso do 'output'
output <ARQUIVO> (Um arquivo 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://". Ele é então convertido para um nome de arquivo que possa ser adequado para o sistema operacional) |
output - ( Envia para a saída padrão. Só poderá ser usado se usar a versão para a linha de comando do 'xsldbg' ) |
Imprime o valor que um ID público mapeia no catálogo atual
Nome de atalho : pub
Pára o processamento da folha de estilo o mais cedo possível.
Nome de atalho: q
Procura numa base de dados com todas as informações extraídas das folhas de estilo carregadas
Todos os arquivos de saída são gravados no valor da opção "searchresultspath", se estiver definida, ou na mesma pasta que a folha de estilo 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 arquivo em XML (searchresults.xml). Você poderá então processar este arquivo com a sua própria folha de estilo 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 para terminar este comando.
Define uma opção para a execução da folha de estilo
Você terá que usar o comando 'run' para ativar as alterações
Tabela 3.38. Uso 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 de 'shell'
Para mostrar uma lista dos pontos de parada dos modelos.
Nome de atalho: show
Se existir um modo e um ponto de parada no modelo, então este será adicionado ao fim do nome do modelo para o ponto de parada. Um exemplo do resultado será:
Ponto de parada 3 ativo para o modelo :"*" no arquivo teste1.xsl : linha 105 |
Ponto de parada 2 ativo para o modelo :"* modoTeste" no arquivo teste1.xsl : linha 109 |
Ponto de parada 1 ativo para o modelo :"* http://www.w3.org/1999/XSL/Transform:modoTeste" no arquivo teste1.xsl : linha 113 |
Um total de 3 pontos de parada presentes |
Mostra a expressão atual que está sendo vigiada
Nome de atalho: watches
Muda para a visualização do nó atual na folha de estilo ou muda a folha de estilo usada
Avança até à próxima instrução da folha de estilo.
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 correto, logo o 'xsldbg' irá parar assim que possa.
Imprime uma lista com as folhas de estilo carregadas
Nome de atalho: style
Imprime o valor que um arquivo do sistema mapeia no catálogo atual
Nome de atalho : sys
Imprime uma lista com os modelos disponíveis. Procura por um modelo
Nome de atalho: t
Faz um registro da execução da folha de estilo, apresentando o arquivo e os números de linha dos passos intermediários
Abre um terminal. Altera o nível de redirecionamento do TTY.
Tabela 3.51. Uso do 'tty'
tty <LOCAL_DISPOSITIVO> (em que o <LOCAL_DISPOSITIVO> é um terminal válido no sistema operacional. Tenta simplesmente acessar o terminal | |||||
tty <NIVEL_TTY> (Altera o nível de redirecionamento do TTY, onde o <NIVEL_TTY> é um nível válido de entrada/saída a usar)
|
Valida o arquivo de saída gerado pela folha de estilo (desativado)
Percorre o código, usando um intervalo de velocidade
Imprime um registro das chamadas de modelos (pilha de chamadas) e imprime a pasta de trabalho.
Nome de atalho: w
xsldbg
Direitos autorais do programa 2004 Keith Isdale (k_isdale tpg com au)
CREDIT_FOR_TRANSLATORS
Esta documentação é licenciada sob os termos da Licença de Documentação Livre GNU.
Este programa é licenciado sob os termos da Licença Pública Geral GNU.
Os criadores da 'libxml' e da 'libxsl'.
Johannes Sixt pela ajuda ao adicionar o suporte do 'xsldbg' ao KDbg
Veja a componentes do 'kxsldbg' do módulo 'kdewebdev' no repositório de CVS mais próximo de você.
O xsldbg faz parte do projeto KDE http://www.kde.org/.
O xsldbg pode ser encontrado no pacote kdewebdev no servidor FTP principal do projeto KDE ftp://ftp.kde.org/pub/kde/.
Para poder usar com sucesso o xsldbg, você precisa 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 na linha de comando 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