annotate man/psgml.texi @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children ac2d302a0011
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 @c %**start of header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 @setfilename ../info/psgml.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @settitle psgml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @c @setchapternewpage odd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @syncodeindex fn cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 @syncodeindex vr cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 @synindex ky cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 @c %**end of header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 @c $Id: psgml.texi,v 1.1.1.1 1996/12/18 03:36:10 steve Exp $
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 Documentation for PSGML, a major mode for SGML.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 Copyright 1994 Lennart Staflin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 Permission is granted to make and distribute verbatim
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 copies of this manual provided the copyright notice and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 this permission notice are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 Permission is granted to process this file through TeX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 and print the results, provided the printed document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 carries a copying permission notice identical to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 one except for the removal of this paragraph (this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 paragraph not being relevant to the printed manual).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 Permission is granted to copy and distribute modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 versions of this manual under the conditions for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 verbatim copying, and provided that the entire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 resulting derived work is distributed under the terms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 of a permission notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 Permission is granted to copy and distribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 translations of this manual into another language,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 under the above conditions for modified versions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 except that this permission notice may be stated in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 translation approved by the Free Software Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 @title Editing SGML with Emacs and PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 @author Lennart Staflin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 @c The following two commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 @c start the copyright page.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 @vskip 0pt plus 1filll
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 Copyright @copyright{} 1994 Lennart Staflin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 @c Published by ...
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 Permission is granted to make and distribute verbatim
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 copies of this manual provided the copyright notice and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 this permission notice are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 Permission is granted to process this file through TeX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 and print the results, provided the printed document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 carries a copying permission notice identical to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 one except for the removal of this paragraph (this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 paragraph not being relevant to the printed manual).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 Permission is granted to copy and distribute modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 versions of this manual under the conditions for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 verbatim copying, and provided that the entire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 resulting derived work is distributed under the terms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 of a permission notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 Permission is granted to copy and distribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 translations of this manual into another language,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 under the above conditions for modified versions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 except that this permission notice may be stated in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 translation approved by the Free Software Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 @node Top, Introduction, (dir), (dir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 @top PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 PSGML is a major mode for editing SGML documents, with special
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 additions for HTML. This is the DRAFT documentation for PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 version 1.0.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 * Introduction:: Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 * Install:: How to install PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 * Invoke:: How to invoke PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 * Entity manager:: The Entity Manager
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 * Validate:: Running an external SGML parser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 * SGML declaration:: Using an SGML declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 * Managing the DTD:: Specifying what DTD to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 * Edit:: Commands for editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 * Display:: Appearance of text in the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 * Bugs:: Reporting bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 * Index::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 @c ------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 @node Introduction, Install, Top, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 @chapter Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 @cindex CONCUR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 @cindex DATATAG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 @cindex LINK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 @cindex RANK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 @cindex SGML Declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 PSGML is a major mode for editing SGML documents, and includes a number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 of features for working specifically with HTML. It works with GNU Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 19.19 and later or with Lucid Emacs 19.9 and later. PSGML contains a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 simple SGML parser and can work with any DTD. Functions provided
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 includes menus and commands for inserting tags with only the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 contextually valid tags, identification of structural errors, editing of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 attribute values in a separate window with information about types and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 defaults, and structure based editing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 SGML, a language for encoding the structure of a document, is an ISO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 standard: ISO 8879:1986 ``Information processing -- Text and office
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 systems -- Standard Generalized Markup Language (SGML)''.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 A good introduction to SGML is @cite{A Gentle Introduction to SGML}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 produced by Text Encoding Initiative (this is really chapter 2 of TEI
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 P3). This can be found on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 @file{ftp://ftp.ifi.uio.no/pub/SGML/TEI/P3SG.DOC}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 A SGML document has three major parts, in order:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 SGML Declaration (@samp{<!SGML "ISO 8879:1986" @dots{} >})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 Document Type Declaration (@samp{<!DOCTYPE @var{name} @dots{} >})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 Document Element (@samp{<@var{name}> @dots{} </@var{name}>})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 The SGML declaration contains general information about character sets,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 concrete syntax, and SGML features used. PSGML does not use the SGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 Declaration, it can be left out, and if included is ignored. Many SGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 systems allow the SGML declaration to be defaulted. PSGML always use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 the Concrete Reference Syntax but without limitations on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 lengths. Features used has to be indicated with variables (@pxref{SGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 declaration}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 The document type declaration specifies the valid elements and entities
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 and how they can be nested. A document type is usually needed, but can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 reside in another file (@pxref{Managing the DTD}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 The system declaration for PSGML:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 @format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 SYSTEM "ISO 8879:1986"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 CHARSET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 BASESET "ISO 646-1983//CHARSET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 International Reference Version (IRV)//ESC 2/5 4/0"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 DESCSET 0 128 0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 CAPACITY PUBLIC "ISO 8879:1986//CAPACITY Reference//EN"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 FEATURES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 MINIMIZE DATATAG NO OMITTAG YES RANK NO SHORTTAG YES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 LINK SIMPLE NO IMPLICIT NO EXPLICIT NO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 OTHER CONCUR NO SUBDOC YES 1 FORMAL YES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 SCOPE DOCUMENT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 SYNTAX PUBLIC "ISO 8879:1986//SYNTAX Reference//EN"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 @c SYNTAX PUBLIC "ISO 8879:1986//SYNTAX Core//EN"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 VALIDATE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 GENERAL NO MODEL NO EXCLUDE NO CAPACITY NO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 NONSGML NO SGML NO FORMAL NO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 SDIF PACK NO UNPACK NO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 @end format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 @c -------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 @node Install, Invoke, Introduction, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 @chapter Installing PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 Place the @file{*.el} and the @file{*.elc} files in a directory where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 Emacs can find it (i.e. one of the directories in the @code{load-path}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 variable, you can add a directory to this variable in your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 @file{.emacs}.) If you obtained PSGML without @file{*.elc} files, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 can create them by letting Emacs byte compile the @file{*.el} files (use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 @kbd{M-x byte-compile-file}). Parsing SGML in Emacs Lisp is slow and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 needs all the speed it can get.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 Put the following line in your .emacs:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 (autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 You may also want to set up search paths for external entities,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 @xref{Entity manager}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 The @file{psgml.info} is the documentation for PSGML in the info format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 You can read this with the Emacs command @kbd{C-u C-h i}. You can also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 install the file in your systems info directory and edit the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 @file{dir} file to include @file{psgml.info} in the menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 The info file @file{psgml.info} is created from the texinfo file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 @file{psgml.texi}. The texinfo file can also be used to create a hard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 copy of the documentation. To do this you need the @TeX{} program and a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 copy of @file{texinfo.tex}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 @c --------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 @node Invoke, Entity manager, Install, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 @chapter How to invoke PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 @cindex invoke
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 @cindex start up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 @cindex major mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 @findex sgml-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 PSGML defines a major mode called @code{sgml-mode}. Files with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 extensions @file{.sgml}, @file{.sgm} or @file{.dtd} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 automatically be edited in SGML mode. To edit some other file in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 sgml mode, type @kbd{M-x sgml-mode @key{RET}} after finding the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 If you can modify the file you can add a @dfn{Local Variables} list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 (@pxref{file variables, , Local Variables in Files, emacs, The Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 Editor}) to the end of the file. This can make Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 automatically set sgml mode and user options when the file is loaded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 The simplest Local Variables list would look like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 <!--
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 Local Variables:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 mode: sgml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 End:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 -->
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 You can also put a line at the top of the file to tell emacs to use sgml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 mode:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 <!-- -*- sgml -*- -->
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 But remember that you can't have a comment before the @emph{SGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 declaration}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 @c -------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 @node Entity manager, Validate, Invoke, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 @chapter The Entity Manager
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 @cindex public identifier
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 @cindex system identifier
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 @cindex external identifier
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 SGML can refer to an external file (really entity) with an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 @emph{external identifier}, this is a @emph{public identifier} or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 @emph{system identifier}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 A typical public identifier looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 where ``ISO 8879:1986'' is the owner, ``ENTITIES'' is the text class and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 ``Added Latin 1'' is the text description (and ``EN'' is language).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 A system identifier looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 SYSTEM "htmlplus.dtd"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 @noindent where ``htmlplus.dtd'' is a system-specific identifier.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 To map external identifiers to file names, PSGML first searches entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 catalog files and then search the list of file name templates in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 variable @code{sgml-public-map}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 *** Describe the catalog format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 The catalog format is according to SGML/Opens resoution on entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 management. The catalog consists of a series of entries and comment. A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 comment is delimited by @samp{--} like in a markup declaration.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 The entry types recognized are described in the following table.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 @item PUBLIC @var{pubid} @var{file}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 The @var{file} will be used for the entity text of an entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 with the public identifier @var{pubid}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 @item ENTITY @var{name} @var{file}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 The @var{file} will be used for the entity text of an entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 with the name @var{name}. If the @var{name} starts with a @samp{%} the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 rest of the name will be matched against parameter entities.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 @item DOCTYPE @var{name} @var{file}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 The DOCTYPE keyword indicates that an entity manager should use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 associated |storage object identifier| to locate the entity text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 (to be used as the external subset) for a doctype declaration whose
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 document type name is specified by the |entity name spec|.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 @item SGMLDECL @var{file}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 The SGMLDECL keyword indicates that an entity manager should use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 the associated |storage object identifier| to locate the entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 text to be used as the SGML declaration.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 The @code{sgml-public-map} variable can contain a list of file name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 templates where @samp{%P} will be substituted with the whole public
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 identifier, owner is substituted for @samp{%O}, public text class for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 @samp{%C}, and public text description for @samp{%D}. The text class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 will be converted to lower case and the owner and description will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 transliterated according to the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 @code{sgml-public-transliterations}. The templates in the list is tried
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 in order until an existing file is found.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 Given the public identifier above and the file name template
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 @samp{/usr/local/lib/sgml/%o/%c/%d}, the resulting file name is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 /usr/local/lib/sgml/ISO_8879:1986/entities/Added_Latin_1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 Note: blanks are transliterated to @samp{_} (and also @samp{/} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 @samp{%}) and the text class is down cased.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 @defopt sgml-catalog-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 This is a list of catalog entry files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342 The files are in the format defined in the SGML Open Draft Technical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 Resolution on Entity Management. The Emacs variable is initialized from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 the environment variable @code{SGML_CATALOG_FILES} or if this variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 is undefined the default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348 ("CATALOG" "/usr/local/lib/sgml/CATALOG")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 @defopt sgml-local-catalogs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 A list of SGML entity catalogs to be searched first when parsing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 buffer. This is used in addition to @code{sgml-catalog-files}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355 @code{sgml-public-map}. This variable is automatically local to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 @defopt sgml-public-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 This should be a list of file name templates. This variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 initialized from the environment variable @code{SGML_PATH}. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 the same environment variable that @file{sgmls} uses. If the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 environment variable is undefined the default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 ("%S" "/usr/local/lib/sgml/%o/%c/%d")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 @c Mapping from public identifiers to file names.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 @c the colon separated list in @code{SGML_PATH} is converted to a lisp list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 @c -------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 @node Validate, SGML declaration, Entity manager, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 @chapter Running an external SGML parser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 @kindex C-c C-v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 @findex sgml-validate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 PSGML can not validate an SGML document (see below what it can and can't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 do). If you have a validating SGML parser, like @file{sgmls}, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 run the parser on your file with the command @kbd{C-c C-v}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 (@code{sgml-validate}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 Some variables control this function:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 @defopt sgml-validate-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 The shell command to validate an SGML document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 This is a @code{format} control string that by default should contain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 two `%s' conversion specifications: the first will be replaced by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 value of @code{sgml-declaration} (or the empty string, if nil); the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 second will be replaced by the current buffer's file name (or the empty
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 string, if nil).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 If @code{sgml-validate-files} is non-nil, the format string should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 contain one `%s' conversion specification for each element of its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 result.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 The default value is @code{sgml -s %s %s}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 @defopt sgml-validate-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 If non-nil, a function of no arguments that returns a list of file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405 names. These file names will serve as the arguments to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 @code{sgml-validate-command} format control string instead of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 defaults.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 @defopt sgml-declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 The name of the SGML declaration file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 @defopt sgml-offer-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 If non-nil, @kbd{C-c C-v} (@code{sgml-validate}) will ask about saving
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 modified buffers before running the validate command. The default value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 is @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 @kindex C-c C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 @findex sgml-next-trouble-spot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 The built-in parser can find some markup errors. The command @kbd{C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 C-o} (@code{sgml-next-trouble-spot}) is the best way to use the built-in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 parser for this. To check the whole file go to the beginning of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 buffer and use @kbd{C-c C-o}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 Some of the markup errors not found are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432 Errors in the SGML declaration.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 Errors in attribute specifications.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 Markup errors in entity replacement text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 Omitted start-tags for empty elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 @node SGML declaration, Managing the DTD, Validate, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444 @chapter SGML Declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 @cindex SHORTTAG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 @cindex OMITTAG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 PSGML does not understand the SGML declaration, it accepts one in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 file but it is ignored. If you have the SGML declaration in another
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 file you can make @file{sgmls} use it when you use the @kbd{C-c C-v}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 (@code{sgml-validate}) command (@pxref{Validate}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 PSGML has some options in what features it uses and what markup it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454 creates. You have to set these options to make PSGML's behavior
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455 consistent with your SGML declaration and personal preferences.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 @defopt sgml-omittag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 Set this to @code{t} if the SGML declaration has @samp{OMITTAG YES} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 to @code{nil} otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 @defopt sgml-shorttag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 Set this to @code{t} if the SGML declaration has @samp{SHORTTAG YES} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464 to @code{nil} otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 @defopt sgml-always-quote-attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468 If non-nil, quote all attribute values inserted after finishing edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 attributes. If this variable is @code{nil} and @code{sgml-shorttag} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470 non-@code{nil}, attribute values that consists of only name characters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 will not be quoted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 @defopt sgml-minimize-attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 Determines minimization of attributes inserted by edit-attributes. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476 non-nil, omit attribute name if the attribute value is from a token
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 group. If @code{max}, omit attributes with default value. Minimization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 will only be done if they produce legal SGML (assuming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479 @code{sgml-omittag} and @code{sgml-shorttag} are set correctly).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 @c --------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484 @node Managing the DTD, Edit, SGML declaration, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 @chapter Document Type Declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 @cindex DOCTYPE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489 @findex sgml-parse-prolog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 PSGML needs to know about the DTD you are using for many of its commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491 You can use PSGML without specifying a DTD, it will then accept any tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492 and assume a content model of @code{ANY} with no omissible tags.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494 If you have a @samp{DOCTYPE} declaration in your file, PSGML will try to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495 parse this. Either the first time you do something that needs to parse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496 the document or with the command @code{sgml-parse-prolog}. Big DTDs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497 take some time to parse.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
498
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499 @vindex sgml-system-path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500 @vindex sgml-default-dtd-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 @vindex sgml-parent-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502 You can have the @samp{DOCTYPE} declaration in another file either by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 setting @code{sgml-parent-document} to the other file or by creating a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 saved DTD and setting @code{sgml-default-dtd-file} to that file. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 @code{sgml-default-dtd-file} contains a relative file name, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506 directories in @code{sgml-system-path} will be searched for the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 @findex sgml-save-dtd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 @findex sgml-load-dtd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 If parsing the DTD takes too long time you can save the parsed DTD in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 file using the command @kbd{M-x sgml-save-dtd}. Next time PSGML can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 load that file instead of parsing the DTD. For PSGML to find the saved
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514 DTD you must either save the DTD using the default name or do a @kbd{M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515 sgml-save-options} after saving the DTD. To directly use an already
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
516 parsed and saved DTD, load the file containing the saved DTD with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 command @kbd{M-x sgml-load-dtd}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 When the DTD has been parsed or loaded the name of the document element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 will be displayed in the mode line inside brackets. If there was an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 error parsing the DTD or there is no DTD, the mode line will display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 @samp{[ANY]}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
524 @defopt sgml-default-dtd-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525 This is the default file name for saved DTD. This is set by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 @code{sgml-mode} to the buffer file name less extension plus the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527 extension @code{.ced}, if that file exists. Can be changed in the Local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 variables section of the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 @defopt sgml-parent-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532 This can be set to the name (a string) of a file containing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533 @samp{DOCTYPE} declaration to use, or a list @code{(@var{filename}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534 @var{doctypename})}, where @var{filename} is the name of a file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 containing the @samp{DOCTYPE} declaration to use, with the modification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536 that the document type name is @var{doctypename}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 If you change the doctype you must execute @code{sgml-parse-prolog},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540 changes in the doctype are not automatically recognized.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 @defopt sgml-custom-dtd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 Menu entries to be added to the DTD menu. The value should be a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 entries to be added to the DTD menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 Every entry should be a list. The first element of the entry is a string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 used as the menu entry. The second element is a string containing a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548 doctype declaration (this can be nil if no doctype). The rest of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 list should be a list of variables and values. For backward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 compatibility a single string instead of a variable is assigned to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 @code{sgml-default-dtd-file}. All variables are made buffer local and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 are also added to the buffers local variables list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 When an entry is selected from the DTD menu, the doctype declaration will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 be inserted, the variables will be set to the values in the entry and a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 local variables list will be created in the buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 Example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 (("HTML" nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 sgml-default-dtd-file "~/sgml/html.ced"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 sgml-omittag nil sgml-shorttag nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 ("HTML+" "<!doctype htmlplus system 'htmlplus.dtd'>"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 "~/sgml/htmlplus.ced"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566 sgml-omittag t sgml-shorttag nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 ("DOCBOOK" "<!doctype docbook system 'docbook.dtd'>"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568 "~/sgml/docbook.ced"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569 sgml-omittag nil sgml-shorttag t)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
574 @node Edit, Display, Managing the DTD, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576 @chapter Commands for editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
577
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579 * Insert:: Inserting Markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580 * Complete:: Markup completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 * Information:: Showing information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 * Indent:: Indentation according to structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 * Move:: Move in the element structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584 * Attributes:: Editing attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
585 * Change and delete:: Changing and deleting markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
586 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
587
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588 @c ------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589 @node Insert, Complete, Edit, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 @section Inserting Markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593 @c erik says "inserts" ??
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 The commands that insert start-tags works only if the document has an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 associated DTD.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597 Keyboard commands for inserting:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 @kindex C-c <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 @findex sgml-insert-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602 @item C-c <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 Will ask, for the tag to insert, in the mini-buffer with completion on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604 tags that are valid at point (@code{sgml-insert-tag}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 If the option @code{sgml-balanced-tag-edit} is non-nil, inserting a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 start-tag will also insert the corresponding end-tag. If, in addition,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608 @code{sgml-auto-insert-required-elements} is non-nil, tags for elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 required between the inserted tags will also be inserted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611 The list of valid tags, computed for a position in the buffer, will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 contain:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 The end-tag for the current element, if it can be ended at the position
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617 and @code{sgml-balanced-tag-edit} is nil. Furthermore it will contain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 end-tags for enclosing elements if the necessary omissible end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 declarations have been made in the DTD.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 The start-tags of all elements that could occur after point. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 @code{sgml-omittag-transparent} is nil, the above will be limited to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 elements that can occur within the current element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 @kindex C-c C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 @findex sgml-insert-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630 @item C-c C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 Insert start and end-tags for an element (@code{sgml-insert-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 The name of the element is read from the mini-buffer with completion on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 valid elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 If @code{sgml-omittag-transparent} is nil, the list of valid elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 will only contain the elements that can be in the content of the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 Required elements in the content will be automatically inserted if the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 option @code{sgml-auto-insert-required-elements} is non-nil.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 @kindex C-c C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643 @findex sgml-tag-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
644 @item C-c C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 Makes the region into a new element (@code{sgml-tag-region}). Reads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
646 element name from mini-buffer with completion as for @kbd{C-c C-e}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648 @kindex C-c /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
649 @findex sgml-insert-end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650 @item C-c /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651 Inserts an end-tag for the current element (@code{sgml-insert-end-tag}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 @kindex C-c RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 @findex sgml-split-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655 @item C-c RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 Split the current element at point. If repeated, the containing element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 will be split before the beginning of then current element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 Typical use is to start a new paragraph element when inside a paragraph.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 @kindex C-c +
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662 @findex sgml-insert-attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663 @item C-c +
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 Read attribute name and value from mini-buffer and insert attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665 specification (@code{sgml-insert-attribute}). If point is immediately
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666 after a start-tag, this command operates on that start-tag. Otherwise
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 the command will operate on the element after point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 The attribute name will be read with completion. If the attribute has a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 token list as declared value the attribute value will also be read with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671 completion. The prompt for attribute value will typically look like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 Value for @var{attribute} (@var{type} Default: @var{current value}):
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 Menu bar:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 @item Markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683 Selecting from this menu will insert markup. The menu contains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 sub menus with tags and with entities, some other markup and a user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685 defined section.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687 Sub menus:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 @item Insert element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690 Pops up a menu of valid elements and insert start and end-tags for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691 the selected element. Selections from the menu works like the @kbd{C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 C-e} command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 @item Insert start-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 Pops up a menu of valid start-tags and insert the selected tag. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696 menu has the same start-tags as the completion list for @kbd{C-c <}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698 @item Insert end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699 Pops up a menu of valid end-tags and insert the selected tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701 @item Tag region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702 Pops up a menu of valid elements and tag the region with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703 selection. Selections from the menu works like the @kbd{C-c C-r}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706 @item Insert entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707 Menu of all general entities defined in the DTD.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
708
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
709 @item Insert attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
710 Pops up a menu with all the attributes of an element. The element is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
711 either the one which start-tag is immediately before point or the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
712 element after point. Selecting from this menu edits the attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
713 specification list for the element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
715 The menu has a sub menu for every attribute which declared value is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
716 token list. The rest of the attributes are collected in one sub menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
717 For the token list attributes, selecting a value will insert that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
718 attribute-value pair. Selecting some other attribute reads the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
719 attribute-value from the mini-buffer and inserts the attribute value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
720 pair.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723 @kindex S-@key{mouse-1}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 A menu is also available directly with a mouse button click in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725 buffer. In GNU Emacs it is the first mouse button combined with shift
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726 (@kbd{S-@key{mouse-1}}). In Lucid Emacs it is bound to the third mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727 button. The mouse button click will pop-up a menu of valid tags or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 menu of attributes if the point is in a start-tag. The attributes menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729 works as the ``Insert attribute'' menu from the menu-bar. The tags list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730 is the list of valid tags described above for command @kbd{C-c <}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731 Selection from the tags menu works like the @kbd{C-c <} command, with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732 the following exception:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
733
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734 You can tag a region, with start and end-tag. There are two ways to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735 indicate the region to mark:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
736
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
737 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
738 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
739 Use the normal mouse commands to mark region.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
740
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
741 For this to work you must either use @dfn{transient mark mode}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
742 (@pxref{Transient Mark, , Transient Mark Mode, emacs, The Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
743 Editor}) or set the option @code{sgml-tag-region-if-active} to non-nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
744 (don't set this unless you are sure that you want it).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
745
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
746 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
747 Alternatively make a secondary selection, this is done by holding down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
748 the meta key and using the mouse buttons.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
749 @xref{Secondary selection, , , emacs, The Emacs Editor}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
750 Some window managers intercept these events, which makes it hard use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
751 secondary selection in Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
752 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
753
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
754 @defopt sgml-balanced-tag-edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
755 If non-nil, inserting a start-tag will also insert the corresponding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
756 end-tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
757 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
758
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
759 @defopt sgml-auto-insert-required-elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760 If non-nil, automatically inserts required elements in the content
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
761 of an inserted element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
762 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764 @defopt sgml-omittag-transparent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765 If non-nil, will show legal tags inside elements with omissible start-tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766 and legal tags beyond omissible end-tags.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
767 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
769 @defopt sgml-tag-region-if-active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770 If non-nil, the @samp{Insert tags} menu will tag a region if the region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771 is considered active by emacs. If nil, region must be active and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
772 @code{transient-mark-mode} must be on for the region to be tagged.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
774
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 @defopt sgml-custom-markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
776 Menu entries to be added to the Markup menu. The value should be a list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
777 of lists of two strings. The first string is the menu line and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
778 second string is the text inserted when the menu item is selected. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
779 second string can contain a @samp{\r} where the cursor should be left.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780 Also, if a selection is made according to the same rules as for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 @kbd{S-mouse-1} menu, the selection is replaced with the second string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782 and @samp{\r} is replaced with the selection.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 Example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787 (("Version1" "<![%Version1[\r]]>")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 ("New page" "<?NewPage>"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
792
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793 @c -------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794 @node Complete, Information, Insert, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 @section Markup completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
798 @kindex M-TAB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
799 @findex sgml-complete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 If you are typing in markup directly, @kbd{M-TAB} will help you by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 completing a tag name, an entity name or a markup declaration name. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802 you type @kbd{M-TAB} after a plain word, @code{ispell-complete-word}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 will be invoked instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805 If you have typed (@point{} marks the position of point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
808 &At@point{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811 @noindent and type @kbd{M-TAB} (assuming you use the @file{ISOLat1}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812 entity set) you get:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
814 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815 &Atilde@point{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
816 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
817
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
818
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
819 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820 @node Information, Indent, Complete, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
822 @section Showing information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
824 Commands for showing information obtained by parsing the buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
825
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
826 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
827 @kindex C-c C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
828 @findex sgml-show-context
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
829 @item C-c C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830 Shows in the message area: context at point, if in a tag or in mixed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
831 content and the open elements (@code{sgml-show-context}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833 @kindex C-c C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834 @findex sgml-what-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835 @item C-c C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836 Shows what element the character after point (under the cursor) belongs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 to; also shows context of element (@code{sgml-what-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839 @kindex C-c C-t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 @findex sgml-list-valid-tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
841 @item C-c C-t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
842 List contextually valid tags (@code{sgml-list-valid-tags}). Displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843 information about current element, all valid end-tags, valid start-tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
844 in current element, and start-tags valid at this point but in other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
845 elements together with the tags omitted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
847
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
848 You can make the mode-line display the name of the current open element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
849 by setting the @code{sgml-live-element-indicator} variable. Setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850 this will make all commands slower due to the work needed to keep the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
851 mode-line up to date.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
852
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
853 @defopt sgml-live-element-indicator
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854 If non-nil, indicate current element in mode line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856 NOTE: Setting this implies that every command can cause a parse.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
858
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
860
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
861 @c --------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
862 @node Indent, Move, Information, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
863 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
864 @section Indentation according to structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
866 @kindex @key{TAB}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867 @kindex @key{LFD}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868 @findex sgml-indent-or-tab
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869 @findex newline-and-indent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 You can indent a line according to the depth of element nesting at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871 beginning of the line. To indent the current line use @kbd{@key{TAB}}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872 You can also use @kbd{@key{LFD}} (@code{newline-and-indent}) to start a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
873 new line with correct indentation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 @defopt sgml-indent-step
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876 How much to increment indent for every element level. If nil, no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877 indentation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
879 If this is nil, @kbd{@key{TAB}} will insert a tab instead of indenting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 @defopt sgml-indent-data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883 If non-nil, indent in data/mixed context also.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 @node Move, Attributes, Indent, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
890 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 @section Move in the element structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893 These commands move in the element structure. The commands uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894 knowledge of SGML syntax, and if available the specific DTD.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897 @kindex C-M-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 @findex sgml-beginning-of-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899 @item C-M-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900 Move to the (content) beginning of the current element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901 (@code{sgml-beginning-of-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
903 @kindex C-M-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
904 @findex sgml-end-of-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
905 @item C-M-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
906 Move to the (content) end of the current element (@code{sgml-end-of-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
907
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
908 @kindex C-M-f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
909 @findex sgml-forward-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
910 @item C-M-f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
911 Move forward by element (@code{sgml-forward-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
912
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
913 @kindex C-M-b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914 @findex sgml-backward-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
915 @item C-M-b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
916 Move backward by element (@code{sgml-backward-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
917
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
918 @kindex C-M-u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
919 @findex sgml-backward-up-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
920 @item C-M-u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
921 Move up to before current element (@code{sgml-backward-up-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
922
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
923 @kindex C-c C-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
924 @findex sgml-up-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925 @item C-c C-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
926 Move up to after current element (@code{sgml-up-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
927
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928 @kindex C-M-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
929 @findex sgml-down-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
930 @item C-M-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
931 Move down to the (content) beginning of the next element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932 (@code{sgml-down-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
933
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934 @kindex C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 @findex sgml-next-data-field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936 @item C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937 Move to the next place where data is allowed (@code{sgml-next-data-field}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 You can also move to the next place where there is some structural error
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 with @kbd{C-c C-o} (@pxref{Validate}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945 @node Attributes, Change and delete, Move, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947 @section Editing attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
949 @findex sgml-edit-attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950 @kindex C-c C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951 If you want to change the attributes of a start-tag you can simply edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952 them directly in the buffer. Or you can place the cursor at or after
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 the start-tag and use the @code{sgml-edit-attributes} command, available
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954 from the @samp{SGML}-menu or on @kbd{C-c C-a}. This will create a new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 Emacs window with all possible attributes listed in the form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958 @var{attribute name} = @var{current value}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961 The @var{current value} may be shown as @samp{#DEFAULT} if the attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962 has not been given a value in the start-tag. The list also contains the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963 attributes declaration as a comment. Note also that the @var{current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
964 value} is show without eventual quotes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966 @kindex C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
967 @kindex @key{TAB}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
968 It is now possible to edit the attribute values. You can move to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
969 next attribute with @kbd{@key{TAB}}. If you want to let an attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970 have its default value use @kbd{C-c C-d}, this will insert a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
971 @samp{#DEFAULT} in the value field.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973 If Emacs is running in an X window, the @samp{#DEFAULT} will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974 underlined to distinguish it from normal values.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
976 @kindex C-c C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977 Finish the editing with @kbd{C-c C-c}; this will replace the attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
978 values in the main buffer with those edited. Note that values will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979 quoted as needed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981 If you want to abort the editing, you can remove the window with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982 @kbd{C-x 0} or if you want it neat, kill the buffer and remove the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983 window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
984
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
985 Some other keys are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
986 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
987 @kindex C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
988 @findex sgml-edit-attrib-field-start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
989 @item C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
990 Go to the beginning of the value field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
991 (@code{sgml-edit-attrib-field-start}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
992
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
993 @kindex C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994 @findex sgml-edit-attrib-field-end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
995 @item C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
996 Go to the end of the value field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
997 (@code{sgml-edit-attrib-field-end}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
998
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
999 @kindex C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000 @findex sgml-edit-attrib-clear
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 @item C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1002 Clear the value field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003 (@code{sgml-edit-attrib-clear}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1004
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1005 @kindex C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1006 @findex sgml-edit-attrib-default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007 @item C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 Set the value field to @samp{#DEFAULT}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009 (@code{sgml-edit-attrib-default}). This is a special value that will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010 make the attribute be implied.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1013
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 @c --------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 @node Change and delete, , Attributes, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 @section Changing and deleting markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020 @kindex C-c =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 @findex sgml-change-element-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 @item C-c =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023 Change the name of the current element (@code{sgml-change-element-name}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 Tries to translate attribute specifications. An attribute will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025 translated to an attribute with the same name. If the new element has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 no attribute with the same name, the attribute will be ignored. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027 there is an attribute with the same name but different declared content,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028 a warning is given.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030 ID attributes are handled specially, an attribute with declared value ID
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031 will always be translated to the attribute with declared value ID.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 @kindex C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 @findex sgml-kill-markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035 @item C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036 Kill next tag, markup declaration or process instruction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 (@code{sgml-kill-markup}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 @kindex C-M-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040 @findex sgml-kill-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041 @item C-M-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 Kill the element following the cursor (@code{sgml-kill-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044 @kindex C-c -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 @findex sgml-untag-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046 @item C-c -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 Remove tags from current element (@code{sgml-untag-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049 @kindex C-c #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050 @findex sgml-make-character-reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051 @item C-c #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 Convert character after point to a character reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 (@code{sgml-make-character-reference}). If called with a numeric
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054 argument, convert a character reference back to a normal character.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 @kindex C-c C-q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 @findex sgml-fill-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058 @item C-c C-q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059 Fills an element as a paragraph (@code{sgml-fill-element}). This is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 substitute for the normal @code{fill-paragraph}. The command uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061 heuristics to decide what should be a paragraph.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065 If point is in an element content, recursively fill the sub-elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 Find the biggest element with mixed content containing point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069 If the above element is mixed but contains elements with pure element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070 content then fill what is between the pure elements as paragraphs and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 fill the pure elements recursively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 @findex sgml-normalize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076 @item M-x sgml-normalize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 Normalize the document in the buffer. This will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 insert missing tags,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083 replace minimized tags with full tags,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1085 fix attribute specification lists according to options set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1086 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1087
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1088 There is one option for the normalize command. With its default value,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089 normalize may actually change the data content of some elements. But
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 only by removing some white-space from the end of elements with omitted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091 end-tags.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1094 @defopt sgml-normalize-trims
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1095 If non-nil, @code{sgml-normalize} will trim off white space from end of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1096 element when adding end-tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1097
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098 Default: @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103 @node Display, Bugs, Edit, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 @chapter Appearance of text in the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108 * Fold:: Folding editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109 * Highlight:: Highlighting markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1112 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1113 @node Fold, Highlight, Display, Display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 @section Folding editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117 With these commands you can make parts of the text temporarily invisible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 to make it easier to see the overall structure of your text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120 When folding a region all the lines but the first will be invisible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 The first line of the region will still be visible with an ellipsis at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122 the end.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124 @xref{Outline Mode, , , emacs, The Emacs Editor}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127 @kindex C-c C-f C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 @findex sgml-fold-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129 @item C-c C-f C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1130 The region between point and mark will be folded (@code{sgml-fold-region}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 @kindex C-c C-f C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133 @findex sgml-fold-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134 @item C-c C-f C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1135 The region between the start and end of the current element will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136 folded (@code{sgml-fold-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138 This command can also fold the SGML declaration or the DOCTYPE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1139 declaration.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1141 @kindex C-c C-f C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1142 @findex sgml-fold-subelement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1143 @item C-c C-f C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1144 Fold all the sub elements of the current element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1145 (@code{sgml-fold-subelement}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1146
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1147 @kindex C-c C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1148 @kindex C-c C-u C-l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1149 @findex sgml-unfold-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1150 @item C-c C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1151 @itemx C-c C-u C-l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1152 Unfold the current line, assuming it is the first line of a folded
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1153 region (@code{sgml-unfold-line}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1155 @kindex C-c C-u C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1156 @findex sgml-unfold-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1157 @item C-c C-u C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1158 Make all lines in current element visible (@code{sgml-unfold-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1160 @kindex C-c C-u C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1161 @findex sgml-unfold-all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162 @item C-c C-u C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163 Make all lines in current buffer visible (@code{sgml-unfold-all}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 @kindex C-c C-f C-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 @findex sgml-expand-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1167 @item C-c C-f C-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1168 Unfold current element and then fold the subelements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1169 (@code{sgml-expand-element}). If the current element is folded this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1170 expands what is visible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1171 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1173
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1174
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1176 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177 @node Highlight, , Fold, Display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1179 @section Highlighting markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1181
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1182 PSGML can highlight the markup as it parses it by giving the markup a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1183 different @dfn{face} (@pxref{Faces, , Using Multiple Typefaces, emacs,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1184 The Emacs Editor}). The highlighting will only be done if the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1185 @code{sgml-set-face} is non-nil. The default settings make tags bold
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1186 and comments italic, but this can be modified with the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1187 @code{sgml-markup-faces}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189 @findex sgml-clear-faces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190 To remove the highlighting type @kbd{M-x sgml-clear-faces}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1192 @defopt sgml-set-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1193 If non-nil, psgml will set the face of parsed markup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1194 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1196 @defopt sgml-markup-faces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1197 A list of markup to face mappings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1198 Each element looks like @code{(@var{markup-type} . @var{face})}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1199 Possible values for @var{markup-type} is:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1201 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1202 @item comment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1203 comment declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 @item doctype
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1205 doctype declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1206 @item end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1207 end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1208 @item ignored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1209 ignored marked section
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1210 @item ms-start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1211 marked section end, if not ignored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1212 @item ms-end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1213 marked section start, if not ignored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1214 @item pi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1215 processing instruction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1216 @item sgml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1217 SGML declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1218 @item start-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1219 start-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1220 @item entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1221 entity reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1222 @item shortref
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1223 short reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1224 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1227 @c ------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1228 @node Bugs, Index, Display, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1229 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1230 @chapter Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1232
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1233 If you encounter something that you think is a bug, please report
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1234 it. Try to include a clear description of the undesired behaviour.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1235 A test case that exhibits the bug, would also be useful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1236
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1237 You can report a bug with the command @kbd{M-x sgml-submit-bug-report}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1238
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1239 When PSGML needs contextual information it parses the document up to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1240 the point. During the parsing, it builds a parse tree. The parse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1241 tree is used to initialize the next parse, to avoid having to parse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1242 things already parsed. Changes to the buffer is supposed to prune
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1243 the tree of all outdated information. But if you get strange
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1244 complaints from the parser, try and back up a bit and use @kbd{C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1245 C-o} (@code{sgml-next-trouble-spot}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1247
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1248
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1249 @c ------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1250 @node Index, , Bugs, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1251 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1252 @chapter Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1254 @printindex cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1255
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1256 @bye