annotate man/psgml.texi @ 155:43dd3413c7c7 r20-3b4

Import from CVS: tag r20-3b4
author cvs
date Mon, 13 Aug 2007 09:39:39 +0200
parents cca96a509cfe
children
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
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 70
diff changeset
10 @c $Id: psgml.texi,v 1.2 1997/04/10 05:56:17 steve Exp $
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
11
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12 @ifinfo
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13 @format
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
14 START-INFO-DIR-ENTRY
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
15 * PSGML: (psgml). PSGML, a major mode for SGML documents.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
16 END-INFO-DIR-ENTRY
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
17 @end format
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
18 @end ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 Documentation for PSGML, a major mode for SGML.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
23 Copyright 1994, 1996 Lennart Staflin
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 Permission is granted to make and distribute verbatim
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 copies of this manual provided the copyright notice and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 this permission notice are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 Permission is granted to process this file through TeX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 and print the results, provided the printed document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 carries a copying permission notice identical to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 one except for the removal of this paragraph (this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 paragraph not being relevant to the printed manual).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 Permission is granted to copy and distribute modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 versions of this manual under the conditions for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 verbatim copying, and provided that the entire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 resulting derived work is distributed under the terms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 of a permission notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 Permission is granted to copy and distribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 translations of this manual into another language,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 under the above conditions for modified versions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 except that this permission notice may be stated in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 translation approved by the Free Software Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 @title Editing SGML with Emacs and PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 @author Lennart Staflin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 @c The following two commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 @c start the copyright page.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 @vskip 0pt plus 1filll
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
60 Copyright @copyright{} 1994, 1996 Lennart Staflin
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 @c Published by ...
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 Permission is granted to make and distribute verbatim
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 copies of this manual provided the copyright notice and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 this permission notice are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 Permission is granted to process this file through TeX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 and print the results, provided the printed document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 carries a copying permission notice identical to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 one except for the removal of this paragraph (this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 paragraph not being relevant to the printed manual).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 Permission is granted to copy and distribute modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 versions of this manual under the conditions for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 verbatim copying, and provided that the entire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 resulting derived work is distributed under the terms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 of a permission notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 Permission is granted to copy and distribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 translations of this manual into another language,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 under the above conditions for modified versions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 except that this permission notice may be stated in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 translation approved by the Free Software Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 @node Top, Introduction, (dir), (dir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 @top PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
94 PSGML is a major mode for editing SGML documents. This is the DRAFT
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
95 documentation for PSGML version 1.0.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 * Introduction:: Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 * Install:: How to install PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 * Invoke:: How to invoke PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 * Entity manager:: The Entity Manager
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 * Validate:: Running an external SGML parser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 * SGML declaration:: Using an SGML declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 * Managing the DTD:: Specifying what DTD to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 * Edit:: Commands for editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 * Display:: Appearance of text in the buffer
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
108 * Miscellaneous options::
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 * Bugs:: Reporting bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 * Index::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
113
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
114 @c *** section about error recovery ??
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
115
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
116
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 @c ------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 @node Introduction, Install, Top, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 @chapter Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 @cindex CONCUR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 @cindex DATATAG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 @cindex LINK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 @cindex RANK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 @cindex SGML Declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
128 PSGML is a major mode for editing SGML documents. It works with GNU
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
129 Emacs 19.19 and later or with Lucid Emacs 19.9 and later. PSGML
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
130 contains a simple SGML parser and can work with any DTD. Functions
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
131 provided includes menus and commands for inserting tags with only the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 contextually valid tags, identification of structural errors, editing of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 attribute values in a separate window with information about types and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 defaults, and structure based editing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 SGML, a language for encoding the structure of a document, is an ISO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 standard: ISO 8879:1986 ``Information processing -- Text and office
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 systems -- Standard Generalized Markup Language (SGML)''.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 A good introduction to SGML is @cite{A Gentle Introduction to SGML}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 produced by Text Encoding Initiative (this is really chapter 2 of TEI
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
142 P3). This can be found on
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
143
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
144 @display
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 @file{ftp://ftp.ifi.uio.no/pub/SGML/TEI/P3SG.DOC}.
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
146 @end display
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 A SGML document has three major parts, in order:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 SGML Declaration (@samp{<!SGML "ISO 8879:1986" @dots{} >})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 Document Type Declaration (@samp{<!DOCTYPE @var{name} @dots{} >})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 Document Element (@samp{<@var{name}> @dots{} </@var{name}>})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 The SGML declaration contains general information about character sets,
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
160 concrete syntax, and SGML features used. PSGML does not use the SGML
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
161 Declaration, it can be left out, and if included is ignored. Many SGML
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 systems allow the SGML declaration to be defaulted. PSGML always use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 the Concrete Reference Syntax but without limitations on
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
164 lengths. Features used has to be indicated with variables (@pxref{SGML
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 declaration}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 The document type declaration specifies the valid elements and entities
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 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
169 reside in another file (@pxref{Managing the DTD}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 The system declaration for PSGML:
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
172 @example
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 SYSTEM "ISO 8879:1986"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 CHARSET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 BASESET "ISO 646-1983//CHARSET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 International Reference Version (IRV)//ESC 2/5 4/0"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 DESCSET 0 128 0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 CAPACITY PUBLIC "ISO 8879:1986//CAPACITY Reference//EN"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 FEATURES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 MINIMIZE DATATAG NO OMITTAG YES RANK NO SHORTTAG YES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 LINK SIMPLE NO IMPLICIT NO EXPLICIT NO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 OTHER CONCUR NO SUBDOC YES 1 FORMAL YES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 SCOPE DOCUMENT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 SYNTAX PUBLIC "ISO 8879:1986//SYNTAX Reference//EN"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 @c SYNTAX PUBLIC "ISO 8879:1986//SYNTAX Core//EN"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 VALIDATE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 GENERAL NO MODEL NO EXCLUDE NO CAPACITY NO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 NONSGML NO SGML NO FORMAL NO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 SDIF PACK NO UNPACK NO
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
190 @end example
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 @c -------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 @node Install, Invoke, Introduction, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 @chapter Installing PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
198 To install PSGML you first need to uncompress and unpack the source
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
199 archive. This is done with the @code{gunzip} and @code{tar} commands.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
200
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
201 @example
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 70
diff changeset
202 gunzip psgml-1.0.1.tar.gz; tar xf psgml-1.0.1.tar
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
203 @end example
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
204
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
205 This should create a subdirectory to the current directory with the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
206 source code. This directory contains a @code{configure} command (see the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
207 file INSTALL for more information about configure). You can use the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
208 @code{configure} command to configure the package or you can load the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
209 file @file{psgml-maint} and execute the @code{psgml-compile-files}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
210 command.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
211
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 Place the @file{*.el} and the @file{*.elc} files in a directory where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 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
214 variable, you can add a directory to this variable in your
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
215 @file{.emacs}.)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
216
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
217 If you use the @code{configure} approach, compile psgml with @code{make}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
218 and the you can run @code{make install} to install it in the system
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
219 library @file{site-lisp}. The files are installed in a subdirectory
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
220 named @file{psgml}. The location of @file{site-lisp} is figured out by
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
221 @code{configure}, but you can change it in the @file{Makefile}. You
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
222 need to make sure that this subdirectory is in Emacs @code{load-path}.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
223
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 Put the following line in your .emacs:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 (autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 You may also want to set up search paths for external entities,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 @xref{Entity manager}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 The @file{psgml.info} is the documentation for PSGML in the info format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 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
236 install the file in your systems info directory and edit the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 @file{dir} file to include @file{psgml.info} in the menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 The info file @file{psgml.info} is created from the texinfo file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 @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
241 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
242 copy of @file{texinfo.tex}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 @c --------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 @node Invoke, Entity manager, Install, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 @chapter How to invoke PSGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 @cindex invoke
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 @cindex start up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 @cindex major mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 @findex sgml-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 PSGML defines a major mode called @code{sgml-mode}. Files with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 extensions @file{.sgml}, @file{.sgm} or @file{.dtd} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 automatically be edited in SGML mode. To edit some other file in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 sgml mode, type @kbd{M-x sgml-mode @key{RET}} after finding the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 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
263 (@pxref{file variables, , Local Variables in Files, emacs, The Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 Editor}) to the end of the file. This can make Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 automatically set sgml mode and user options when the file is loaded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 The simplest Local Variables list would look 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 <!--
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 Local Variables:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 mode: sgml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 End:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 -->
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 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
277 mode:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 <!-- -*- sgml -*- -->
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 But remember that you can't have a comment before the @emph{SGML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 declaration}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 @c -------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 @node Entity manager, Validate, Invoke, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 @chapter The Entity Manager
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 @cindex public identifier
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 @cindex system identifier
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 @cindex external identifier
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
294 @cindex entity catalog
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
295
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
296 @c *** sgml-sysid-resolve-functions
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 SGML can refer to an external file (really entity) with an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 @emph{external identifier}, this is a @emph{public identifier} or a
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
300 @emph{system identifier}, or both.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 A typical public identifier looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 where ``ISO 8879:1986'' is the owner, ``ENTITIES'' is the text class and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 ``Added Latin 1'' is the text description (and ``EN'' is language).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 A system identifier looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 SYSTEM "htmlplus.dtd"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 @noindent where ``htmlplus.dtd'' is a system-specific identifier.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 To map external identifiers to file names, PSGML first searches entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 catalog files and then search the list of file name templates in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 variable @code{sgml-public-map}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
324 The catalog format is according to SGML/Opens resolution on entity
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
325 management. The catalog consists of a series of entries and comments. A
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 comment is delimited by @samp{--} like in a markup declaration.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 The entry types recognized are described in the following table.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
331 @item public @var{pubid} @var{file}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 The @var{file} will be used for the entity text of an entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 with the public identifier @var{pubid}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
335 @item entity @var{name} @var{file}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 The @var{file} will be used for the entity text of an entity
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
337 with the name @var{name}. If the @var{name} starts with a @samp{%} the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 rest of the name will be matched against parameter entities.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
340 @item doctype @var{name} @var{file}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
341 The @var{file} will be used for the entity text of an entity
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
342 used as external subset of a document declaration with @var{name} as
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
343 document type name.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
345 @item sgmldecl @var{file}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
346 Used to specify a default SGML declaration. Recognized but not used by
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
347 PSGML other than to pass to an external validation command
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
348 (@code{sgml-validate-command}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
352 When PSGML is looking for the file containing an external entity, the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
353 following things will be tried in order:
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
354
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
355 @enumerate
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
356
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
357 @vindex sgml-system-identifiers-are-preferred
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
358 @item
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
359 Try the system identifier, as a file name, if there is a system
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
360 identifier and the variable @code{sgml-system-identifiers-are-preferred}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
361 is non-@code{nil} and there is no elements containing @samp{%s} in
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
362 @code{sgml-public-map}. If the system identifier is a relative file name
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
363 it will be relative to the directory containing the defining entity.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
364
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
365 @item
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
366 Look thru each catalog in @code{sgml-local-catalogs} and
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
367 @code{sgml-catalog-files} in order. For each catalog look first for
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
368 entries matching the public identifier, if any. Then look for other
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
369 matching entries in the order they appear in the catalog.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
370
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
371 Currently an entry will be ignored if it is matching but its file is
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
372 non-existent or unreadable. (This is under reconsideration, perhaps it
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
373 should signal error instead).
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
374
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
375 @item
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
376 Try the system identifier, if any, as a file name.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
377 If @code{sgml-system-identifiers-are-preferred} is @code{nil}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
378 and there is no elements containing @samp{%s} in @code{sgml-public-map}.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
379
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
380 @item
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
381 Try the entries in @code{sgml-public-map}. Using the catalogs are
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
382 preferred. The @code{sgml-public-map} may disappear in a future version
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
383 of PSGML (not soon though).
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
384
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
385 @end enumerate
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
386
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 The @code{sgml-public-map} variable can contain a list of file name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 templates where @samp{%P} will be substituted with the whole public
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 identifier, owner is substituted for @samp{%O}, public text class for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 @samp{%C}, and public text description for @samp{%D}. The text class
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 will be converted to lower case and the owner and description will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 transliterated according to the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 @code{sgml-public-transliterations}. The templates in the list is tried
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
394 in order until an existing file is found. The @code{sgml-public-map} is
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
395 modeled after @file{sgmls} environment variable @code{SGML_PATH} and
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
396 psgml understand the following substitution characters: %%, %N, %P, %S,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
397 %Y, %C, %L, %O, %T, and %V. The the default value of
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
398 @code{sgml-public-map} is taken from the environment variable
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
399 @code{SGML_PATH}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 Given the public identifier above and the file name template
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 @samp{/usr/local/lib/sgml/%o/%c/%d}, the resulting file name is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405 /usr/local/lib/sgml/ISO_8879:1986/entities/Added_Latin_1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 Note: blanks are transliterated to @samp{_} (and also @samp{/} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 @samp{%}) and the text class is down cased.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 @defopt sgml-catalog-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 This is a list of catalog entry files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 The files are in the format defined in the SGML Open Draft Technical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 Resolution on Entity Management. The Emacs variable is initialized from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 the environment variable @code{SGML_CATALOG_FILES} or if this variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 is undefined the default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 ("CATALOG" "/usr/local/lib/sgml/CATALOG")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 @defopt sgml-local-catalogs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 A list of SGML entity catalogs to be searched first when parsing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427 buffer. This is used in addition to @code{sgml-catalog-files}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 @code{sgml-public-map}. This variable is automatically local to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
432 @defopt sgml-system-identifiers-are-preferred
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
433 If @code{nil}, PSGML will look up external entities by searching the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
434 catalogs in @code{sgml-local-catalogs} and @code{sgml-catalog-files} and
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
435 only if the entity is not found in the catalogs will a given system
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
436 identifier be used. If the variable is non-nil and a system identifier is
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
437 given, the system identifier will be used for the entity. If no system
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
438 identifier is given the catalogs will searched.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
439 @end defopt
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
440
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
441
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 @defopt sgml-public-map
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
443 This should be a list of file name templates. This variable is
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
444 initialized from the environment variable @code{SGML_PATH}. This is
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 the same environment variable that @file{sgmls} uses. If the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 environment variable is undefined the default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 ("%S" "/usr/local/lib/sgml/%o/%c/%d")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 @c Mapping from public identifiers to file names.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454 @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
455
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456 @c -------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 @node Validate, SGML declaration, Entity manager, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 @chapter Running an external SGML parser
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 @kindex C-c C-v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 @findex sgml-validate
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
463 PSGML can not validate an SGML document (see below what it can
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
464 and can't do). If you have a validating SGML parser, like
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
465 @file{sgmls}, you can run the parser on your file with the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
466 command @kbd{C-c C-v} (@code{sgml-validate}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468 Some variables control this function:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470 @defopt sgml-validate-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 The shell command to validate an SGML document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
473 This is a @code{format} control string that by default should contain two
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
474 @code{%s} conversion specifications: the first will be replaced by the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 value of @code{sgml-declaration} (or the empty string, if nil); the
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
476 second will be replaced by the current buffer's file name (or the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
477 empty string, if nil).
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
478
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
479 If @code{sgml-validate-files} is non-nil, the format string should contain
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
480 one @code{%s} conversion specification for each element of its result.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
482 If sgml-validate-command is a list, then every element should be a
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
483 string. The strings will be tried in order and @samp{%}-sequences in the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
484 string will be replaced according to the list below, if the string contains
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
485 @samp{%}-sequences with no replacement value the next string will be tried.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
486
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
487 @table @code
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
488 @item %b
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
489 means the visited file of the current buffer
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
491 @item %s
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
492 means the SGML declaration specified in the sgml-declaration variable
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
493
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
494 @item %d
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
495 means the file containing the DOCTYPE declaration, if not in the buffer
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
496 @end table
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
497
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
498 The default value is @code{nsgmls -s %s %s}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 @defopt sgml-validate-files
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
502 If non-nil, a function of no arguments that returns a list of
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
503 file names. These file names will serve as the arguments to the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
504 @code{sgml-validate-command} format control string instead of
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
505 the defaults.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 @defopt sgml-declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 The name of the SGML declaration file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 @defopt sgml-offer-save
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
513 If non-nil, @kbd{C-c C-v} (@code{sgml-validate}) will ask about
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
514 saving modified buffers before running the validate command.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
515 The default value is @code{t}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
516 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 @kindex C-c C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 @findex sgml-next-trouble-spot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 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
522 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
523 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
524 buffer and use @kbd{C-c C-o}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 Some of the markup errors not found are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 Errors in the SGML declaration.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532 Errors in attribute specifications.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534 Omitted start-tags for empty elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
538 @c --------------------------------------------------------------------------
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 @node SGML declaration, Managing the DTD, Validate, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 @chapter SGML Declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 @cindex SHORTTAG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 @cindex OMITTAG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 PSGML does not understand the SGML declaration, it accepts one in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 file but it is ignored. If you have the SGML declaration in another
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 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
548 (@code{sgml-validate}) command (@pxref{Validate}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 PSGML has some options in what features it uses and what markup it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 creates. You have to set these options to make PSGML's behavior
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 consistent with your SGML declaration and personal preferences.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 @defopt sgml-omittag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 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
556 to @code{nil} otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 @defopt sgml-shorttag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 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
561 to @code{nil} otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 @defopt sgml-always-quote-attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 If non-nil, quote all attribute values inserted after finishing edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566 attributes. If this variable is @code{nil} and @code{sgml-shorttag} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 non-@code{nil}, attribute values that consists of only name characters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568 will not be quoted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 @defopt sgml-minimize-attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572 Determines minimization of attributes inserted by edit-attributes. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 non-nil, omit attribute name if the attribute value is from a token
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
574 group. If @code{max}, omit attributes with default value. Minimization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575 will only be done if they produce legal SGML (assuming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576 @code{sgml-omittag} and @code{sgml-shorttag} are set correctly).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
577 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580 @c --------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 @node Managing the DTD, Edit, SGML declaration, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 @chapter Document Type Declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584 @cindex DOCTYPE
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
585 @cindex DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
586
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
587 @vindex sgml-default-doctype-name
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
588 PSGML needs to know about the DTD you are using for many of its commands.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
589 If you do not have a @samp{DOCTYPE} declaration in your file,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
590 PSGML will try assume that there is one of the form
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
591
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
592 @example
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
593 <!DOCTYPE @var{name} SYSTEM>
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
594 @end example
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
595
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
596 where @var{name} is the value of @code{sgml-default-doctype-name}, if
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
597 the value is non-@code{nil}, else the GI of the first tag will be used.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 @findex sgml-parse-prolog
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
600 @vindex sgml-auto-activate-dtd
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
601 PSGML will try to parse the document type declaration the first time
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
602 you do something that needs to parse the document or immediately if the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
603 variable @code{sgml-auto-activate-dtd} is @code{t}. You can also
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
604 initiate the parsing of the document type declaration with the command
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
605 @code{sgml-parse-prolog}. Big DTDs take some time to parse.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 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
608 will be displayed in the mode line inside brackets. If there was an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 error parsing the DTD or there is no DTD, the mode line will display
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
610 @samp{[ANY]} (*** this is not really correct! a DTD will be established
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
611 even if there are missing entities, it may even be empty).
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
612
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
613 @menu
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
614 * Precompiled DTD Subsets::
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
615 * Using a Split Document::
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
616 * Inserting a DOCTYPE::
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
617 * Information from the DTD::
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
618 @end menu
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
619
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
620
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
621 @c ------------------------------------------------------------
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
622 @node Precompiled DTD Subsets, Using a Split Document, Managing the DTD, Managing the DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
623 @comment node-name, next, previous, up
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
624 @section Precompiled DTD Subsets
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
625
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
626 If parsing the DTD takes too long time you can arrange to have PSGML
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
627 cache an internal complied version of the DTD. Caching can be done of
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
628 DTD fragments in favourable situations. It is possible to have an
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
629 external DTD subset cached but still have an internal DTD subset as long
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
630 as the internal subset does not define parameter entities that affect
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
631 the parsing of the external subset (*** what is the exact conditions?,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
632 probably you can't use the cached external subset if the internal subset
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
633 defines parameter entities that are also defined in the external subset
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
634 with another value).
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
635
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
636 @vindex sgml-ecat-files
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
637 @vindex sgml-local-ecat-files
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
638 To enable caching you have to create special catalog files, hear after
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
639 called ECAT files due to (temporary) lack of imagination. These catalogs
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
640 have similar syntax to the entity catalogs and there are two variables
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
641 containing lists of catalogs to search: @code{sgml-ecat-files} and
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
642 @code{sgml-local-ecat-files}. The ECAT files can contain the following
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
643 types of entries:
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
644
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
645 @table @samp
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
646 @item file @var{dtdfile} @var{entitydef} @var{cfile}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
647 The @var{dtdfile} is the name of a file containing a DTD subset that
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
648 should be cached in @var{cfile}. The @var{entitydef} is optional and if
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
649 given have the following syntax:
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
650 @example
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
651 [ @var{name1} @var{literal1} @var{name2} @var{literal2} @dots{} ]
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
652 @end example
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
653 Using @var{entitydef} will modify the DTD subset by defining the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
654 parameter entity with name @var{name1} to be @var{literal1}, @dots{}. The
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
655 cached version of the subset will be created with those entity
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
656 definitions, and when PSGML search for a matching cached subset will check
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
657 that the parameter entities in @var{entitydef} has been defined with
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
658 those values before trying to use @file{cfile}.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
659
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
660 @item public @var{pubid} @var{entitydef} @var{cfile}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
661 Cache the DTD subset with public identifier @var{pubid} in file
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
662 @var{cfile}.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
663 @end table
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
664
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
665
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
666 @defopt sgml-recompile-out-of-date-cdtd
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
667 If non-@code{nil}, out of date compiled DTDs will be automatically
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
668 recompiled. If the value is @code{ask}, PSGML will ask before
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
669 recompiling. A @code{nil} value will cause PSGML to silently load an out
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
670 of date compiled DTD. A DTD that refers to undefined external entities
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
671 is always out of date, thus in such case it can be useful to set this
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
672 variable to @code{nil}.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
673 @end defopt
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
674
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
675
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
676 Previous versions of PSGML have had another way of speeding up DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
677 parsing. This code remains in this version of PSGML, but is not actively
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
678 maintained and may disappear in the future.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
679
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
680 @findex sgml-save-dtd
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
681 @findex sgml-load-dtd
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
682 @vindex sgml-default-dtd-file
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
683 You can save the parsed DTD in a file using the command @kbd{M-x
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
684 sgml-save-dtd}. Next time PSGML can load that file instead of parsing
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
685 the DTD. For PSGML to find the saved DTD you must either save the DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
686 using the default name or do a @kbd{M-x sgml-save-options} after saving
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
687 the DTD. To directly use an already parsed and saved DTD, load the file
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
688 containing the saved DTD with the command @kbd{M-x sgml-load-dtd}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690 @defopt sgml-default-dtd-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691 This is the default file name for saved DTD. This is set by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 @code{sgml-mode} to the buffer file name less extension plus the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693 extension @code{.ced}, if that file exists. Can be changed in the Local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 variables section of the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
697 @c true with system-path
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
698 @c either or by creating a saved DTD and setting
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
699 @c @code{sgml-default-dtd-file} to that file. If
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
700 @c @code{sgml-default-dtd-file} contains a relative file name, the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
701 @c directories in @code{sgml-system-path} will be searched for the file.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
702
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
703
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
704 @c ------------------------------------------------------------
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
705 @node Using a Split Document, Inserting a DOCTYPE, Precompiled DTD Subsets, Managing the DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
706 @comment node-name, next, previous, up
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
707 @section Using a Split Document
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
708
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
709 @c *** why not defopt??
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
710 @vindex sgml-doctype
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
711 You can have the @samp{DOCTYPE} declaration in another file by setting
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
712 @code{sgml-doctype} to the other file.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
713
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714 @defopt sgml-parent-document
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
715 Used when the current file is part of a bigger document.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
716
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
717 The variable describes how the current file's content fit into the element
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
718 hierarchy. The variable should have the form
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
719
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
720 @lisp
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
721 (@var{parent-file} @var{context-element}* @var{top-element} (@var{has-seen-element}*)?)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
722 @end lisp
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
723
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
724 @table @var
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
725 @item parent-file
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
726 is a string, the name of the file containing the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
727 document entity.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
728
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
729 @item context-element
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
730 is a string, that is the name of an element type.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
731 It can occur 0 or more times and is used to set up
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
732 exceptions and short reference map. Good candidates
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
733 for these elements are the elements open when the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
734 entity pointing to the current file is used.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
735
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
736 @item top-element
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
737 is a string that is the name of the element type
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
738 of the top level element in the current file. The file
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
739 should contain one instance of this element, unless
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
740 the last (lisp) element of sgml-parent-document is a
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
741 list. If it is a list, the top level of the file
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
742 should follow the content model of top-element.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
743
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
744 @item has-seen-element
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
745 is a string that is the name of an element type. This
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
746 element is satisfied in the content model of top-element.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
747 @end table
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
748 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
749
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
750
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
751 @c ------------------------------------------------------------
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
752 @node Inserting a DOCTYPE, Information from the DTD, Using a Split Document, Managing the DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
753 @comment node-name, next, previous, up
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
754 @section Inserting a DOCTYPE
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
755
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
756 @kindex C-c C-u C-d
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
757 @findex sgml-custom-dtd
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
758 *** Describe the DTD menu in general. Describe customized entries for
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
759 special DTDs. Mention @kbd{C-c C-u C-d} for inserting a DOCTYPE from
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
760 keyboard.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
761
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
762 If you change the doctype you must execute @code{sgml-parse-prolog},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763 changes in the doctype are not automatically recognized.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765 @defopt sgml-custom-dtd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766 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
767 entries to be added to the DTD menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
769 Every entry should be a list. The first element of the entry is a string
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770 used as the menu entry. The second element is a string containing a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771 doctype declaration (this can be nil if no doctype). The rest of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
772 list should be a list of variables and values. For backward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773 compatibility a single string instead of a variable is assigned to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
774 @code{sgml-default-dtd-file}. All variables are made buffer local and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 are also added to the buffers local variables list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
777 When an entry is selected from the DTD menu, the doctype declaration will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
778 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
779 local variables list will be created in the buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 Example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 (("HTML" nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785 sgml-default-dtd-file "~/sgml/html.ced"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786 sgml-omittag nil sgml-shorttag nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787 ("HTML+" "<!doctype htmlplus system 'htmlplus.dtd'>"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 "~/sgml/htmlplus.ced"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 sgml-omittag t sgml-shorttag nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 ("DOCBOOK" "<!doctype docbook system 'docbook.dtd'>"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791 "~/sgml/docbook.ced"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
792 sgml-omittag nil sgml-shorttag t)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
796
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
797 @c ------------------------------------------------------------
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
798 @node Information from the DTD, , Inserting a DOCTYPE, Managing the DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
799 @comment node-name, next, previous, up
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
800 @section Information from the DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
801 @cindex DTD
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
802 @cindex Element
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
803
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
804 PSGML can list various information about the current DTD.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
805 The following commands can be used via @kbd{M-x} and
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
806 can also be found in the DTD menu.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
807
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
808 @table @code
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
809 @findex sgml-general-dtd-info
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
810 @item sgml-general-dtd-info
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
811 Display information about the current DTD.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
812
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
813 @findex sgml-describe-element-type
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
814 @item sgml-describe-element-type
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
815 Describe the properties of an element type as declared in the current DTD.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
816
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
817 @cindex entity
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
818 @findex sgml-describe-entity
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
819 @item sgml-describe-entity
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
820 Describe the properties of an entity as declared in the current DTD.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
821
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
822 @findex sgml-list-elements
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
823 @item sgml-list-elements
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
824 Will list all elements and the attributes declared for the element.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
825
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
826 @findex sgml-list-attributes
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
827 @item sgml-list-attributes
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
828 Will list all attributes declared and the elements that use them.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
829
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
830 @findex sgml-list-terminals
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
831 @item sgml-list-terminals
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
832 Will list all elements that can contain data.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
833
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
834 @findex sgml-list-occur-in-elements
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
835 @item sgml-list-occur-in-elements
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
836 Will list all element types and where it can occur.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
837
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
838 @findex sgml-list-content-elements
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
839 @item sgml-list-content-elements
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
840 Will list all element types and the element types that can occur
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
841 in its content.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
842 @end table
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
843
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
844
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
845 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846 @node Edit, Display, Managing the DTD, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
847 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
848 @chapter Commands for editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
849
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
851 * Insert:: Inserting Markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
852 * Complete:: Markup completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
853 * Information:: Showing information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854 * Indent:: Indentation according to structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855 * Move:: Move in the element structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856 * Attributes:: Editing attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857 * Change and delete:: Changing and deleting markup
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
858 * Translating characters and entities::
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859 @end menu
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 Insert, Complete, Edit, 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 Inserting Markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
866 @c erik says "inserts" ??
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867 The commands that insert start-tags works only if the document has an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868 associated DTD.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 Keyboard commands for inserting:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
873 @kindex C-c <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874 @findex sgml-insert-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 @item C-c <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876 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
877 tags that are valid at point (@code{sgml-insert-tag}).
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 the option @code{sgml-balanced-tag-edit} is non-nil, inserting a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880 start-tag will also insert the corresponding end-tag. If, in addition,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881 @code{sgml-auto-insert-required-elements} is non-nil, tags for elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 required between the inserted tags will also be inserted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884 The list of valid tags, computed for a position in the buffer, will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885 contain:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 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
890 and @code{sgml-balanced-tag-edit} is nil. Furthermore it will contain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 end-tags for enclosing elements if the necessary omissible end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892 declarations have been made in the DTD.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895 The start-tags of all elements that could occur after point. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 @code{sgml-omittag-transparent} is nil, the above will be limited to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897 elements that can occur within the current element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901 @kindex C-c C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902 @findex sgml-insert-element
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
903 @vindex sgml-insert-end-tag-on-new-line
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
904 @item C-c C-e
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
905 Insert start and end-tags for an element
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
906 (@code{sgml-insert-element}). The name of the element is read
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
907 from the mini-buffer with completion on valid elements. If
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
908 @code{sgml-insert-end-tag-on-new-line} is non-nil or the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
909 element has element content, the end-tag will be inserted on a
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
910 new line after the start-tag.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
911
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
912 @vindex sgml-omittag-transparent
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
913 If @code{sgml-omittag-transparent} is nil, the list of valid elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914 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
915 element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
916
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
917 @vindex sgml-auto-insert-required-elements
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
918 @vindex sgml-insert-missing-element-comment
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
919 Required elements in the content will be automatically inserted if the
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
920 option @code{sgml-auto-insert-required-elements} is non-nil.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
921 When the content model demands an element but there is more
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
922 than one to choose from, a comment can be inserted with the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
923 available choices if the option
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
924 @code{sgml-insert-missing-element-comment} is non-nil.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
926 @kindex C-c C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
927 @findex sgml-tag-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928 @item C-c C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
929 Makes the region into a new element (@code{sgml-tag-region}). Reads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
930 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
931
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932 @kindex C-c /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
933 @findex sgml-insert-end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934 @item C-c /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 Inserts an end-tag for the current element (@code{sgml-insert-end-tag}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937 @kindex C-c RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938 @findex sgml-split-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939 @item C-c RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 Split the current element at point. If repeated, the containing element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 will be split before the beginning of then current element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943 Typical use is to start a new paragraph element when inside a paragraph.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945 @kindex C-c +
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 @findex sgml-insert-attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947 @item C-c +
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948 Read attribute name and value from mini-buffer and insert attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
949 specification (@code{sgml-insert-attribute}). If point is immediately
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950 after a start-tag, this command operates on that start-tag. Otherwise
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951 the command will operate on the element after point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 The attribute name will be read with completion. If the attribute has a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954 token list as declared value the attribute value will also be read with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 completion. The prompt for attribute value will typically look like:
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 Value for @var{attribute} (@var{type} Default: @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
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
961 @kindex C-c C-u C-m
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
962 @findex sgml-custom-markup
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
963 @item C-c C-u C-m
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
964 Give keyboard access to the customized part of the Markup menu.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
965 Emacs will prompt for the markup to insert using the menu line as
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
966 selector. (See @var{sgml-custom-markup} below.)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
967
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
968 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
969
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970 Menu bar:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
971
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973 @item Markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974 Selecting from this menu will insert markup. The menu contains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975 sub menus with tags and with entities, some other markup and a user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
976 defined section.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
978 Sub menus:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980 @item Insert element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981 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
982 the selected element. Selections from the menu works like the @kbd{C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983 C-e} command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
984
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
985 @item Insert start-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
986 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
987 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
988
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
989 @item Insert end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
990 Pops up a menu of valid end-tags and insert the selected tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
992 @item Tag region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
993 Pops up a menu of valid elements and tag the region with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994 selection. Selections from the menu works like the @kbd{C-c C-r}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
995 command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
997 @item Insert entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
998 Menu of all general entities defined in the DTD.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
999
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000 @item Insert attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 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
1002 either the one which start-tag is immediately before point or the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003 element after point. Selecting from this menu edits the attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1004 specification list for the element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1005
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1006 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
1007 token list. The rest of the attributes are collected in one sub menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 For the token list attributes, selecting a value will insert that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009 attribute-value pair. Selecting some other attribute reads the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010 attribute-value from the mini-buffer and inserts the attribute value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011 pair.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1013
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 @kindex S-@key{mouse-1}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 A menu is also available directly with a mouse button click in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016 buffer. In GNU Emacs it is the first mouse button combined with shift
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1017 (@kbd{S-@key{mouse-1}}). In XEmacs it is bound to the third mouse
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018 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
1019 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
1020 works as the ``Insert attribute'' menu from the menu-bar. The tags list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 is the list of valid tags described above for command @kbd{C-c <}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 Selection from the tags menu works like the @kbd{C-c <} command, with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023 the following exception:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025 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
1026 indicate the region to mark:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030 Use the normal mouse commands to mark region.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032 For this to work you must either use @dfn{transient mark mode}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 (@pxref{Transient Mark, , Transient Mark Mode, emacs, The Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 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
1035 (don't set this unless you are sure that you want it).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038 Alternatively make a secondary selection, this is done by holding down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 the meta key and using the mouse buttons.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040 @xref{Secondary selection, , , emacs, The Emacs Editor}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041 Some window managers intercept these events, which makes it hard use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 secondary selection in Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 @defopt sgml-balanced-tag-edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046 If non-nil, inserting a start-tag will also insert the corresponding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 end-tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050 @defopt sgml-auto-insert-required-elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051 If non-nil, automatically inserts required elements in the content
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 of an inserted element.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055 @defopt sgml-omittag-transparent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 If non-nil, will show legal tags inside elements with omissible start-tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 and legal tags beyond omissible end-tags.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 @defopt sgml-tag-region-if-active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061 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
1062 is considered active by emacs. If nil, region must be active and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063 @code{transient-mark-mode} must be on for the region to be tagged.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 @defopt sgml-custom-markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 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
1068 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
1069 second string is the text inserted when the menu item is selected. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070 second string can contain a @samp{\r} where the cursor should be left.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 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
1072 @kbd{S-mouse-1} menu, the selection is replaced with the second string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073 and @samp{\r} is replaced with the selection.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 Example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078 (("Version1" "<![%Version1[\r]]>")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079 ("New page" "<?NewPage>"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1084 @defopt sgml-insert-missing-element-comment
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1085 If non-nil, and sgml-auto-insert-required-elements also true,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1086 @code{sgml-insert-element} will insert a comment if there is an
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1087 element required but there is more than one to choose from.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1088 @end defopt
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1089
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1090 @defopt sgml-insert-end-tag-on-new-line
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1091 If non-nil, @code{sgml-insert-element} will put the end-tag on
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1092 a new line after the start-tag. Useful on slow terminals if you
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1093 find the end-tag after the cursor irritating.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1094 @end defopt
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1095
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1096
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1097 @c -------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098 @node Complete, Information, Insert, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 @section Markup completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 @kindex M-TAB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103 @findex sgml-complete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 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
1105 completing a tag name, an entity name or a markup declaration name. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106 you type @kbd{M-TAB} after a plain word, @code{ispell-complete-word}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107 will be invoked instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109 If you have typed (@point{} marks the position of point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1112 &At@point{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1113 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 @noindent and type @kbd{M-TAB} (assuming you use the @file{ISOLat1}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116 entity set) you get:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119 &Atilde@point{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124 @node Information, Indent, Complete, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126 @section Showing information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 Commands for showing information obtained by parsing the buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1130 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 @kindex C-c C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 @findex sgml-show-context
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133 @item C-c C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134 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
1135 content and the open elements (@code{sgml-show-context}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137 @kindex C-c C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138 @findex sgml-what-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1139 @item C-c C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1140 Shows what element the character after point (under the cursor) belongs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1141 to; also shows context of element (@code{sgml-what-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1143 @kindex C-c C-t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1144 @findex sgml-list-valid-tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1145 @item C-c C-t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1146 List contextually valid tags (@code{sgml-list-valid-tags}). Displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1147 information about current element, all valid end-tags, valid start-tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1148 in current element, and start-tags valid at this point but in other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1149 elements together with the tags omitted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1150 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1152 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
1153 by setting the @code{sgml-live-element-indicator} variable. Setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1154 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
1155 mode-line up to date.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1157 @defopt sgml-live-element-indicator
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1158 If non-nil, indicate current element in mode line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1160 NOTE: Setting this implies that every command can cause a parse.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1161 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 @c --------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 @node Indent, Move, Information, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1167 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1168 @section Indentation according to structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1170 @kindex @key{TAB}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1171 @kindex @key{LFD}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1172 @findex sgml-indent-or-tab
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1173 @findex newline-and-indent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1174 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
1175 beginning of the line. To indent the current line use @kbd{@key{TAB}}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1176 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
1177 new line with correct indentation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1179 @defopt sgml-indent-step
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1180 How much to increment indent for every element level. If nil, no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1181 indentation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1182
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1183 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
1184 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1185
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1186 @defopt sgml-indent-data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1187 If non-nil, indent in data/mixed context also.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1192 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1193 @node Move, Attributes, Indent, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1194 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195 @section Move in the element structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1196
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1197 These commands move in the element structure. The commands uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1198 knowledge of SGML syntax, and if available the specific DTD.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1199
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1201 @kindex C-M-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1202 @findex sgml-beginning-of-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1203 @item C-M-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 Move to the (content) beginning of the current element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1205 (@code{sgml-beginning-of-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1207 @kindex C-M-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1208 @findex sgml-end-of-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1209 @item C-M-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1210 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
1211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1212 @kindex C-M-f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1213 @findex sgml-forward-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1214 @item C-M-f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1215 Move forward by element (@code{sgml-forward-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1216
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1217 @kindex C-M-b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1218 @findex sgml-backward-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1219 @item C-M-b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1220 Move backward by element (@code{sgml-backward-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1221
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1222 @kindex C-M-u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1223 @findex sgml-backward-up-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1224 @item C-M-u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225 Move up to before current element (@code{sgml-backward-up-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1227 @kindex C-c C-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1228 @findex sgml-up-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1229 @item C-c C-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1230 Move up to after current element (@code{sgml-up-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1232 @kindex C-M-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1233 @findex sgml-down-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1234 @item C-M-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1235 Move down to the (content) beginning of the next element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1236 (@code{sgml-down-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1237
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1238 @kindex C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1239 @findex sgml-next-data-field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1240 @item C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1241 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
1242 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1243
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1244 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
1245 with @kbd{C-c C-o} (@pxref{Validate}).
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 @c ---------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1249 @node Attributes, Change and delete, Move, Edit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1250 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1251 @section Editing attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1252
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1253 @findex sgml-edit-attributes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1254 @kindex C-c C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1255 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
1256 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
1257 the start-tag and use the @code{sgml-edit-attributes} command, available
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1258 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
1259 Emacs window with all possible attributes listed in the form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1261 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1262 @var{attribute name} = @var{current value}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1263 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1265 The @var{current value} may be shown as @samp{#DEFAULT} if the attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1266 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
1267 attributes declaration as a comment. Note also that the @var{current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1268 value} is show without eventual quotes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1269
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1270 @kindex C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1271 @kindex @key{TAB}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1272 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
1273 next attribute with @kbd{@key{TAB}}. If you want to let an attribute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1274 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
1275 @samp{#DEFAULT} in the value field.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1276
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1277 If Emacs is running in an X window, the @samp{#DEFAULT} will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1278 underlined to distinguish it from normal values.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1279
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1280 @kindex C-c C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1281 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
1282 values in the main buffer with those edited. Note that values will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1283 quoted as needed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1284
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1285 If you want to abort the editing, you can remove the window with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1286 @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
1287 window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1288
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1289 Some other keys are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1290 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1291 @kindex C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1292 @findex sgml-edit-attrib-field-start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1293 @item C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1294 Go to the beginning of the value field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1295 (@code{sgml-edit-attrib-field-start}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1297 @kindex C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1298 @findex sgml-edit-attrib-field-end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1299 @item C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1300 Go to the end of the value field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1301 (@code{sgml-edit-attrib-field-end}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1302
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1303 @kindex C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1304 @findex sgml-edit-attrib-clear
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1305 @item C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1306 Clear the value field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1307 (@code{sgml-edit-attrib-clear}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1308
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1309 @kindex C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1310 @findex sgml-edit-attrib-default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1311 @item C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1312 Set the value field to @samp{#DEFAULT}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1313 (@code{sgml-edit-attrib-default}). This is a special value that will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1314 make the attribute be implied.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1315 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1316
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1317
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1318 @c --------------------------------------------------------------------------
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1319 @node Change and delete, Translating characters and entities, Attributes, Edit
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1320 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1321 @section Changing and deleting markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1322
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1323 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1324 @kindex C-c =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1325 @findex sgml-change-element-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1326 @item C-c =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1327 Change the name of the current element (@code{sgml-change-element-name}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1328 Tries to translate attribute specifications. An attribute will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1329 translated to an attribute with the same name. If the new element has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1330 no attribute with the same name, the attribute will be ignored. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1331 there is an attribute with the same name but different declared content,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1332 a warning is given.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1333
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1334 ID attributes are handled specially, an attribute with declared value ID
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1335 will always be translated to the attribute with declared value ID.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1337 @kindex C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1338 @findex sgml-kill-markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1339 @item C-c C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1340 Kill next tag, markup declaration or process instruction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1341 (@code{sgml-kill-markup}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1342
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1343 @kindex C-M-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1344 @findex sgml-kill-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1345 @item C-M-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1346 Kill the element following the cursor (@code{sgml-kill-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1347
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1348 @kindex C-c -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1349 @findex sgml-untag-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1350 @item C-c -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1351 Remove tags from current element (@code{sgml-untag-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1352
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1353 @kindex C-c #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1354 @findex sgml-make-character-reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1355 @item C-c #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1356 Convert character after point to a character reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1357 (@code{sgml-make-character-reference}). If called with a numeric
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1358 argument, convert a character reference back to a normal character.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1359
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1360 @kindex C-c C-q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1361 @findex sgml-fill-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1362 @item C-c C-q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1363 Fills an element as a paragraph (@code{sgml-fill-element}). This is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1364 substitute for the normal @code{fill-paragraph}. The command uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1365 heuristics to decide what should be a paragraph.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1366
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1367 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1368 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1369 If point is in an element content, recursively fill the sub-elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1370 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1371 Find the biggest element with mixed content containing point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1372 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1373 If the above element is mixed but contains elements with pure element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1374 content then fill what is between the pure elements as paragraphs and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1375 fill the pure elements recursively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1376 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1377
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1378 @findex sgml-expand-all-shortrefs
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1379 @item M-x sgml-expand-all-shortrefs
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1380 Short references to text entities are expanded to the replacement text
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1381 of the entity other short references are expanded into general entity
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1382 references. If argument, @var{to-entity}, is non-@code{nil}, or if
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1383 called interactive with numeric prefix argument, all short references
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1384 are replaced by generally entity references.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1385
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1386 @findex sgml-normalize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1387 @item M-x sgml-normalize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1388 Normalize the document in the buffer. This will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1389
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1390 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1391 @item
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1392 expand short references,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1393 @item
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1394 insert missing tags,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1395 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1396 replace minimized tags with full tags,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1397 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1398 fix attribute specification lists according to options set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1399 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1400
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1401 There is one argument, @var{to-entity}, with the same meaning as for
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1402 @code{sgml-expand-all-shortrefs}.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1403
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1404 There is one option for the normalize command. With its default value,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1405 normalize may actually change the data content of some elements. But
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1406 only by removing some white-space from the end of elements with omitted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1407 end-tags.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1408 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1410 @defopt sgml-normalize-trims
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1411 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
1412 element when adding end-tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1414 Default: @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1415 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1416
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1417
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1418 @c --------------------------------------------------------------------------
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1419 @node Translating characters and entities, , Change and delete, Edit
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1420 @comment node-name, next, previous, up
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1421 @section Translating between characters and entity references
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1422
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1423 @c *** Need work..
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1424
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1425 Set the variable @code{sgml-display-char-list-filename} to a file file that
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1426 contains mappings between all characters present in the presentation
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1427 character set, and their "standard replacement text" names, e.g. "å"
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1428 -> "[aring ]", e.t.c.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1429
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1430 The default value for this variable is `iso88591.map'.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1431
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1432 The use the functions (also in the Modify menu)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1433
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1434 @table @code
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1435 @findex sgml-charent-to-display-char
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1436 @item sgml-charent-to-display-char
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1437 @findex sgml-display-char-to-charent
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1438 @item sgml-display-char-to-charent
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1439 @end table
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1440
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1441 to translate between entities and characters.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1442
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1443 @c ---------------------------------------------------------------------------
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1444 @node Display, Miscellaneous options, Edit, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1445 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1446 @chapter Appearance of text in the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1447
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1448 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1449 * Fold:: Folding editing
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1450 * Hiding markup::
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1451 * Highlight:: Highlighting markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1452 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1453
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1454 @c ---------------------------------------------------------------------------
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1455 @node Fold, Hiding markup, Display, Display
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1456 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1457 @section Folding editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1458
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1459 With these commands you can make parts of the text temporarily invisible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1460 to make it easier to see the overall structure of your text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1461
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1462 When folding a region all the lines but the first will be invisible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1463 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
1464 the end.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1465
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1466 @xref{Outline Mode, , , emacs, The Emacs Editor}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1467
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1468 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1469 @kindex C-c C-f C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1470 @findex sgml-fold-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1471 @item C-c C-f C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1472 The region between point and mark will be folded (@code{sgml-fold-region}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1473
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1474 @kindex C-c C-f C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1475 @findex sgml-fold-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1476 @item C-c C-f C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1477 The region between the start and end of the current element will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1478 folded (@code{sgml-fold-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1479
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1480 This command can also fold the SGML declaration or the DOCTYPE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481 declaration.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1482
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1483 @kindex C-c C-f C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1484 @findex sgml-fold-subelement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1485 @item C-c C-f C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1486 Fold all the sub elements of the current element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1487 (@code{sgml-fold-subelement}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1488
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1489 @kindex C-c C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1490 @kindex C-c C-u C-l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1491 @findex sgml-unfold-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1492 @item C-c C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1493 @itemx C-c C-u C-l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1494 Unfold the current line, assuming it is the first line of a folded
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1495 region (@code{sgml-unfold-line}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1497 @kindex C-c C-u C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1498 @findex sgml-unfold-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1499 @item C-c C-u C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1500 Make all lines in current element visible (@code{sgml-unfold-element}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1501
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1502 @kindex C-c C-u C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1503 @findex sgml-unfold-all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1504 @item C-c C-u C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1505 Make all lines in current buffer visible (@code{sgml-unfold-all}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1506
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1507 @kindex C-c C-f C-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1508 @findex sgml-expand-element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1509 @item C-c C-f C-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1510 Unfold current element and then fold the subelements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1511 (@code{sgml-expand-element}). If the current element is folded this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1512 expands what is visible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1513 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1514
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1515
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1516 @c ---------------------------------------------------------------------------
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1517 @node Hiding markup, Highlight, Fold, Display
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1518 @comment node-name, next, previous, up
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1519 @section Hiding markup
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1520
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1521 *** Describe hide-tags
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1522
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1524 @c ---------------------------------------------------------------------------
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1525 @node Highlight, , Hiding markup, Display
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1526 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1527 @section Highlighting markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1528
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1529
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1530 PSGML can highlight the markup giving the markup a different @dfn{face}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1531 (@pxref{Faces, , Using Multiple Typefaces, emacs, The Emacs Editor}).
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1532 The highlighting will only be done if the variable @code{sgml-set-face}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1533 is non-@code{nil}. The default settings make tags bold and comments
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1534 italic, but this can be modified with the variable
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1535 @code{sgml-markup-faces}. When highlighting is on PSGML will parse after
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1536 every command until the whole buffer has been parsed or user event
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1537 occurs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1538
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1539 @findex sgml-clear-faces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540 To remove the highlighting type @kbd{M-x sgml-clear-faces}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1542 @defopt sgml-set-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1543 If non-nil, psgml will set the face of parsed markup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1544 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1545
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1546 @defopt sgml-markup-faces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1547 A list of markup to face mappings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1548 Each element looks like @code{(@var{markup-type} . @var{face})}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1549 Possible values for @var{markup-type} is:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1551 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1552 @item comment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1553 comment declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1554 @item doctype
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1555 doctype declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1556 @item end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1557 end-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1558 @item ignored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1559 ignored marked section
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1560 @item ms-start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1561 marked section end, if not ignored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1562 @item ms-end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1563 marked section start, if not ignored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1564 @item pi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1565 processing instruction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1566 @item sgml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1567 SGML declaration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1568 @item start-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1569 start-tag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1570 @item entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1571 entity reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1572 @item shortref
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1573 short reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1574 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1575 @end defopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1576
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1577
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1578
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1579 @c ------------------------------------------------------------------
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1580 @node Miscellaneous options, Bugs, Display, Top
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1581 @comment node-name, next, previous, up
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1582 @chapter Miscellaneous options
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1583
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1584 *** describe sgml-save-options
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1585
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1586 @defopt sgml-ignore-undefined-elements
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1587 Start-tags for undefined elements will either be ignored, if
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1588 @code{sgml-ignore-undefined-elements} is @code{t}, or assumed to be
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1589 acceptable in the current element and defined with @code{O O ANY}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1590 @end defopt
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1591
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1592 @defopt sgml-range-indicator-max-length
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1593 Maximum number of characters used from the first and last entry
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1594 of a sub-menu to indicate the range of that menu.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1595
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1596 @vindex sgml-max-menu-size
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1597 This is used for long menus of elements, tags or entities that are split
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1598 into @code{sgml-max-menu-size} big sub-menus.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1599 @end defopt
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1600
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1601
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1602
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1603
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1604 @c ------------------------------------------------------------------
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1605 @node Bugs, Index, Miscellaneous options, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1606 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1607 @chapter Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1608
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1609
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1610 If you encounter something that you think is a bug, please report
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1611 it. Try to include a clear description of the undesired behaviour.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1612 A test case that exhibits the bug, would also be useful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1613
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1614 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
1615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1616 When PSGML needs contextual information it parses the document up to
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1617 the point. During the parsing, it builds a parse tree. The parse
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1618 tree is used to initialize the next parse, to avoid having to parse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1619 things already parsed. Changes to the buffer is supposed to prune
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1620 the tree of all outdated information. But if you get strange
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1621 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
1622 C-o} (@code{sgml-next-trouble-spot}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1624
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1625
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1626 @c ------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1627 @node Index, , Bugs, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1628 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1629 @chapter Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1630
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1631 @printindex cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1632
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1633 @contents
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1634 @bye