Article View: fr.comp.text.xml
Article #3Re: Repr�sentation graphique XML ?
From: drkm
Date: Wed, 16 Mar 2005 16:30
Date: Wed, 16 Mar 2005 16:30
69 lines
4013 bytes
4013 bytes
[ X-Post f.c.t.xml f.c.a.emacs, Fu2 not fixed ]
nicolas // <akuma@swing.be> writes:
> Je fais partie des "autres", et j'utilise vim. � ce propos, les
> plug-ins xml de vim manquent � mes yeux d'une fonctionnalit�
> importante pour qui travaille comme moi sur du texte annot�
> (linguistique de corpus): celle de pouvoir cacher les balises. Je ne
> parle pas de repli, mais d'effacement temporaire des tags. Je ne
> sais pas si emacs le propose. Si c'est le cas, il se peut r�ellement
> que je bascule dans l'autre monde (celui d'emacs).
Ceci pourrait t'int�resser :
(defvar nico:hided-tags nil
"...")
(make-variable-buffer-local 'nico:hided-tags)
(defun nico:toggle-hiding-tags ()
(interactive)
(if nico:hided-tags
(let (end (beg (point-min)))
(unless (get-text-property beg 'nico:hided-tag)
(setq beg (next-single-property-change beg 'nico:hided-tag)))
(while (setq end (next-single-property-change beg 'nico:hided-tag))
(message "DEBUG: Make visible from %S to %S" beg end)
(put-text-property beg end 'invisible nil)
(put-text-property beg end 'nico:hided-tag nil)
(setq beg end))
(setq nico:hided-tags nil))
(save-excursion
(goto-char (point-min))
(let (type (p (point)))
(while (setq type (xmltok-forward))
(when (memq type '(start-tag end-tag empty-element))
(message "DEBUG: Hiding from %S to %S" p (point))
(put-text-property p (point) 'invisible t)
(put-text-property p (point) 'nico:hided-tag t))
(setq p (point)))
(setq nico:hided-tags t)))))
(eval-after-load 'nxml-mode
'(define-key nxml-mode-map (kbd "<f12>") 'nico:toggle-hiding-tags))
Lorsque tu �dites de l'XML, au moyen de nXML, tu disposes alors
d'une commande, li�e � la touche F12, qui alterne entre l'affichage et
l'effacement des tags. Je ne sais pas si c'est exactement ce que tu
souhaites.
Par exemple, les tags ne sont plus visibles, *et* ils ne
� remplissent plus l'espace � (c'est � dire qu'� la place, il n'y a
pas d'espaces). Mais il y a moyen de faire en sorte que ce soit le
cas.
Tu peux voir sur un petit exemple les deux �tats entre lesquels tu
alternes juste en pressant successivement F12 :
<URL:http://www.fgeorges.org/tmp/nxml-mode-visible.png>
<URL:http://www.fgeorges.org/tmp/nxml-mode-hided.png>
Si tu es int�ress�, il ne te reste � plus qu'� � installer Emacs,
nXML, et utiliser le bout de code ci-dessus.
Il y a ensuite toute sorte d'extensions possibles : n'agir que sur
une r�gion, que sur certains �l�ments (p.e. par nom, par regexp de
nom, par ...).
--drkm
Technical Details
Message-ID:
<ur7ifv9it.fsf@fgeorges.org>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!solnet.ch!solnet.ch!news-zh.switch.ch!switch.ch!cern.ch!newsReferences:
<d16oc0$5f6$1@apollon.grec.isp.9tel.net> <20050316080504.61c2bc16@khartes.philo.ulg.ac.be> <uekefx2ub.fsf@fgeorges.org> <20050316151605.47a93d62@khartes> <uvf7rvgg6.fsf@fgeorges.org> <20050316152553.5a78d624@khartes>Show Full Headers
Complete Article Headers
X-Google-Thread: 114f60,a43efadd4aafd9d4 X-Google-Thread: f5a1a,fd5ca86f7d636b84,start X-Google-Attributes: gid114f60,gidf5a1a,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!solnet.ch!solnet.ch!news-zh.switch.ch!switch.ch!cern.ch!news From: drkm <usenet@fgeorges.org> Newsgroups: fr.comp.text.xml,fr.comp.applications.emacs Subject: Re: Repr�sentation graphique XML ? Date: Wed, 16 Mar 2005 17:30:02 +0100 Organization: None Lines: 69 Message-ID: <ur7ifv9it.fsf@fgeorges.org> References: <d16oc0$5f6$1@apollon.grec.isp.9tel.net> <20050316080504.61c2bc16@khartes.philo.ulg.ac.be> <uekefx2ub.fsf@fgeorges.org> <20050316151605.47a93d62@khartes> <uvf7rvgg6.fsf@fgeorges.org> <20050316152553.5a78d624@khartes> NNTP-Posting-Host: pclhc792.cern.ch Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: sunnews.cern.ch 1110990605 14781 (None) 137.138.106.207 X-Complaints-To: news@sunnews.cern.ch User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (windows-nt) Cancel-Lock: sha1:RG0M4J9KXSarOlKlb9hCbv6oocc=