Another possible solution is to use Emacs PSGML instead of NXML mode,
with PSGML mode you have automatic insertion of the 'skeletons' you
want when inserting 'complex' elements (like variablelist). It even
shows you (as a comment) which are the elements the DTD expects after
the one you've inserted, or the structure expected by it by the DTD.

http://www.lysator.liu.se/projects/about_psgml.html

http://www.linkwerk.com/pub/xml/emacs-psgml/

PSGML is a bit old and looks unmaintained but it works.

On 6/28/07, John W. Shipman <[EMAIL PROTECTED]> wrote:
On Thu, 28 Jun 2007, Stefano Sabatini wrote:

+--
| Do someone know if it's possible with emacs NXML mode to see (for
| example in the ECB method buffer) the layout of the document edited,
| for example the hierarchy of chapters and sections?
+--

I wrote a little Python script to pull out the id attributes
of all sections.  I'd be happy to post it if you like.  It
doesn't handle chapters; it assumes the document is an article.

+--
| And what about the insertion of complex skeletons, like that of a
| variablelist? There is already some way to add them with some
| shortcuts or is needed to hook into nxml-mode-hook all the various
| docbook specific skeleton insertion functions required?
+--

My solution to this is to put together a collection of little
template files and insert them using "C-x i".  For example,
if I'm building a variablelist, I have two template files named
"varlist" containing the variablelist element, and a file "vle"
containing the skeleton of a varlistentry element.  Here's the
"varlist" file:

================================================================
      <variablelist>
<!--\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\-->
      </variablelist>
----------------------------------------------------------------

The comment line is there to remind me to fill in the body.
As I add each child element, I keep that comment line just
below the element just added, so I can quickly find the
spot where the next child element will go in.  Once the
list is complete, I'll delete the comment line.

Here's my template file "vle" for a varlistentry:

================================================================
        <varlistentry>
          <term>
            <code >
</code >
          </term>
          <listitem>
            <para>

            </para>
          </listitem>
        </varlistentry>
----------------------------------------------------------------

This assumes that the terms I'm defining are in code.  I have the
</code> closing tag unindented because it's inline markup:  I'll
add the term's text after the <code> start tag, then use C-d to
pull the </code> end tag up just after it.

Not elegant, but I've been using it for a long time now, and
it speeds up document creation a lot.

There's a more detailed discussion in my locally-written nxml
documentation:

    http://infohost.nmt.edu/tcc/help/pubs/nxml/

Scroll down to the section entitled "Toward faster work".

Best regards,
John Shipman ([EMAIL PROTECTED]), Applications Specialist, NM Tech Computer 
Center,
Speare 119, Socorro, NM 87801, (505) 835-5950, http://www.nmt.edu/~john
  ``Let's go outside and commiserate with nature.''  --Dave Farber


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Fabián Mandelbaum
IS Engineer

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to