>>>>> Peter Flynn :
> DTD parsing (I'm sure nxml has this, I just haven't seen it at work).
As others have said: no it doesn't.
But creating a RNG schema from a DTD using trang, is really easy.
And you can persist the association between your DOCTYPE declaration and
the RNG schema you have created.
> C-c C-e element insertion with TAB completion according to the DTD;
> the population of such inserted elements which have required element
> content, and the prompting for required attributes.
nxml did go a different route here. You start typing, and then you
press C-RET (Control+RET) to get the stuff that expansion can offer.
As an example, here's how to create a DocBook document on a nxml on a
debian system (standard setup on debian).
Open the file /tmp/silly.xml
Select Menu XML->Set Schema->For Document Type->DocBook
When prompted, tell it to write this association to schemas.xml (or not,
but at least this will give you a look at at schemas file).
Then start typing:
< C-RET b o o C-RET > C-c C-f
(`C-c C-f' is "insert an end-tag for the current tag")
Will give you a document that looks like this:
If you would like to add some attributes to the top level element, add a
space after "book" in the start element (ie. "") and place the
cursor on the ">" and press C-RET. This will give you the list of all
available attributes.
Typing the following with the cursor placed so
C-c C-x C-RET r e v SPC f RET C-RET a SPC RET
gives
(just to give an example of expansion for an attribute containing an
enumeration).
Elements are inserted similarily. Put the cursor after the ">" on the
first line and press C-j. Then type
< C-RET c h SPC RET SPC C-RET i SPC RET f i r s t _ c h a p t e r " > C-c
C-f
What you have then, is this:
The "" in "" is higlighted in red. So select the menu
XML->First Error
Then the cursor is moved in front of the red "" and the minibuffer
says:
Missing element "title"
So you type
< t SPC RET > C-c C-f C-j
and you have
The "" in "" is still marked red, and First Error
unhelpfully says
Required child elements missing
But I know that this is because a chapter needs to have some sort of
content, so I do (with the cursor befor ""
C-p C-e C-j < C-RET p a SPC RET > b l a h C-c C-f
to get:
blah
That's as far as I take this little tutorial. I hope that gave some
impression of how it works. Only a few commands: usual SPC and TAB for
completion, RET to end minibuffer prompts, and the new commands C-RET,
and C-c C-f. But the prompting feels natural and the document is quite
quick to write and tag.
> C-c C-r tag-region,
No. But
C-w < C-RET tag-prompt SPC RET C-y C-c C-f
should work.
> C-c - remove-tag,
No.
> and C-c = change-tag;
No.
> C-c C-k cut-element;
That one I really missed from psgml, so I created one myself a long time
ago. It has been posted to this list, I think...? Maybe in the
archieves?
> in fact almost all the markup-management commands,
Probably not.
> point movement commands,
If you mean navigate the tree, similar to what you do in outline mode:
up tag, down tag, forward tag etc., you have those, with the expected
bindings.
> and fold/unfold.
Those you have.
> The highlighting and indentation (I also use xxml-mode); I have no
> doubt nxml-mode can do something similar, as the highlighting is just
> Emacs fontification, and the indentation is a fairly standard
> requirement.
Indentation and highlighting you have.
> C-c C-q Rewrapping elements: psgml correctly rewraps and indents
> start-tags in element content to reveal the hierarchy (although it won't
> add newlines if you have got a start-tag following and end-tag on the
> same line *in element content*, which is a pity; and it rewraps mixed
> content to indent under the start-tag of the closest ancestor which is
> in element content (that is also influenced by xxml-mode).
Hm... I will add some text and try.
If I have
blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah
and do, `M-q' in the , I get:
blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah
acceptable?
> C-c C-a The attribute management panel (split screen)
No, that one you don't have. But I find the C-RET works quite well, and
is actually faster than navigating in the split screen with the
attributes.
> C-c C-w Location-ladder identity
I don't know what that is, so probably not.
> SGML conformance (I still have half a dozen clients using SGML).
No, this is pure XML. No SGML conformance attempted.
> As I said, I'm sure nxml-mode provides some, if not many or even all,
> of these, but I can't yet find any comprehensive documentation,
My debian nxml has an info manual in emacs, so someone has put together
a texinfo file at some point in time.
> user conversion guide,
No, sorry.
> or examples of usage.
See the first part of my response. :-)
> It seems to be aimed at the data-xml user, not the document-xml user:
Quite the opposite. I would say that it is so oriented at expanding
tags as you type, that it is far better for typing something like a
DocBook file, than a data-xml style format. For the latter, some kind
of tree oriented editor would be best.
> I actually write whole text documents in XML, and I must have a
> comprehensive set of facilities for doing so (refer to the table of
> features in my paper at Balisage in 2006). I may simply have missed
> something in nxml-mode, though...
I haven't looked at that paper and the list there, but FWIW I have felt
that nxml-mode have been quite good at creating and editing DITA and
DocBook documents.
------------------------------------
Yahoo! Groups Links
To visit your group on the web, go to:
http://groups.yahoo.com/group/emacs-nxml-mode/
Your email settings:
Individual Email | Traditional
To change settings online go to:
http://groups.yahoo.com/group/emacs-nxml-mode/join
(Yahoo! ID required)
To change settings via email:
[email protected][email protected]
To unsubscribe from this group, send an email to:
[email protected]
Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/