As versões recentes do Emacs ou XEmacs (disponível na coleção dos ports) contêm um pacote muito útil chamado PSGML (ele pode ser instalado pelo editors/psgml). Ele é automaticamente invocado quando um arquivo com a extensão .xml é carregado, ou executando M-x sgml-mode, ele é a modalidade principal para tratar dos elementos e dos atributos de um arquivo SGML.
Compreender alguns dos comandos fornecidos por esta modalidade pode tornar o trabalho com os documentos em SGML, tais como o Handbook, muito mais fácil.
Executa o sgml-insert-element
. Você será
questionado sobre o nome do elemento que deseja inserir no ponto atual. Você pode
usar a tecla TAB para completar o elemento. Os
elementos que são inválidos no ponto atual não serão permitidos.
As tags de abertura e de fechamento para o elemento serão inseridas. Se o elemento contiver outro, obrigatórios, os elementos destes também serão inseridos.
Executa o sgml-change-element-name
. Coloque o
cursor dentro de um elemento e execute este comando. Você será questionado sobre o
nome do elemento para o qual você deseja mudar. As tags de abertura e de
fechamento do elemento atual serão alterados para o novo elemento.
Executa o sgml-tag-region
. Selecione algum texto
(posicione o cursor no começo do texto, de C-espaço, agora
posicione o cursor no final do texto, de C-espaço) e
execute então este comando. Você será questionado sobre o nome do elemento
que deseja inserir. Este elemento será inserido então imediatamente antes e
depois da região marcada.
Executa o sgml-untag-element
. Coloque o cursor
dentro da tag de abertura ou de fechamento do elemento que você quer remover, e
execute este comando. As tags de abertura ou de fechamento do elemento serão
removidas.
Executa o sgml-fill-element
. Irá reformatar
recursivamente o elemento atual. A reformatação afetará o conteúdo em que os espaços em branco
são significativos, como dentro de elementos <programlisting>, assim utilize este comando com
cuidado.
Executa o sgml-edit-attributes
. Abre um segundo
buffer que contém uma lista de todos os atributos e
valores atuais para o elemento mais próximo. Use a tecla TAB para navegar entre os atributos, utilize C-k para remover um valor existente e para substituí-lo com um
novo, utilize C-c C-c para fechar este buffer e para retornar ao documento principal.
Executa o sgml-validate
. Você será questionado se
deseja salvar o documento atual (se necessário) e então executa uma validação
do SGML. A saída da validação é capturada em um novo buffer, e você poderá então navegar de um foco de
problema para outro, corrigindo os erros de marcação durante este processo.
Executa sgml-insert-end-tag
. Insere a tag de
fechamento para o elemento atual que está aberto.
Sem dúvida há outras funções úteis desta modalidade, mas estas são as que você irá utilizar com mais frequência.
Você também pode usar as seguintes entradas no .emacs para ajustar o espaçamento apropriado, a identação, e a largura de coluna para trabalhar com o projeto de documentação.
(defun local-sgml-mode-hook (setq fill-column 70 indent-tabs-mode nil next-line-add-newlines nil standard-indent 4 sgml-indent-data t) (auto-fill-mode t) (setq sgml-catalog-files '("/usr/local/share/xml/catalog"))) (add-hook 'psgml-mode-hook '(lambda () (local-psgml-mode-hook)))
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <[email protected]>.
Para perguntas sobre esta documentação, envie e-mail para <[email protected]>.