Next: Nroff Mode, Previous: TeX Mode, Up: Text
The major modes for SGML and HTML provide indentation support and commands for operating on tags.
HTML consists of two modes—one, a basic mode called
html-mode
is a slightly customized variant of SGML mode. The
other, which is used by default for HTML files, is called
mhtml-mode
, and attempts to properly handle Javascript enclosed
in a <script>
element and CSS embedded in a <style>
element.
sgml-name-char
).
sgml-tag
).
This command asks you for a tag name and for the attribute values,
then inserts both the opening tag and the closing tag, leaving point
between them.
With a prefix argument n, the command puts the tag around the
n words already present in the buffer after point. Whenever a
region is active, it puts the tag around the region (when Transient
Mark mode is off, it does this when a numeric argument of −1 is
supplied.)
sgml-attributes
).
sgml-skip-tag-forward
).
A numeric argument acts as a repeat count.
sgml-skip-tag-backward
). A numeric argument acts as a repeat
count.
sgml-delete-tag
). If the tag at or after point is an opening
tag, delete the closing tag too; if it is a closing tag, delete the
opening tag too.
sgml-tag-help
). If the argument tag is empty, describe
the tag at point.
sgml-close-tag
). If called within a tag or a comment,
close it instead of inserting a close tag.
sgml-name-8bit-mode
).
sgml-validate
). (In HTML mode this key
sequence runs a different command.)
sgml-tags-invisible
).
The major mode for editing XML documents is called nXML mode. This
is a powerful major mode that can recognize many existing XML schemas
and use them to provide completion of XML elements via
M-<TAB>, as well as on-the-fly XML
validation with error highlighting. To enable nXML mode in an
existing buffer, type M-x nxml-mode, or, equivalently, M-x
xml-mode. Emacs uses nXML mode for files which have the extension
.xml. For XHTML files, which have the extension .xhtml,
Emacs uses HTML mode by default; you can make it use nXML mode by
customizing the variable auto-mode-alist
(see Choosing Modes).
nXML mode is described in an Info manual, which is distributed with
Emacs.
You may choose to use the less powerful SGML mode for editing XML,
since XML is a strict subset of SGML. To enable SGML mode in an
existing buffer, type M-x sgml-mode. On enabling SGML mode,
Emacs examines the buffer to determine whether it is XML; if so, it
sets the variable sgml-xml-mode
to a non-nil
value.
This causes SGML mode's tag insertion commands, described above, to
always insert explicit closing tags as well.