+Sun Oct 7 13:15:33 CEST 2001 Daniel Veillard <daniel@veillard.com>
+
+ * libxslt/numbers.c: fixed bug #61070, number ANY formatting
+ should be faster too.
+ * tests/docbook/result/xtchunk/html/* tests/xmlspec/REC-xml-20001006*.html:
+ updated the result of the tests. A subtle bug unnnoticed yet
+ in the XML Rec formatting got fixed.
+
Sat Oct 6 19:45:07 CEST 2001 Daniel Veillard <daniel@veillard.com>
* libxslt/numbers.c: trying to fix bug #61070, seems there
{
int amount = 0;
int cnt = 0;
- int keep_going = TRUE;
- xmlNodePtr ancestor;
- xmlNodePtr preceding;
- xmlXPathParserContextPtr parser;
- xsltCompMatchPtr countPat;
- xsltCompMatchPtr fromPat;
+ xmlNodePtr cur;
+ xsltCompMatchPtr countPat = NULL;
+ xsltCompMatchPtr fromPat = NULL;
if (count != NULL)
countPat = xsltCompilePattern(count, doc, elem);
- else
- countPat = NULL;
if (from != NULL)
fromPat = xsltCompilePattern(from, doc, elem);
- else
- fromPat = NULL;
- context->xpathCtxt->node = node;
- parser = xmlXPathNewParserContext(NULL, context->xpathCtxt);
- if (parser) {
- /* preceding */
- for (preceding = xmlXPathNextPreceding(parser, node);
- preceding != NULL;
- preceding = xmlXPathNextPreceding(parser, preceding)) {
- if ((from != NULL) &&
- xsltTestCompMatchList(context, preceding, fromPat)) {
- keep_going = FALSE;
- break; /* for */
- }
- if (count == NULL) {
- if ((node->type == preceding->type) &&
- /* FIXME: must use expanded-name instead of local name */
- xmlStrEqual(node->name, preceding->name))
- cnt++;
- } else {
- if (xsltTestCompMatchList(context, preceding, countPat))
- cnt++;
- }
+
+ /* select the starting node */
+ switch (node->type) {
+ case XML_ELEMENT_NODE:
+ cur = node;
+ break;
+ case XML_ATTRIBUTE_NODE:
+ cur = ((xmlAttrPtr) node)->parent;
+ break;
+ case XML_TEXT_NODE:
+ case XML_PI_NODE:
+ case XML_COMMENT_NODE:
+ cur = node->parent;
+ break;
+ default:
+ cur = NULL;
+ break;
+ }
+
+ while (cur != NULL) {
+ /* process current node */
+ if (count == NULL) {
+ if ((node->type == cur->type) &&
+ /* FIXME: must use expanded-name instead of local name */
+ xmlStrEqual(node->name, cur->name))
+ cnt++;
+ } else {
+ if (xsltTestCompMatchList(context, cur, countPat))
+ cnt++;
+ }
+ if ((from != NULL) &&
+ xsltTestCompMatchList(context, cur, fromPat)) {
+ break; /* while */
}
- if (keep_going) {
- /* ancestor-or-self */
- for (ancestor = node;
- ancestor != NULL;
- ancestor = xmlXPathNextAncestor(parser, ancestor)) {
- if ((from != NULL) &&
- xsltTestCompMatchList(context, ancestor, fromPat)) {
- break; /* for */
- }
- if (count == NULL) {
- if ((node->type == ancestor->type) &&
- /* FIXME */
- xmlStrEqual(node->name, ancestor->name))
- cnt++;
- } else {
- if (xsltTestCompMatchList(context, ancestor, countPat))
- cnt++;
- }
- }
+ /* Skip to next preceding or ancestor */
+ if ((cur->type == XML_DOCUMENT_NODE) ||
+#ifdef LIBXML_DOCB_ENABLED
+ (cur->type == XML_DOCB_DOCUMENT_NODE) ||
+#endif
+ (cur->type == XML_HTML_DOCUMENT_NODE))
+ break; /* while */
+
+ while ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
+ cur = cur->prev;
+ if (cur->prev != NULL) {
+ for (cur = cur->prev; cur->last != NULL; cur = cur->last);
+ } else {
+ cur = cur->parent;
}
- array[amount++] = (double)cnt;
- xmlXPathFreeParserContext(parser);
+
}
- xsltFreeCompMatchList(countPat);
- xsltFreeCompMatchList(fromPat);
+
+ array[amount++] = (double) cnt;
+
+ if (countPat != NULL)
+ xsltFreeCompMatchList(countPat);
+ if (fromPat != NULL)
+ xsltFreeCompMatchList(fromPat);
return(amount);
}
<link rel="home" href="index.html" title="The GNOME Handbook of Writing Software Documentation">
<link rel="up" href="index.html" title="The GNOME Handbook of Writing Software Documentation">
<link rel="previous" href="indexs15.html" title="Resources">
-<link rel="next" href="apas17.html" title="Template 2: Applet Manual For GNOME 1.x">
+<link rel="next" href="apas02.html" title="Template 2: Applet Manual For GNOME 1.x">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<td width="20%" align="left">
<a href="indexs15.html">Prev</a> </td>
<th width="60%" align="center"> </th>
-<td width="20%" align="right"> <a href="apas17.html">Next</a>
+<td width="20%" align="right"> <a href="apas02.html">Next</a>
</td>
</tr>
</table>
<td width="40%" align="left">
<a href="indexs15.html">Prev</a> </td>
<td width="20%" align="center"><a href="index.html">Home</a></td>
-<td width="40%" align="right"> <a href="apas17.html">Next</a>
+<td width="40%" align="right"> <a href="apas02.html">Next</a>
</td>
</tr>
<tr>
<link rel="home" href="index.html" title="The GNOME Handbook of Writing Software Documentation">
<link rel="up" href="apa.html" title="A. Document Templates">
<link rel="previous" href="apa.html" title="A. Document Templates">
-<link rel="next" href="apas18.html" title="Template 2: Applet Manual For GNOME 2.x">
+<link rel="next" href="apas03.html" title="Template 2: Applet Manual For GNOME 2.x">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<td width="20%" align="left">
<a href="apa.html">Prev</a> </td>
<th width="60%" align="center">A. Document Templates</th>
-<td width="20%" align="right"> <a href="apas18.html">Next</a>
+<td width="20%" align="right"> <a href="apas03.html">Next</a>
</td>
</tr>
</table>
<td width="40%" align="left">
<a href="apa.html">Prev</a> </td>
<td width="20%" align="center"><a href="index.html">Home</a></td>
-<td width="40%" align="right"> <a href="apas18.html">Next</a>
+<td width="40%" align="right"> <a href="apas03.html">Next</a>
</td>
</tr>
<tr>
<meta name="generator" content="DocBook XSL Stylesheets V1.40">
<link rel="home" href="index.html" title="The GNOME Handbook of Writing Software Documentation">
<link rel="up" href="apa.html" title="A. Document Templates">
-<link rel="previous" href="apas17.html" title="Template 2: Applet Manual For GNOME 1.x">
+<link rel="previous" href="apas02.html" title="Template 2: Applet Manual For GNOME 1.x">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<tr><th colspan="3" align="center">Template 2: Applet Manual For GNOME 2.x</th></tr>
<tr>
<td width="20%" align="left">
-<a href="apas17.html">Prev</a> </td>
+<a href="apas02.html">Prev</a> </td>
<th width="60%" align="center">A. Document Templates</th>
<td width="20%" align="right"> </td>
</tr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
-<a href="apas17.html">Prev</a> </td>
+<a href="apas02.html">Prev</a> </td>
<td width="20%" align="center"><a href="index.html">Home</a></td>
<td width="40%" align="right"> </td>
</tr>
<dd><dl>
<dt> <a href="apa.html#template1">Template 1: Application Manual</a>
</dt>
-<dt> <a href="apas17.html">Template 2: Applet Manual For GNOME 1.x</a>
+<dt> <a href="apas02.html">Template 2: Applet Manual For GNOME 1.x</a>
</dt>
-<dt> <a href="apas18.html">Template 2: Applet Manual For GNOME 2.x</a>
+<dt> <a href="apas03.html">Template 2: Applet Manual For GNOME 2.x</a>
</dt>
</dl></dd>
</dl>
<a name="notation"></a>Notation and Conventions</h3></div></div>
<p>
This Handbook uses the following notation:
- <div class="informaltable" id="id2781469">
-<a name="id2781469"></a><table border="0">
+ <div class="informaltable" id="id2782184">
+<a name="id2782184"></a><table border="0">
<colgroup>
<col>
<col>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2779850"></a>Note</h3>
+<a name="id2780566"></a>Note</h3>
<p>
Note that the information in the
<i>DocTable</i> may not always be up-to-date
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2779939"></a>NOTE</h3>
+<a name="id2780654"></a>NOTE</h3>
<p>
To get started writing for the GDP you do not need to rush
out and learn DocBook - if you feel it is too much to handle
</p>
<div class="itemizedlist"><ul>
<li style="list-style-type: opencircle"><p>
-<a name="id2780350"></a>
+<a name="id2781065"></a>
Download <a href="http://www.labs.redhat.com/png/png-support.html" target="_top">the
GDP DocBook DTD for PNG support</a> and install it
where you keep your DTD's. (On Red Hat use <tt>/usr/lib/sgml/</tt>.) Note that
recommended that you use version 3.1
</p></li>
<li style="list-style-type: disc"><p>
-<a name="id2780529"></a>
+<a name="id2781244"></a>
Add the new DTD to your SGML CATALOG file. The location
of your SGML CATALOG file may vary depending upon your
distribution. (On Red Hat it is usually in
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2902525"></a>NOTE</h3>
+<a name="id2903240"></a>NOTE</h3>
<p>
The html files you get will not look quite the same as the
documentation distributed with GNOME unless you have the
</p>
<div class="itemizedlist"><ul>
<li style="list-style-type: disc"><p>
-<a name="id2902813"></a>
+<a name="id2903528"></a>
<a href="http://www.docbook.org" target="_top">http://www.docbook.org</a> - Norman
Walsh's <i>DocBook: The Definitive
Guide</i>. Online O'Reilly book on using
too formal for a beginner.
</p></li>
<li style="list-style-type: disc"><p>
-<a name="id2902868"></a>
+<a name="id2903583"></a>
<a href="http://www.oswg.org/oswg-nightly/oswg/en_US.ISO_8859-1/articles/DocBook-Intro/docbook-intro/index.html" target="_top">A Practical Introduction to DocBook</a>
- The Open Source Writers Group's introduction to using
DocBook. This is an excellent HOW-TO type article on
getting started.
</p></li>
<li style="list-style-type: disc"><p>
-<a name="id2902908"></a>
+<a name="id2903624"></a>
<a href="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro/docbook-intro.html" target="_top">Getting Going with DocBook: Notes for
Hackers</a> - Mark Galassi's introduction to DocBook
for hackers. This has to be one of the first
was.
</p></li>
<li style="list-style-type: disc"><p>
-<a name="id2902948"></a>
+<a name="id2903663"></a>
<a href="http://www.freebsd.org/tutorials/docproj-primer/" target="_top">
FreeBSD Documentation Project Primer for New
Contributors</a> - FreeBSD documentation project
documentation authors write correct and consistent DocBook:
</p>
<div class="itemizedlist"><ul><li style="list-style-type: disc"><p>
-<a name="id2903014"></a>
+<a name="id2903730"></a>
<a href="indexs04.html" title="DocBook Basics ">the section called “DocBook Basics ”</a> - Descriptions of
commonly used DocBook tags.
</p></li></ul></div>
</p>
<div class="variablelist"><dl>
<dt>
-<a name="id2905520"></a><span class="term"> <i>Minimization</i></span>
+<a name="id2906235"></a><span class="term"> <i>Minimization</i></span>
</dt>
<dd><p>
-<a name="id2905538"></a>
+<a name="id2906254"></a>
It is possible with some implementations of SGML to use
minimizations to close elements in a document by using
</>, for example:
Modify->Normalize.
</p></dd>
<dt>
-<a name="id2905653"></a><span class="term"> <i>Self-closing tags</i></span>
+<a name="id2906368"></a><span class="term"> <i>Self-closing tags</i></span>
</dt>
<dd><p>
-<a name="id2905672"></a>
+<a name="id2906388"></a>
Also, in SGML some tags are allowed not to have closing
tags. For example, it is legal for
<tt><xref></tt> not to have a closing tag:
slash!).
</p></dd>
<dt>
-<a name="id2905735"></a><span class="term"> <i>Case sensitive tags</i></span>
+<a name="id2906451"></a><span class="term"> <i>Case sensitive tags</i></span>
</dt>
<dd><p>
-<a name="id2905755"></a>
+<a name="id2906470"></a>
In XML, unlike SGML, tags are case-senstive
<tt><title></tt> and
<tt><TITLE></tt> are different tags!
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2906259"></a>NOTE</h3>
+<a name="id2906974"></a>NOTE</h3>
<p>
Notice in this example that the screenshot file name does
not include the file type extension -- to find out
and commands entered by user.
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2906499"></a>NOTE</h3>
+<a name="id2907214"></a>NOTE</h3>
<p>
Note that both <tt><programlisting></tt>
and <tt><screen></tt> preserve linebreaks,
</p>
<div class="variablelist"><dl>
<dt>
-<a name="id2906618"></a><span class="term"> <tt><itemizedlist></tt></span>
+<a name="id2907333"></a><span class="term"> <tt><itemizedlist></tt></span>
</dt>
<dd>
<p>
-<a name="id2906638"></a>
+<a name="id2907353"></a>
This is the simplest unnumbered list, parallel to
<tt><ul></tt> in HTML. Here is an example:
<pre class="programlisting">
</p>
<div class="itemizedlist"><ul>
<li><p>
-<a name="id2906678"></a>
+<a name="id2907394"></a>
Show backup files --
This will show any backup file that might be on
your system.
</p></li>
<li><p>
-<a name="id2906737"></a>
+<a name="id2907453"></a>
Show hidden files --
This will show all "dot files" or files that
begin with a dot. This files typically include
configuration files and directories.
</p></li>
<li><p>
-<a name="id2906770"></a>
+<a name="id2907485"></a>
Mix files and directories
-- This option will display files and
directories in the order you sort them instead
</p>
</dd>
<dt>
-<a name="id2906945"></a><span class="term"> <tt><orderedlist></tt></span>
+<a name="id2907661"></a><span class="term"> <tt><orderedlist></tt></span>
</dt>
<dd><p>
-<a name="id2906964"></a>
+<a name="id2907679"></a>
This list is completely analogous to
<tt><itemizedlist></tt> and has the same
syntax, but it produces numbered list. By default,
<tt>lowerroman</tt>.
</p></dd>
<dt>
-<a name="id2907044"></a><span class="term"> <tt><variablelist></tt></span>
+<a name="id2907760"></a><span class="term"> <tt><variablelist></tt></span>
</dt>
<dd><p>
-<a name="id2907064"></a> This list is used when each entry is
+<a name="id2907780"></a> This list is used when each entry is
rather long, so it should be formatted as a block of text
with some subtitle, like a small subsection. The
<tt><variablelist></tt> is more complicated
<a name="gui"></a>GUI elements</h4></div></div>
<div class="itemizedlist"><ul>
<li><p>
-<a name="id2907235"></a>
+<a name="id2907951"></a>
<tt><guibutton></tt> -- used for
buttons, including checkbuttons and radio buttons
</p></li>
<li><p>
-<a name="id2907261"></a>
+<a name="id2907977"></a>
<tt><guimenu></tt>,
<tt><guisubmenu></tt> --used for
top-level menus and submenus
<guimenu>Main Menu</guimenu></tt>
</p></li>
<li><p>
-<a name="id2907310"></a>
+<a name="id2908026"></a>
<tt><guimenuitem></tt>--an entry in a
menu
</p></li>
<li><p>
-<a name="id2907336"></a>
+<a name="id2908052"></a>
<tt><guiicon></tt>--an icon
</p></li>
<li><p>
-<a name="id2907360"></a>
+<a name="id2908075"></a>
<tt><guilabel></tt>--for items which have
labels, like tabs, or bounding boxes.
</p></li>
<li><p>
-<a name="id2907385"></a>
+<a name="id2908101"></a>
<tt><interface></tt>-- for most everything
else... a window, a dialog box, the Panel, etc.
</p></li>
</p>
<div class="itemizedlist"><ul>
<li><p>
-<a name="id2907781"></a> <tt><filename></tt> -- used
+<a name="id2908496"></a> <tt><filename></tt> -- used
for filenames,
e.g.<tt><filename></tt>
foo.sgml
produces: <tt>foo.sgml</tt>.
</p></li>
<li><p>
-<a name="id2907836"></a> <tt><filename
+<a name="id2908551"></a> <tt><filename
class="directory"></tt> -- used for
directories, e.g.<tt><filename
class="directory"></tt>/usr/bin
produces: <tt>/usr/bin</tt>.
</p></li>
<li><p>
-<a name="id2907897"></a>
+<a name="id2908612"></a>
<tt><application></tt> -- used for
application names,
e.g. <tt><application></tt>Gnumeric
Gnumeric.
</p></li>
<li><p>
-<a name="id2907952"></a>
+<a name="id2908667"></a>
<tt><envar></tt> -- used for
environment variables, e.g.
<tt><envar></tt>PATH<tt></envar></tt>.
</p></li>
<li><p>
-<a name="id2907993"></a>
+<a name="id2908708"></a>
<tt><command></tt> -- used for
commands entered on command line, e.g.
<tt><command></tt>make install
<b>make install</b>.
</p></li>
<li><p>
-<a name="id2908048"></a>
+<a name="id2908763"></a>
<tt><replaceable></tt> -- used for
replaceable text, e.g.
<tt><command></tt>db2html<tt><replaceable></tt>
</p>
<div class="itemizedlist"><ul>
<li><p>
-<a name="id2908517"></a>
+<a name="id2909232"></a>
<tt>&amp;</tt> -- ampersend (&)
</p></li>
<li><p>
-<a name="id2908536"></a>
+<a name="id2909251"></a>
<tt>&lt;</tt> -- left angle bracket (<)
</p></li>
<li><p>
-<a name="id2908555"></a>
+<a name="id2909270"></a>
<tt>&copy;</tt> -- copyright sign (©)
</p></li>
<li><p>
-<a name="id2908574"></a>
+<a name="id2909289"></a>
<tt>&mdash;</tt> -- long dash (--)
</p></li>
<li><p>
-<a name="id2908593"></a>
+<a name="id2909308"></a>
<tt>&hellip;</tt> -- ellipsis (...)
</p></li>
</ul></div>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2909053"></a>Documentation Availability</h3>
+<a name="id2909768"></a>Documentation Availability</h3>
<p>
Applications and applets should not rely on documentation
which is only available on the internet. All manuals and
</div>
<p> Application manuals should be based on the template in
<a href="apa.html#template1" title="Template 1: Application Manual">the section called “Template 1: Application Manual”</a>. Applet manuals should be based on
- the templates in <a href="apas17.html" title="Template 2: Applet Manual For GNOME 1.x">the section called “Template 2: Applet Manual For GNOME 1.x”</a> for GNOME
- versions 1.x and the templates in <a href="apas18.html" title="Template 2: Applet Manual For GNOME 2.x">the section called “Template 2: Applet Manual For GNOME 2.x”</a>
+ the templates in <a href="apas02.html" title="Template 2: Applet Manual For GNOME 1.x">the section called “Template 2: Applet Manual For GNOME 1.x”</a> for GNOME
+ versions 1.x and the templates in <a href="apas03.html" title="Template 2: Applet Manual For GNOME 2.x">the section called “Template 2: Applet Manual For GNOME 2.x”</a>
for GNOME versions 2.x.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2909093"></a>Manuals For Large Applications</h3>
+<a name="id2909809"></a>Manuals For Large Applications</h3>
<p>
Manuals for very large applications, such as GNOME Workshop
components should be a <tt><book></tt> (and thus
</div>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2909208"></a>Applet Manuals in GNOME 2.0</h3>
+<a name="id2909924"></a>Applet Manuals in GNOME 2.0</h3>
<p>
Note that applet manuals in GNOME 2.0 are treated in a special
way. The manuals for all applets are merged into a single
<a name="listingdocsinhelpmenu"></a>Listing Documents in the Help Menu</h2></div></div>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2909332"></a>Developer Information</h3>
+<a name="id2910047"></a>Developer Information</h3>
<p>
This section is for developers. Documentation authors
generally do not need to know this material.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2909523"></a>Note</h3>
+<a name="id2910238"></a>Note</h3>
<p>
If the help files are not present in the correct directory, the
menu items will NOT appear when the program is run.
<a name="applicationhelpbuttons"></a>Application Help Buttons</h2></div></div>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2909691"></a>Developer Information</h3>
+<a name="id2910407"></a>Developer Information</h3>
<p>
This section is for developers. Documentation authors
generally do not need to know this material.
</pre>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2909829"></a>NOTE</h3>
+<a name="id2910544"></a>NOTE</h3>
<p>
The example above is in the C language, please refer to other
documentation or forums for other GNOME language bindings.
<a name="appletmenu"></a>Adding Documentation to an Applet Menu</h3></div></div>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">
-<a name="id2910081"></a>Developer Information</h3>
+<a name="id2910796"></a>Developer Information</h3>
<p>
This section is for developers. Documentation authors
generally do not need to know this material.
you'll have to juggle a number of other extremes as you write:
<div class="itemizedlist"><ul>
<li><p>
-<a name="id2910632"></a>
+<a name="id2911347"></a>
Documents should be complete, yet concise. You should
describe every feature, but you'll have decide how much
detail is really necessary. It's not, for example,
items that are more complex.
</p></li>
<li><p>
-<a name="id2910659"></a>
+<a name="id2911374"></a>
Be engaging and friendly, yet professional. Games
documents may be less formal than productivity
application documents (people don't
allusions or puns.
</p></li>
<li><p>
-<a name="id2910698"></a>
+<a name="id2911414"></a>
Examples, tips, notes, and screenshots are useful to
break up long stretches of text, but too many can get in
the way, and make your documents too choppy to read.
tabs, it's not usually necessary to have one for each.
</p></li>
<li><p>
-<a name="id2910722"></a>
+<a name="id2911438"></a>
The GDP strives to have all of its documentation conform
to certain standards of style and content, but every
document (and every writer) is different. You will need
</p>
<h3>Appendices</h3>
<p class="toc">A <a href="#sec-bibliography">References</a><br> A.1 <a href="#sec-existing-stds">Normative References</a><br> A.2 <a href="#null">Other References</a><br>B <a href="#CharClasses">Character Classes</a><br>C <a href="#sec-xml-and-sgml">XML and SGML</a> (Non-Normative)<br>D <a href="#sec-entexpand">Expansion of Entity and Character References</a> (Non-Normative)<br>E <a href="#determinism">Deterministic Content Models</a> (Non-Normative)<br>F <a href="#sec-guessing">Autodetection
-of Character Encodings</a> (Non-Normative)<br> F.1 <a href="#sec-guessing-no-ext-info">Detection Without External Encoding Information</a><br> F.2 <a href="#sec-guessing-with-ext-info">Priorities in the Presence of External Encoding Information</a><br>G <a href="#sec-xml-wg">W3C XML Working Group</a> (Non-Normative)<br>H <a href="#sec-core-wg">W3C XML Core Group</a> (Non-Normative)<br>I <a href="#id2675479">Production Notes</a> (Non-Normative)<br>
+of Character Encodings</a> (Non-Normative)<br> F.1 <a href="#sec-guessing-no-ext-info">Detection Without External Encoding Information</a><br> F.2 <a href="#sec-guessing-with-ext-info">Priorities in the Presence of External Encoding Information</a><br>G <a href="#sec-xml-wg">W3C XML Working Group</a> (Non-Normative)<br>H <a href="#sec-core-wg">W3C XML Core Group</a> (Non-Normative)<br>I <a href="#id2675459">Production Notes</a> (Non-Normative)<br>
</p>
</div>
<hr>
</tr>
<tr valign="baseline">
<td class="diff-add">
-<a name="NT-DeclSep"></a>[28] </td>
+<a name="NT-DeclSep"></a>[28a] </td>
<td class="diff-add"><code>DeclSep</code></td>
<td class="diff-add"> ::= </td>
<td class="diff-add"><code><a href="#NT-PEReference">PEReference</a> | <a href="#NT-S">S</a></code></td>
<div class="diff-add"><div class="div1">
<h2>
-<a name="id2675479"></a>I Production Notes (Non-Normative)</h2>
+<a name="id2675459"></a>I Production Notes (Non-Normative)</h2>
<p>This Second Edition was encoded in the <a href="http://www.w3.org/XML/1998/06/xmlspec-v21.dtd">XMLspec
DTD</a> (which has <a href="http://www.w3.org/XML/1998/06/xmlspec-report-v21.htm">documentation</a>
available). The HTML versions were produced with a combination of the <a href="http://www.w3.org/XML/1998/06/xmlspec.xsl">xmlspec.xsl</a>, <a href="http://www.w3.org/XML/1998/06/diffspec.xsl">diffspec.xsl</a>,
</p>
<h3>Appendices</h3>
<p class="toc">A <a href="#sec-bibliography">References</a><br> A.1 <a href="#sec-existing-stds">Normative References</a><br> A.2 <a href="#null">Other References</a><br>B <a href="#CharClasses">Character Classes</a><br>C <a href="#sec-xml-and-sgml">XML and SGML</a> (Non-Normative)<br>D <a href="#sec-entexpand">Expansion of Entity and Character References</a> (Non-Normative)<br>E <a href="#determinism">Deterministic Content Models</a> (Non-Normative)<br>F <a href="#sec-guessing">Autodetection
-of Character Encodings</a> (Non-Normative)<br> F.1 <a href="#sec-guessing-no-ext-info">Detection Without External Encoding Information</a><br> F.2 <a href="#sec-guessing-with-ext-info">Priorities in the Presence of External Encoding Information</a><br>G <a href="#sec-xml-wg">W3C XML Working Group</a> (Non-Normative)<br>H <a href="#sec-core-wg">W3C XML Core Group</a> (Non-Normative)<br>I <a href="#id2675479">Production Notes</a> (Non-Normative)<br>
+of Character Encodings</a> (Non-Normative)<br> F.1 <a href="#sec-guessing-no-ext-info">Detection Without External Encoding Information</a><br> F.2 <a href="#sec-guessing-with-ext-info">Priorities in the Presence of External Encoding Information</a><br>G <a href="#sec-xml-wg">W3C XML Working Group</a> (Non-Normative)<br>H <a href="#sec-core-wg">W3C XML Core Group</a> (Non-Normative)<br>I <a href="#id2675459">Production Notes</a> (Non-Normative)<br>
</p>
</div>
<hr>
</tr>
<tr valign="baseline">
<td>
-<a name="NT-DeclSep"></a>[28] </td>
+<a name="NT-DeclSep"></a>[28a] </td>
<td><code>DeclSep</code></td>
<td> ::= </td>
<td><code><a href="#NT-PEReference">PEReference</a> | <a href="#NT-S">S</a></code></td>
<div class="div1">
<h2>
-<a name="id2675479"></a>I Production Notes (Non-Normative)</h2>
+<a name="id2675459"></a>I Production Notes (Non-Normative)</h2>
<p>This Second Edition was encoded in the <a href="http://www.w3.org/XML/1998/06/xmlspec-v21.dtd">XMLspec
DTD</a> (which has <a href="http://www.w3.org/XML/1998/06/xmlspec-report-v21.htm">documentation</a>
available). The HTML versions were produced with a combination of the <a href="http://www.w3.org/XML/1998/06/xmlspec.xsl">xmlspec.xsl</a>, <a href="http://www.w3.org/XML/1998/06/diffspec.xsl">diffspec.xsl</a>,