mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-03-27 18:50:07 +03:00
fixed #127877, never output " in element content this changes the
* entities.c: fixed #127877, never output " in element content * result/isolat3 result/slashdot16.xml result/noent/isolat3 result/noent/slashdot16.xml result/valid/REC-xml-19980210.xml result/valid/index.xml result/valid/xlink.xml: this changes the output of a few tests Daniel
This commit is contained in:
parent
bd2904b9c3
commit
d45325589d
@ -1,3 +1,11 @@
|
||||
Tue Nov 25 18:39:44 CET 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* entities.c: fixed #127877, never output " in element content
|
||||
* result/isolat3 result/slashdot16.xml result/noent/isolat3
|
||||
result/noent/slashdot16.xml result/valid/REC-xml-19980210.xml
|
||||
result/valid/index.xml result/valid/xlink.xml: this changes the
|
||||
output of a few tests
|
||||
|
||||
Tue Nov 25 16:36:21 CET 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* include/libxml/schemasInternals.h include/libxml/xmlerror.h
|
||||
|
@ -625,6 +625,7 @@ xmlEncodeSpecialChars(xmlDocPtr doc ATTRIBUTE_UNUSED, const xmlChar *input) {
|
||||
*out++ = 'm';
|
||||
*out++ = 'p';
|
||||
*out++ = ';';
|
||||
#if 0
|
||||
} else if (*cur == '"') {
|
||||
*out++ = '&';
|
||||
*out++ = 'q';
|
||||
@ -632,6 +633,7 @@ xmlEncodeSpecialChars(xmlDocPtr doc ATTRIBUTE_UNUSED, const xmlChar *input) {
|
||||
*out++ = 'o';
|
||||
*out++ = 't';
|
||||
*out++ = ';';
|
||||
#endif
|
||||
} else if (*cur == '\r') {
|
||||
*out++ = '&';
|
||||
*out++ = '#';
|
||||
|
@ -4,7 +4,7 @@
|
||||
<!ENTITY rights "All rights reserved" >
|
||||
<!ENTITY book "La Peste: Albert Camus,
|
||||
© 1947 %pub;. &rights;" >]]></eg>
|
||||
then the replacement text for the entity "<code>book</code>" is:
|
||||
then the replacement text for the entity "<code>book</code>" is:
|
||||
<eg>La Peste: Albert Camus,
|
||||
© 1947 Éditions Gallimard. &rights;</eg>
|
||||
</rec>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<!ENTITY rights "All rights reserved" >
|
||||
<!ENTITY book "La Peste: Albert Camus,
|
||||
© 1947 %pub;. &rights;" >]]></eg>
|
||||
then the replacement text for the entity "<code>book</code>" is:
|
||||
then the replacement text for the entity "<code>book</code>" is:
|
||||
<eg>La Peste: Albert Camus,
|
||||
© 1947 Éditions Gallimard. &rights;</eg>
|
||||
</rec>
|
||||
|
Binary file not shown.
Binary file not shown.
@ -249,7 +249,7 @@ Allow normalization of Unicode characters. move def of systemliteral
|
||||
into section on literals.</sitem>
|
||||
<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
|
||||
Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
|
||||
Paul Grosso, and self. Among other things: give in on "well formed"
|
||||
Paul Grosso, and self. Among other things: give in on "well formed"
|
||||
(Terry is right), tentatively rename QuotedCData as AttValue
|
||||
and Literal as EntityValue to be more informative, since attribute
|
||||
values are the <emph>only</emph> place QuotedCData was used, and
|
||||
@ -289,7 +289,7 @@ Reserve entity names of the form u-NNNN.
|
||||
Clarify relative URLs.
|
||||
And some of my own:
|
||||
Correct productions for content model: model cannot
|
||||
consist of a name, so "elements ::= cp" is no good.
|
||||
consist of a name, so "elements ::= cp" is no good.
|
||||
</sitem>
|
||||
<sitem>1996-11-11 : CMSMcQ : revise for style.
|
||||
Add new rhs to entity declaration, for parameter entities.</sitem>
|
||||
@ -339,7 +339,7 @@ mechanism.</sitem>
|
||||
<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
|
||||
at least temporarily, and revise quickly</sitem>
|
||||
<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
|
||||
<sitem>1996-10-08 : TB : turn "current" attribute on div type into
|
||||
<sitem>1996-10-08 : TB : turn "current" attribute on div type into
|
||||
CDATA</sitem>
|
||||
<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
|
||||
<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
|
||||
@ -550,7 +550,7 @@ constraints.</termdef></p>
|
||||
|
||||
<p>Each XML document has both a logical and a physical structure.
|
||||
Physically, the document is composed of units called <termref def="dt-entity">entities</termref>. An entity may <termref def="dt-entref">refer</termref> to other entities to cause their
|
||||
inclusion in the document. A document begins in a "root" or <termref def="dt-docent">document entity</termref>.
|
||||
inclusion in the document. A document begins in a "root" or <termref def="dt-docent">document entity</termref>.
|
||||
Logically, the document is composed of declarations, elements,
|
||||
comments,
|
||||
character references, and
|
||||
@ -634,7 +634,7 @@ is an atomic unit of text as specified by
|
||||
ISO/IEC 10646 <bibref ref="ISO10646"/>.
|
||||
Legal characters are tab, carriage return, line feed, and the legal
|
||||
graphic characters of Unicode and ISO/IEC 10646.
|
||||
The use of "compatibility characters", as defined in section 6.8
|
||||
The use of "compatibility characters", as defined in section 6.8
|
||||
of <bibref ref="Unicode"/>, is discouraged.
|
||||
</termdef>
|
||||
<scrap lang="ebnf" id="char32">
|
||||
@ -689,7 +689,7 @@ are given in <specref ref="CharClasses"/>.</p>
|
||||
beginning with a letter or one of a few punctuation characters, and continuing
|
||||
with letters, digits, hyphens, underscores, colons, or full stops, together
|
||||
known as name characters.</termdef>
|
||||
Names beginning with the string "<code>xml</code>", or any string
|
||||
Names beginning with the string "<code>xml</code>", or any string
|
||||
which would match <code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>, are
|
||||
reserved for standardization in this or future versions of this
|
||||
specification.
|
||||
@ -743,39 +743,39 @@ can be parsed without scanning for markup.
|
||||
<scrap lang="ebnf">
|
||||
<head>Literals</head>
|
||||
<prod id="NT-EntityValue"><lhs>EntityValue</lhs>
|
||||
<rhs>'"'
|
||||
([^%&"]
|
||||
<rhs>'"'
|
||||
([^%&"]
|
||||
| <nt def="NT-PEReference">PEReference</nt>
|
||||
| <nt def="NT-Reference">Reference</nt>)*
|
||||
'"'
|
||||
'"'
|
||||
</rhs>
|
||||
<rhs>|
|
||||
"'"
|
||||
"'"
|
||||
([^%&']
|
||||
| <nt def="NT-PEReference">PEReference</nt>
|
||||
| <nt def="NT-Reference">Reference</nt>)*
|
||||
"'"</rhs>
|
||||
"'"</rhs>
|
||||
</prod>
|
||||
<prod id="NT-AttValue"><lhs>AttValue</lhs>
|
||||
<rhs>'"'
|
||||
([^<&"]
|
||||
<rhs>'"'
|
||||
([^<&"]
|
||||
| <nt def="NT-Reference">Reference</nt>)*
|
||||
'"'
|
||||
'"'
|
||||
</rhs>
|
||||
<rhs>|
|
||||
"'"
|
||||
"'"
|
||||
([^<&']
|
||||
| <nt def="NT-Reference">Reference</nt>)*
|
||||
"'"</rhs>
|
||||
"'"</rhs>
|
||||
</prod>
|
||||
<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
|
||||
<rhs>('"' [^"]* '"') | ("'" [^']* "'")
|
||||
<rhs>('"' [^"]* '"') | ("'" [^']* "'")
|
||||
</rhs>
|
||||
</prod>
|
||||
<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
|
||||
<rhs>'"' <nt def="NT-PubidChar">PubidChar</nt>*
|
||||
'"'
|
||||
| "'" (<nt def="NT-PubidChar">PubidChar</nt> - "'")* "'"</rhs>
|
||||
<rhs>'"' <nt def="NT-PubidChar">PubidChar</nt>*
|
||||
'"'
|
||||
| "'" (<nt def="NT-PubidChar">PubidChar</nt> - "'")* "'"</rhs>
|
||||
</prod>
|
||||
<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
|
||||
<rhs>#x20 | #xD | #xA
|
||||
@ -822,15 +822,15 @@ If they are needed elsewhere,
|
||||
they must be <termref def="dt-escape">escaped</termref>
|
||||
using either <termref def="dt-charref">numeric character references</termref>
|
||||
or the strings
|
||||
"<code>&amp;</code>" and "<code>&lt;</code>" respectively.
|
||||
"<code>&amp;</code>" and "<code>&lt;</code>" respectively.
|
||||
The right angle
|
||||
bracket (>) may be represented using the string
|
||||
"<code>&gt;</code>", and must, <termref def="dt-compat">for
|
||||
"<code>&gt;</code>", and must, <termref def="dt-compat">for
|
||||
compatibility</termref>,
|
||||
be escaped using
|
||||
"<code>&gt;</code>" or a character reference
|
||||
"<code>&gt;</code>" or a character reference
|
||||
when it appears in the string
|
||||
"<code>]]></code>"
|
||||
"<code>]]></code>"
|
||||
in content,
|
||||
when that string is not marking the end of
|
||||
a <termref def="dt-cdsection">CDATA section</termref>.
|
||||
@ -841,12 +841,12 @@ is any string of characters which does
|
||||
not contain the start-delimiter of any markup.
|
||||
In a CDATA section, character data
|
||||
is any string of characters not including the CDATA-section-close
|
||||
delimiter, "<code>]]></code>".</p>
|
||||
delimiter, "<code>]]></code>".</p>
|
||||
<p>
|
||||
To allow attribute values to contain both single and double quotes, the
|
||||
apostrophe or single-quote character (') may be represented as
|
||||
"<code>&apos;</code>", and the double-quote character (") as
|
||||
"<code>&quot;</code>".
|
||||
"<code>&apos;</code>", and the double-quote character (") as
|
||||
"<code>&quot;</code>".
|
||||
<scrap lang="ebnf">
|
||||
<head>Character Data</head>
|
||||
<prod id="NT-CharData">
|
||||
@ -870,7 +870,7 @@ data</termref>; an XML
|
||||
processor may, but need not, make it possible for an application to
|
||||
retrieve the text of comments.
|
||||
<termref def="dt-compat">For compatibility</termref>, the string
|
||||
"<code>--</code>" (double-hyphen) must not occur within
|
||||
"<code>--</code>" (double-hyphen) must not occur within
|
||||
comments.
|
||||
<scrap lang="ebnf">
|
||||
<head>Comments</head>
|
||||
@ -911,7 +911,7 @@ PIs are not part of the document's <termref def="dt-chardata">character
|
||||
data</termref>, but must be passed through to the application. The
|
||||
PI begins with a target (<nt def="NT-PITarget">PITarget</nt>) used
|
||||
to identify the application to which the instruction is directed.
|
||||
The target names "<code>XML</code>", "<code>xml</code>", and so on are
|
||||
The target names "<code>XML</code>", "<code>xml</code>", and so on are
|
||||
reserved for standardization in this or future versions of this
|
||||
specification.
|
||||
The
|
||||
@ -929,8 +929,8 @@ may occur
|
||||
anywhere character data may occur; they are
|
||||
used to escape blocks of text containing characters which would
|
||||
otherwise be recognized as markup. CDATA sections begin with the
|
||||
string "<code><![CDATA[</code>" and end with the string
|
||||
"<code>]]></code>":
|
||||
string "<code><![CDATA[</code>" and end with the string
|
||||
"<code>]]></code>":
|
||||
<scrap lang="ebnf">
|
||||
<head>CDATA Sections</head>
|
||||
<prod id="NT-CDSect"><lhs>CDSect</lhs>
|
||||
@ -953,12 +953,12 @@ string "<code><![CDATA[</code>" and end with the string
|
||||
Within a CDATA section, only the <nt def="NT-CDEnd">CDEnd</nt> string is
|
||||
recognized as markup, so that left angle brackets and ampersands may occur in
|
||||
their literal form; they need not (and cannot) be escaped using
|
||||
"<code>&lt;</code>" and "<code>&amp;</code>". CDATA sections
|
||||
"<code>&lt;</code>" and "<code>&amp;</code>". CDATA sections
|
||||
cannot nest.</termdef>
|
||||
</p>
|
||||
|
||||
<p>An example of a CDATA section, in which "<code><greeting></code>" and
|
||||
"<code></greeting></code>"
|
||||
<p>An example of a CDATA section, in which "<code><greeting></code>" and
|
||||
"<code></greeting></code>"
|
||||
are recognized as <termref def="dt-chardata">character data</termref>, not
|
||||
<termref def="dt-markup">markup</termref>:
|
||||
<eg><![CDATA[<greeting>Hello, world!</greeting>]]></eg>
|
||||
@ -983,13 +983,13 @@ and so is this:
|
||||
]]></eg>
|
||||
</p>
|
||||
|
||||
<p>The version number "<code>1.0</code>" should be used to indicate
|
||||
<p>The version number "<code>1.0</code>" should be used to indicate
|
||||
conformance to this version of this specification; it is an error
|
||||
for a document to use the value "<code>1.0</code>"
|
||||
for a document to use the value "<code>1.0</code>"
|
||||
if it does not conform to this version of this specification.
|
||||
It is the intent
|
||||
of the XML working group to give later versions of this specification
|
||||
numbers other than "<code>1.0</code>", but this intent does not
|
||||
numbers other than "<code>1.0</code>", but this intent does not
|
||||
indicate a
|
||||
commitment to produce any future versions of XML, nor if any are produced, to
|
||||
use any particular numbering scheme.
|
||||
@ -1030,7 +1030,7 @@ the first <termref def="dt-element">element</termref> in the document.
|
||||
<prod id="NT-VersionInfo"><lhs>VersionInfo</lhs>
|
||||
<rhs><nt def="NT-S">S</nt> 'version' <nt def="NT-Eq">Eq</nt>
|
||||
(' <nt def="NT-VersionNum">VersionNum</nt> '
|
||||
| " <nt def="NT-VersionNum">VersionNum</nt> ")</rhs>
|
||||
| " <nt def="NT-VersionNum">VersionNum</nt> ")</rhs>
|
||||
</prod>
|
||||
<prod id="NT-Eq"><lhs>Eq</lhs>
|
||||
<rhs><nt def="NT-S">S</nt>? '=' <nt def="NT-S">S</nt>?</rhs></prod>
|
||||
@ -1183,7 +1183,7 @@ not only <emph>between</emph> markup declarations.</p>
|
||||
<greeting>Hello, world!</greeting>
|
||||
]]></eg>
|
||||
The <termref def="dt-sysid">system identifier</termref>
|
||||
"<code>hello.dtd</code>" gives the URI of a DTD for the document.</p>
|
||||
"<code>hello.dtd</code>" gives the URI of a DTD for the document.</p>
|
||||
<p>The declarations can also be given locally, as in this
|
||||
example:
|
||||
<eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
|
||||
@ -1217,20 +1217,20 @@ the <termref def="dt-docent">document entity</termref>.
|
||||
<rhs>
|
||||
<nt def="NT-S">S</nt>
|
||||
'standalone' <nt def="NT-Eq">Eq</nt>
|
||||
(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))
|
||||
(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))
|
||||
</rhs>
|
||||
<vc def="vc-check-rmd"/></prod>
|
||||
</prodgroup>
|
||||
</scrap></p>
|
||||
<p>
|
||||
In a standalone document declaration, the value "<code>yes</code>" indicates
|
||||
In a standalone document declaration, the value "<code>yes</code>" indicates
|
||||
that there
|
||||
are no markup declarations external to the <termref def="dt-docent">document
|
||||
entity</termref> (either in the DTD external subset, or in an
|
||||
external parameter entity referenced from the internal subset)
|
||||
which affect the information passed from the XML processor to
|
||||
the application.
|
||||
The value "<code>no</code>" indicates that there are or may be such
|
||||
The value "<code>no</code>" indicates that there are or may be such
|
||||
external markup declarations.
|
||||
Note that the standalone document declaration only
|
||||
denotes the presence of external <emph>declarations</emph>; the presence, in a
|
||||
@ -1241,14 +1241,14 @@ does not change its standalone status.</p>
|
||||
<p>If there are no external markup declarations, the standalone document
|
||||
declaration has no meaning.
|
||||
If there are external markup declarations but there is no standalone
|
||||
document declaration, the value "<code>no</code>" is assumed.</p>
|
||||
<p>Any XML document for which <code>standalone="no"</code> holds can
|
||||
document declaration, the value "<code>no</code>" is assumed.</p>
|
||||
<p>Any XML document for which <code>standalone="no"</code> holds can
|
||||
be converted algorithmically to a standalone document,
|
||||
which may be desirable for some network delivery applications.</p>
|
||||
<vcnote id="vc-check-rmd">
|
||||
<head>Standalone Document Declaration</head>
|
||||
<p>The standalone document declaration must have
|
||||
the value "<code>no</code>" if any external markup declarations
|
||||
the value "<code>no</code>" if any external markup declarations
|
||||
contain declarations of:</p><ulist>
|
||||
<item><p>attributes with <termref def="dt-default">default</termref> values, if
|
||||
elements to which
|
||||
@ -1271,17 +1271,17 @@ directly within any instance of those types.
|
||||
</ulist>
|
||||
|
||||
</vcnote>
|
||||
<p>An example XML declaration with a standalone document declaration:<eg><?xml version="&XML.version;" standalone='yes'?></eg></p>
|
||||
<p>An example XML declaration with a standalone document declaration:<eg><?xml version="&XML.version;" standalone='yes'?></eg></p>
|
||||
</div2>
|
||||
<div2 id="sec-white-space">
|
||||
<head>White Space Handling</head>
|
||||
|
||||
<p>In editing XML documents, it is often convenient to use "white space"
|
||||
<p>In editing XML documents, it is often convenient to use "white space"
|
||||
(spaces, tabs, and blank lines, denoted by the nonterminal
|
||||
<nt def="NT-S">S</nt> in this specification) to
|
||||
set apart the markup for greater readability. Such white space is typically
|
||||
not intended for inclusion in the delivered version of the document.
|
||||
On the other hand, "significant" white space that should be preserved in the
|
||||
On the other hand, "significant" white space that should be preserved in the
|
||||
delivered version is common, for example in poetry and
|
||||
source code.</p>
|
||||
<p>An <termref def="dt-xml-proc">XML processor</termref>
|
||||
@ -1299,11 +1299,11 @@ In valid documents, this attribute, like any other, must be
|
||||
<termref def="dt-attdecl">declared</termref> if it is used.
|
||||
When declared, it must be given as an
|
||||
<termref def="dt-enumerated">enumerated type</termref> whose only
|
||||
possible values are "<code>default</code>" and "<code>preserve</code>".
|
||||
possible values are "<code>default</code>" and "<code>preserve</code>".
|
||||
For example:<eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg></p>
|
||||
<p>The value "<code>default</code>" signals that applications'
|
||||
<p>The value "<code>default</code>" signals that applications'
|
||||
default white-space processing modes are acceptable for this element; the
|
||||
value "<code>preserve</code>" indicates the intent that applications preserve
|
||||
value "<code>preserve</code>" indicates the intent that applications preserve
|
||||
all the white space.
|
||||
This declared intent is considered to apply to all elements within the content
|
||||
of the element where it is specified, unless overriden with another instance
|
||||
@ -1325,7 +1325,7 @@ carriage-return (#xD) and line-feed (#xA).</p>
|
||||
<p>To simplify the tasks of <termref def="dt-app">applications</termref>,
|
||||
wherever an external parsed entity or the literal entity value
|
||||
of an internal parsed entity contains either the literal
|
||||
two-character sequence "#xD#xA" or a standalone literal
|
||||
two-character sequence "#xD#xA" or a standalone literal
|
||||
#xD, an <termref def="dt-xml-proc">XML processor</termref> must
|
||||
pass to the application the single character #xA.
|
||||
(This behavior can
|
||||
@ -1347,7 +1347,7 @@ of any element in an XML document.
|
||||
In valid documents, this attribute, like any other, must be
|
||||
<termref def="dt-attdecl">declared</termref> if it is used.
|
||||
The values of the attribute are language identifiers as defined
|
||||
by <bibref ref="RFC1766"/>, "Tags for the Identification of Languages":
|
||||
by <bibref ref="RFC1766"/>, "Tags for the Identification of Languages":
|
||||
<scrap lang="ebnf">
|
||||
<head>Language Identification</head>
|
||||
<prod id="NT-LanguageID"><lhs>LanguageID</lhs>
|
||||
@ -1370,28 +1370,28 @@ by <bibref ref="RFC1766"/>, "Tags for the Identification of Languages"
|
||||
The <nt def="NT-Langcode">Langcode</nt> may be any of the following:
|
||||
<ulist>
|
||||
<item><p>a two-letter language code as defined by
|
||||
<bibref ref="ISO639"/>, "Codes
|
||||
for the representation of names of languages"</p></item>
|
||||
<bibref ref="ISO639"/>, "Codes
|
||||
for the representation of names of languages"</p></item>
|
||||
<item><p>a language identifier registered with the Internet
|
||||
Assigned Numbers Authority <bibref ref="IANA"/>; these begin with the
|
||||
prefix "<code>i-</code>" (or "<code>I-</code>")</p></item>
|
||||
prefix "<code>i-</code>" (or "<code>I-</code>")</p></item>
|
||||
<item><p>a language identifier assigned by the user, or agreed on
|
||||
between parties in private use; these must begin with the
|
||||
prefix "<code>x-</code>" or "<code>X-</code>" in order to ensure that they do not conflict
|
||||
prefix "<code>x-</code>" or "<code>X-</code>" in order to ensure that they do not conflict
|
||||
with names later standardized or registered with IANA</p></item>
|
||||
</ulist></p>
|
||||
<p>There may be any number of <nt def="NT-Subcode">Subcode</nt> segments; if
|
||||
the first
|
||||
subcode segment exists and the Subcode consists of two
|
||||
letters, then it must be a country code from
|
||||
<bibref ref="ISO3166"/>, "Codes
|
||||
for the representation of names of countries."
|
||||
<bibref ref="ISO3166"/>, "Codes
|
||||
for the representation of names of countries."
|
||||
If the first
|
||||
subcode consists of more than two letters, it must be
|
||||
a subcode for the language in question registered with IANA,
|
||||
unless the <nt def="NT-Langcode">Langcode</nt> begins with the prefix
|
||||
"<code>x-</code>" or
|
||||
"<code>X-</code>". </p>
|
||||
"<code>x-</code>" or
|
||||
"<code>X-</code>". </p>
|
||||
<p>It is customary to give the language code in lower case, and
|
||||
the country code (if any) in upper case.
|
||||
Note that these values, unlike other names in XML documents,
|
||||
@ -1451,8 +1451,8 @@ notes in English, the xml:lang attribute might be declared this way:
|
||||
<term>elements</term>, the boundaries of which are
|
||||
either delimited by <termref def="dt-stag">start-tags</termref>
|
||||
and <termref def="dt-etag">end-tags</termref>, or, for <termref def="dt-empty">empty</termref> elements, by an <termref def="dt-eetag">empty-element tag</termref>. Each element has a type,
|
||||
identified by name, sometimes called its "generic
|
||||
identifier" (GI), and may have a set of
|
||||
identified by name, sometimes called its "generic
|
||||
identifier" (GI), and may have a set of
|
||||
attribute specifications.</termdef> Each attribute specification
|
||||
has a <termref def="dt-attrname">name</termref> and a <termref def="dt-attrval">value</termref>.
|
||||
</p>
|
||||
@ -1541,7 +1541,7 @@ the <term>attribute specifications</term> of the element</termdef>,
|
||||
referred to as the <term>attribute name</term></termdef> and
|
||||
<termdef id="dt-attrval" term="Attribute Value">the content of the
|
||||
<nt def="NT-AttValue">AttValue</nt> (the text between the
|
||||
<code>'</code> or <code>"</code> delimiters)
|
||||
<code>'</code> or <code>"</code> delimiters)
|
||||
as the <term>attribute value</term>.</termdef>
|
||||
</p>
|
||||
<wfcnote id="uniqattspec">
|
||||
@ -1570,11 +1570,11 @@ to external entities.
|
||||
<head>No <code><</code> in Attribute Values</head>
|
||||
<p>The <termref def="dt-repltext">replacement text</termref> of any entity
|
||||
referred to directly or indirectly in an attribute
|
||||
value (other than "<code>&lt;</code>") must not contain
|
||||
value (other than "<code>&lt;</code>") must not contain
|
||||
a <code><</code>.
|
||||
</p></wfcnote>
|
||||
<p>An example of a start-tag:
|
||||
<eg><termdef id="dt-dog" term="dog"></eg></p>
|
||||
<eg><termdef id="dt-dog" term="dog"></eg></p>
|
||||
<p><termdef id="dt-etag" term="End Tag">The end of every element
|
||||
that begins with a start-tag must
|
||||
be marked by an <term>end-tag</term>
|
||||
@ -1629,8 +1629,8 @@ content, whether or not it is declared using the keyword
|
||||
tag must be used, and can only be used, for elements which are
|
||||
<termref def="dt-eldecl">declared</termref> <kw>EMPTY</kw>.</p>
|
||||
<p>Examples of empty elements:
|
||||
<eg><IMG align="left"
|
||||
src="http://www.w3.org/Icons/WWW/w3c_home" />
|
||||
<eg><IMG align="left"
|
||||
src="http://www.w3.org/Icons/WWW/w3c_home" />
|
||||
<br></br>
|
||||
<br/></eg></p>
|
||||
</div2>
|
||||
@ -2117,9 +2117,9 @@ match the default value.
|
||||
id ID #REQUIRED
|
||||
name CDATA #IMPLIED>
|
||||
<!ATTLIST list
|
||||
type (bullets|ordered|glossary) "ordered">
|
||||
type (bullets|ordered|glossary) "ordered">
|
||||
<!ATTLIST form
|
||||
method CDATA #FIXED "POST"></eg></p>
|
||||
method CDATA #FIXED "POST"></eg></p>
|
||||
</div3>
|
||||
<div3 id="AVNormalize">
|
||||
<head>Attribute-Value Normalization</head>
|
||||
@ -2133,7 +2133,7 @@ character to the attribute value</p></item>
|
||||
replacement text of the entity</p></item>
|
||||
<item><p>a whitespace character (#x20, #xD, #xA, #x9) is processed by
|
||||
appending #x20 to the normalized value, except that only a single #x20
|
||||
is appended for a "#xD#xA" sequence that is part of an external
|
||||
is appended for a "#xD#xA" sequence that is part of an external
|
||||
parsed entity or the literal entity value of an internal parsed
|
||||
entity</p></item>
|
||||
<item><p>other characters are processed by appending them to the normalized
|
||||
@ -2327,10 +2327,10 @@ available input devices.
|
||||
match the production for
|
||||
<termref def="NT-Char">Char</termref>.</p>
|
||||
</wfcnote>
|
||||
If the character reference begins with "<code>&#x</code>", the digits and
|
||||
If the character reference begins with "<code>&#x</code>", the digits and
|
||||
letters up to the terminating <code>;</code> provide a hexadecimal
|
||||
representation of the character's code point in ISO/IEC 10646.
|
||||
If it begins just with "<code>&#</code>", the digits up to the terminating
|
||||
If it begins just with "<code>&#</code>", the digits up to the terminating
|
||||
<code>;</code> provide a decimal representation of the character's
|
||||
code point.
|
||||
</termdef>
|
||||
@ -2370,7 +2370,7 @@ semicolon
|
||||
<head>Entity Declared</head>
|
||||
<p>In a document without any DTD, a document with only an internal
|
||||
DTD subset which contains no parameter entity references, or a document with
|
||||
"<code>standalone='yes'</code>",
|
||||
"<code>standalone='yes'</code>",
|
||||
the <nt def="NT-Name">Name</nt> given in the entity reference must
|
||||
<termref def="dt-match">match</termref> that in an
|
||||
<titleref href="sec-entity-decl">entity declaration</titleref>, except that
|
||||
@ -2390,7 +2390,7 @@ if <titleref href="sec-rmd">standalone='yes'</titleref>.</p>
|
||||
<vcnote id="vc-entdeclared">
|
||||
<head>Entity Declared</head>
|
||||
<p>In a document with an external subset or external parameter
|
||||
entities with "<code>standalone='no'</code>",
|
||||
entities with "<code>standalone='no'</code>",
|
||||
the <nt def="NT-Name">Name</nt> given in the entity reference must <termref def="dt-match">match</termref> that in an
|
||||
<titleref href="sec-entity-decl">entity declaration</titleref>.
|
||||
For interoperability, valid documents should declare the entities
|
||||
@ -2500,8 +2500,8 @@ text</termref>: see <specref ref="intern-replacement"/>.
|
||||
<p>An internal entity is a <termref def="dt-parsedent">parsed
|
||||
entity</termref>.</p>
|
||||
<p>Example of an internal entity declaration:
|
||||
<eg><!ENTITY Pub-Status "This is a pre-release of the
|
||||
specification."></eg></p>
|
||||
<eg><!ENTITY Pub-Status "This is a pre-release of the
|
||||
specification."></eg></p>
|
||||
</div3>
|
||||
|
||||
<div3 id="sec-external-ent">
|
||||
@ -2573,12 +2573,12 @@ of white space in the public identifier must be normalized to single space chara
|
||||
and leading and trailing white space must be removed.</p>
|
||||
<p>Examples of external entity declarations:
|
||||
<eg><!ENTITY open-hatch
|
||||
SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
|
||||
SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
|
||||
<!ENTITY open-hatch
|
||||
PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
|
||||
"http://www.textuality.com/boilerplate/OpenHatch.xml">
|
||||
PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
|
||||
"http://www.textuality.com/boilerplate/OpenHatch.xml">
|
||||
<!ENTITY hatch-pic
|
||||
SYSTEM "../grafix/OpenHatch.gif"
|
||||
SYSTEM "../grafix/OpenHatch.gif"
|
||||
NDATA gif ></eg></p>
|
||||
</div3>
|
||||
|
||||
@ -2673,8 +2673,8 @@ declaration</titleref> containing an encoding declaration:
|
||||
<prod id="NT-EncodingDecl"><lhs>EncodingDecl</lhs>
|
||||
<rhs><nt def="NT-S">S</nt>
|
||||
'encoding' <nt def="NT-Eq">Eq</nt>
|
||||
('"' <nt def="NT-EncName">EncName</nt> '"' |
|
||||
"'" <nt def="NT-EncName">EncName</nt> "'" )
|
||||
('"' <nt def="NT-EncName">EncName</nt> '"' |
|
||||
"'" <nt def="NT-EncName">EncName</nt> "'" )
|
||||
</rhs>
|
||||
</prod>
|
||||
<prod id="NT-EncName"><lhs>EncName</lhs>
|
||||
@ -2688,19 +2688,19 @@ The <nt def="NT-EncName">EncName</nt> is the name of the encoding used.
|
||||
</p>
|
||||
<!-- FINAL EDIT: check name of IANA and charset names -->
|
||||
<p>In an encoding declaration, the values
|
||||
"<code>UTF-8</code>",
|
||||
"<code>UTF-16</code>",
|
||||
"<code>ISO-10646-UCS-2</code>", and
|
||||
"<code>ISO-10646-UCS-4</code>" should be
|
||||
"<code>UTF-8</code>",
|
||||
"<code>UTF-16</code>",
|
||||
"<code>ISO-10646-UCS-2</code>", and
|
||||
"<code>ISO-10646-UCS-4</code>" should be
|
||||
used for the various encodings and transformations of Unicode /
|
||||
ISO/IEC 10646, the values
|
||||
"<code>ISO-8859-1</code>",
|
||||
"<code>ISO-8859-2</code>", ...
|
||||
"<code>ISO-8859-9</code>" should be used for the parts of ISO 8859, and
|
||||
"<code>ISO-8859-1</code>",
|
||||
"<code>ISO-8859-2</code>", ...
|
||||
"<code>ISO-8859-9</code>" should be used for the parts of ISO 8859, and
|
||||
the values
|
||||
"<code>ISO-2022-JP</code>",
|
||||
"<code>Shift_JIS</code>", and
|
||||
"<code>EUC-JP</code>"
|
||||
"<code>ISO-2022-JP</code>",
|
||||
"<code>Shift_JIS</code>", and
|
||||
"<code>EUC-JP</code>"
|
||||
should be used for the various encoded forms of JIS X-0208-1997. XML
|
||||
processors may recognize other encodings; it is recommended that
|
||||
character encodings registered (as <emph>charset</emph>s)
|
||||
@ -2859,8 +2859,8 @@ and (except for parameter entities) <termref def="dt-markup">markup</termref>,
|
||||
which must be recognized in
|
||||
the usual way, except that the replacement text of entities used to escape
|
||||
markup delimiters (the entities &magicents;) is always treated as
|
||||
data. (The string "<code>AT&amp;T;</code>" expands to
|
||||
"<code>AT&T;</code>" and the remaining ampersand is not recognized
|
||||
data. (The string "<code>AT&amp;T;</code>" expands to
|
||||
"<code>AT&T;</code>" and the remaining ampersand is not recognized
|
||||
as an entity-reference delimiter.)
|
||||
A character reference is <term>included</term> when the indicated
|
||||
character is processed in place of the reference itself.
|
||||
@ -2919,7 +2919,7 @@ For example, this is well-formed:
|
||||
<eg><![CDATA[<!ENTITY % YN '"Yes"' >
|
||||
<!ENTITY WhatHeSaid "He said &YN;" >]]></eg>
|
||||
while this is not:
|
||||
<eg><!ENTITY EndAttr "27'" >
|
||||
<eg><!ENTITY EndAttr "27'" >
|
||||
<element attribute='a-&EndAttr;></eg>
|
||||
</p></div3>
|
||||
<div3 id="notify">
|
||||
@ -2989,11 +2989,11 @@ For example, given the following declarations:
|
||||
<!ENTITY rights "All rights reserved" >
|
||||
<!ENTITY book "La Peste: Albert Camus,
|
||||
© 1947 %pub;. &rights;" >]]></eg>
|
||||
then the replacement text for the entity "<code>book</code>" is:
|
||||
then the replacement text for the entity "<code>book</code>" is:
|
||||
<eg>La Peste: Albert Camus,
|
||||
© 1947 Éditions Gallimard. &rights;</eg>
|
||||
The general-entity reference "<code>&rights;</code>" would be expanded
|
||||
should the reference "<code>&book;</code>" appear in the document's
|
||||
The general-entity reference "<code>&rights;</code>" would be expanded
|
||||
should the reference "<code>&book;</code>" appear in the document's
|
||||
content or an attribute value.</p>
|
||||
<p>These simple rules may have complex interactions; for a detailed
|
||||
discussion of a difficult example, see
|
||||
@ -3010,7 +3010,7 @@ ampersand, and other delimiters. A set of general entities
|
||||
Numeric character references may also be used; they are
|
||||
expanded immediately when recognized and must be treated as
|
||||
character data, so the numeric character references
|
||||
"<code>&#60;</code>" and "<code>&#38;</code>" may be used to
|
||||
"<code>&#60;</code>" and "<code>&#38;</code>" may be used to
|
||||
escape <code><</code> and <code>&</code> when they occur
|
||||
in character data.</termdef></p>
|
||||
<p>All XML processors must recognize these entities whether they
|
||||
@ -3029,7 +3029,7 @@ that character, as shown below.
|
||||
<!ENTITY quot """>
|
||||
]]></eg>
|
||||
Note that the <code><</code> and <code>&</code> characters
|
||||
in the declarations of "<code>lt</code>" and "<code>amp</code>"
|
||||
in the declarations of "<code>lt</code>" and "<code>amp</code>"
|
||||
are doubly escaped to meet the requirement that entity replacement
|
||||
be well-formed.
|
||||
</p>
|
||||
@ -3229,7 +3229,7 @@ range indicated.</p></def>
|
||||
with a value not among the characters given.</p></def>
|
||||
</gitem>
|
||||
<gitem>
|
||||
<label><code>"string"</code></label>
|
||||
<label><code>"string"</code></label>
|
||||
<def><p>matches a literal string <termref def="dt-match">matching</termref>
|
||||
that given inside the double quotes.</p></def>
|
||||
</gitem>
|
||||
@ -3811,8 +3811,8 @@ names.</p>
|
||||
</item>
|
||||
<item>
|
||||
<p>Characters which have a font or compatibility decomposition (i.e. those
|
||||
with a "compatibility formatting tag" in field 5 of the database --
|
||||
marked by field 5 beginning with a "<") are not allowed.</p>
|
||||
with a "compatibility formatting tag" in field 5 of the database --
|
||||
marked by field 5 beginning with a "<") are not allowed.</p>
|
||||
</item>
|
||||
<item>
|
||||
<p>The following characters are treated as name-start characters
|
||||
@ -3864,16 +3864,16 @@ numerically (&#38;#38;) or with a general entity
|
||||
then the XML processor will recognize the character references
|
||||
when it parses the entity declaration, and resolve them before
|
||||
storing the following string as the
|
||||
value of the entity "<code>example</code>":
|
||||
value of the entity "<code>example</code>":
|
||||
<eg><![CDATA[<p>An ampersand (&) may be escaped
|
||||
numerically (&#38;) or with a general entity
|
||||
(&amp;).</p>
|
||||
]]></eg>
|
||||
A reference in the document to "<code>&example;</code>"
|
||||
A reference in the document to "<code>&example;</code>"
|
||||
will cause the text to be reparsed, at which time the
|
||||
start- and end-tags of the "<code>p</code>" element will be recognized
|
||||
start- and end-tags of the "<code>p</code>" element will be recognized
|
||||
and the three references will be recognized and expanded,
|
||||
resulting in a "<code>p</code>" element with the following content
|
||||
resulting in a "<code>p</code>" element with the following content
|
||||
(all data, no delimiters or markup):
|
||||
<eg><![CDATA[An ampersand (&) may be escaped
|
||||
numerically (&) or with a general entity
|
||||
@ -3895,27 +3895,27 @@ solely for reference.
|
||||
This produces the following:
|
||||
<ulist spacing="compact">
|
||||
<item><p>in line 4, the reference to character 37 is expanded immediately,
|
||||
and the parameter entity "<code>xx</code>" is stored in the symbol
|
||||
table with the value "<code>%zz;</code>". Since the replacement text
|
||||
is not rescanned, the reference to parameter entity "<code>zz</code>"
|
||||
and the parameter entity "<code>xx</code>" is stored in the symbol
|
||||
table with the value "<code>%zz;</code>". Since the replacement text
|
||||
is not rescanned, the reference to parameter entity "<code>zz</code>"
|
||||
is not recognized. (And it would be an error if it were, since
|
||||
"<code>zz</code>" is not yet declared.)</p></item>
|
||||
<item><p>in line 5, the character reference "<code>&#60;</code>" is
|
||||
expanded immediately and the parameter entity "<code>zz</code>" is
|
||||
"<code>zz</code>" is not yet declared.)</p></item>
|
||||
<item><p>in line 5, the character reference "<code>&#60;</code>" is
|
||||
expanded immediately and the parameter entity "<code>zz</code>" is
|
||||
stored with the replacement text
|
||||
"<code><!ENTITY tricky "error-prone" ></code>",
|
||||
"<code><!ENTITY tricky "error-prone" ></code>",
|
||||
which is a well-formed entity declaration.</p></item>
|
||||
<item><p>in line 6, the reference to "<code>xx</code>" is recognized,
|
||||
and the replacement text of "<code>xx</code>" (namely
|
||||
"<code>%zz;</code>") is parsed. The reference to "<code>zz</code>"
|
||||
<item><p>in line 6, the reference to "<code>xx</code>" is recognized,
|
||||
and the replacement text of "<code>xx</code>" (namely
|
||||
"<code>%zz;</code>") is parsed. The reference to "<code>zz</code>"
|
||||
is recognized in its turn, and its replacement text
|
||||
("<code><!ENTITY tricky "error-prone" ></code>") is parsed.
|
||||
The general entity "<code>tricky</code>" has now been
|
||||
declared, with the replacement text "<code>error-prone</code>".</p></item>
|
||||
("<code><!ENTITY tricky "error-prone" ></code>") is parsed.
|
||||
The general entity "<code>tricky</code>" has now been
|
||||
declared, with the replacement text "<code>error-prone</code>".</p></item>
|
||||
<item><p>
|
||||
in line 8, the reference to the general entity "<code>tricky</code>" is
|
||||
in line 8, the reference to the general entity "<code>tricky</code>" is
|
||||
recognized, and it is expanded, so the full content of the
|
||||
"<code>test</code>" element is the self-describing (and ungrammatical) string
|
||||
"<code>test</code>" element is the self-describing (and ungrammatical) string
|
||||
<emph>This sample shows a error-prone method.</emph>
|
||||
</p></item>
|
||||
</ulist>
|
||||
@ -3930,7 +3930,7 @@ that content models in element type declarations be deterministic.
|
||||
<!-- FINAL EDIT: WebSGML allows ambiguity? -->
|
||||
<p>SGML
|
||||
requires deterministic content models (it calls them
|
||||
"unambiguous"); XML processors built using SGML systems may
|
||||
"unambiguous"); XML processors built using SGML systems may
|
||||
flag non-deterministic content models as errors.</p>
|
||||
<p>For example, the content model <code>((b, c) | (b, d))</code> is
|
||||
non-deterministic, because given an initial <code>b</code> the parser
|
||||
@ -3986,8 +3986,8 @@ begin with an XML encoding declaration, in which the first characters
|
||||
must be '<code><?xml</code>', any conforming processor can detect,
|
||||
after two to four octets of input, which of the following cases apply.
|
||||
In reading this list, it may help to know that in UCS-4, '<' is
|
||||
"<code>#x0000003C</code>" and '?' is "<code>#x0000003F</code>", and the Byte
|
||||
Order Mark required of UTF-16 data streams is "<code>#xFEFF</code>".</p>
|
||||
"<code>#x0000003C</code>" and '?' is "<code>#x0000003F</code>", and the Byte
|
||||
Order Mark required of UTF-16 data streams is "<code>#xFEFF</code>".</p>
|
||||
<p>
|
||||
<ulist>
|
||||
<item>
|
||||
|
@ -787,7 +787,7 @@
|
||||
</NewsComponent>
|
||||
<NewsComponent>
|
||||
<NewsLines>
|
||||
<HeadLine>Sibyll Klotz: Vollblutpolitikerin mit "Berliner Schnauze"</HeadLine>
|
||||
<HeadLine>Sibyll Klotz: Vollblutpolitikerin mit "Berliner Schnauze"</HeadLine>
|
||||
</NewsLines>
|
||||
<NewsItemRef NewsItem="011021184658.lctevest.xml"/>
|
||||
</NewsComponent>
|
||||
|
@ -54,7 +54,7 @@ type="text/css"?>
|
||||
</authlist>
|
||||
|
||||
<status>
|
||||
<p>This is a W3C Working Draft for review by W3C members and other interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". A list of current W3C working drafts can be found at <loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</p>
|
||||
<p>This is a W3C Working Draft for review by W3C members and other interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". A list of current W3C working drafts can be found at <loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</p>
|
||||
<p><emph>Note:</emph> Since working drafts are subject to frequent change, you are advised to reference the above URI, rather than the URIs for working drafts themselves. Some of the work remaining is described in <specref ref="unfinished"/>. </p>
|
||||
<p>This work is part of the W3C XML Activity (for current status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity">http://www.w3.org/XML/Activity </loc>). For information about the XPointer language which is expected to be used with XLink, see <loc href="http://www.w3.org/MarkUp/SGML/Activity">http://www.w3.org/TR/WD-xptr</loc>.
|
||||
</p>
|
||||
@ -164,7 +164,7 @@ document. bent-->
|
||||
</gitem>
|
||||
<gitem>
|
||||
<label><termdef id="dt-eltree" term="Element Tree">element tree</termdef></label>
|
||||
<def><p>A representation of the relevant structure specified by the tags and attributes in an XML document, based on "groves" as defined in the ISO DSSSL standard. </p></def>
|
||||
<def><p>A representation of the relevant structure specified by the tags and attributes in an XML document, based on "groves" as defined in the ISO DSSSL standard. </p></def>
|
||||
</gitem>
|
||||
<gitem>
|
||||
<label><termdef id="dt-inline" term="In-Line Link">inline link</termdef></label>
|
||||
@ -191,14 +191,14 @@ document. bent-->
|
||||
</gitem>
|
||||
<gitem>
|
||||
<label><termdef id="dt-multidir" term="Multi-Directional Link">multidirectional link</termdef></label>
|
||||
<def><p>A <termref def="dt-link">link</termref> whose <termref def="dt-traversal"> traversal</termref> can be initiated from more than one of its <termref def="dt-particip-resource"> participating resources</termref>. Note that being able to "go back" after following a one-directional link does not make the link multidirectional.</p></def>
|
||||
<def><p>A <termref def="dt-link">link</termref> whose <termref def="dt-traversal"> traversal</termref> can be initiated from more than one of its <termref def="dt-particip-resource"> participating resources</termref>. Note that being able to "go back" after following a one-directional link does not make the link multidirectional.</p></def>
|
||||
</gitem>
|
||||
<gitem>
|
||||
<label><termdef id="dt-outofline" term="Out-of-line Link">out-of-line link</termdef></label>
|
||||
<def><p>A <termref def="dt-link">link</termref> whose content does not serve as one of the link's <termref def="dt-particip-resource">participating resources </termref>. Such links presuppose a notion like <termref def="dt-xlg">extended link groups</termref>, which instruct application software where to look for links. Out-of-line links are generally required for supporting multidirectional <termref def="dt-traversal">traversal</termref> and for allowing read-only resources to have outgoing links.</p></def>
|
||||
</gitem>
|
||||
<gitem>
|
||||
<label><termdef id="dt-parsedq" term="Parsed">parsed</termdef></label> <def><p>In the context of link behavior, a parsed link is any link whose content is transcluded into the document where the link originated. The use of the term "parsed" directly refers to the concept in XML of a
|
||||
<label><termdef id="dt-parsedq" term="Parsed">parsed</termdef></label> <def><p>In the context of link behavior, a parsed link is any link whose content is transcluded into the document where the link originated. The use of the term "parsed" directly refers to the concept in XML of a
|
||||
parsed entity.</p></def>
|
||||
</gitem>
|
||||
<gitem>
|
||||
@ -237,7 +237,7 @@ document. bent-->
|
||||
<head>Locator Syntax</head>
|
||||
<p>The locator for a <termref def="dt-resource">resource</termref> is typically provided by means of a Uniform Resource Identifier, or URI. XPointers can be used in conjunction with the URI structure, as fragment identifiers, to specify a more precise sub-resource. </p>
|
||||
<!-- Removed the discussion of queries from the previous paragraph, due to contention within the WG. bent -->
|
||||
<p>A locator generally contains a URI, as described in IETF RFCs <bibref ref="rfc1738"/> and <bibref ref="rfc1808"/>. As these RFCs state, the URI may include a trailing <emph>query</emph> (marked by a leading "<code>?</code>"), and be followed by a "<code>#</code>" and a <emph>fragment identifier</emph>, with the query interpreted by the host providing the indicated resource, and the interpretation of the fragment identifier dependent on the data type of the indicated resource.</p>
|
||||
<p>A locator generally contains a URI, as described in IETF RFCs <bibref ref="rfc1738"/> and <bibref ref="rfc1808"/>. As these RFCs state, the URI may include a trailing <emph>query</emph> (marked by a leading "<code>?</code>"), and be followed by a "<code>#</code>" and a <emph>fragment identifier</emph>, with the query interpreted by the host providing the indicated resource, and the interpretation of the fragment identifier dependent on the data type of the indicated resource.</p>
|
||||
<!--Is there some restriction on URNs having queries and/or fragment identifiers? Since these RFCs don't mention URIs explicitly, should the wording here lead from URLs to URIs more explicitly? -elm-->
|
||||
<p>In order to locate XML documents and portions of documents, a locator value may contain either a <xtermref href="http://www.w3.org/Addressing/rfc1738.txt"> URI</xtermref> or a fragment identifier, or both. Any fragment identifier for pointing into XML must be an <xtermref href="http://www.w3.org/TR/WD-xptr#dt-xpointer"> XPointer</xtermref>.</p>
|
||||
<p>Special syntax may be used to request the use of particular processing models in accessing the locator's resource. This is designed to reflect the realities of network operation, where it may or may not be desirable to exercise fine control over the distribution of work between local and remote processors.
|
||||
@ -273,15 +273,15 @@ document. bent-->
|
||||
<!--Is this now incorrect, given the nature of the switch from here() to origin()? -elm
|
||||
Oy, yes, i think so. it will require some fun wording, though, so i haven't fixed it yet here -sjd-->
|
||||
<item>
|
||||
<p>If the <nt def="nt-connector">Connector</nt> is followed directly by a <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt>, the <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt> is shorthand for the XPointer"<code>id(Name)</code>"; that is, the sub-resource is the element in the containing resource that has an XML <xtermref href="http://www.w3.org/TR/REC-xml#sec-attrtypes">ID attribute</xtermref> whose value <xtermref href="http://www.w3.org/TR/REC-xml#dt-match">matches</xtermref> the <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt>. This shorthand is to encourage use of the robust <code>id</code> addressing mode.</p>
|
||||
<p>If the <nt def="nt-connector">Connector</nt> is followed directly by a <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt>, the <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt> is shorthand for the XPointer"<code>id(Name)</code>"; that is, the sub-resource is the element in the containing resource that has an XML <xtermref href="http://www.w3.org/TR/REC-xml#sec-attrtypes">ID attribute</xtermref> whose value <xtermref href="http://www.w3.org/TR/REC-xml#dt-match">matches</xtermref> the <xnt href="http://www.w3.org/TR/REC-xml#NT-Name">Name</xnt>. This shorthand is to encourage use of the robust <code>id</code> addressing mode.</p>
|
||||
</item>
|
||||
<!-- fixed links to the XML recommendation - bent -->
|
||||
<item>
|
||||
<p>If the connector is "<code>#</code>", this signals an intent that the containing resource is to be fetched as a whole from the host that provides it, and that the XPointer processing to extract the sub-resource
|
||||
<p>If the connector is "<code>#</code>", this signals an intent that the containing resource is to be fetched as a whole from the host that provides it, and that the XPointer processing to extract the sub-resource
|
||||
is to be performed on the client, that is to say on the same system where the linking element is recognized and processed.</p>
|
||||
</item>
|
||||
<item>
|
||||
<p>If the connector is "<code>|</code>", no intent is signaled as to what processing model is to be used to go about accessing the designated resource.</p>
|
||||
<p>If the connector is "<code>|</code>", no intent is signaled as to what processing model is to be used to go about accessing the designated resource.</p>
|
||||
</item>
|
||||
</ulist>
|
||||
</p>
|
||||
@ -301,10 +301,10 @@ document. bent-->
|
||||
<head>Link Recognition</head>
|
||||
<p>The existence of a <termref def="dt-link">link</termref> is asserted by a <termref def="dt-linkel">linking element</termref>. Linking elements must be recognized reliably by application software in order to provide appropriate display and behavior. There are several ways link recognition could be accomplished: for example, reserving element type names, reserving attributes names, leaving the matter of recognition entirely up to stylesheets and application software, or using the XLink <xtermref href="http://www.w3.org/TR/REC-xml-names/">namespace</xtermref> to specify element names and attribute names that would be recognized by namespace and XLink-aware processors. Using element and attribute names within the XLink namespace provides a balance between giving users control of their own markup language design and keeping the identification of linking elements simple and unambiguous.</p>
|
||||
<p>The two approaches to identifying linking elements are relatively simple to implement. For example, here's how the HTML <code>A</code> element would be declared using attributes within the XLink namespace, and then how an element within the XLink namespace might do the same:
|
||||
<eg><A xlink:type="simple" xlink:href="http://www.w3.org/TR/wd-xlink/"
|
||||
xlink:title="The Xlink Working Draft">The XLink Working Draft.</A></eg>
|
||||
<eg><xlink:simple href="http://www.w3.org/TR/wd-xlink/"
|
||||
title="The XLink Working Draft">The XLink Working Draft</xlink:simple></eg>
|
||||
<eg><A xlink:type="simple" xlink:href="http://www.w3.org/TR/wd-xlink/"
|
||||
xlink:title="The Xlink Working Draft">The XLink Working Draft.</A></eg>
|
||||
<eg><xlink:simple href="http://www.w3.org/TR/wd-xlink/"
|
||||
title="The XLink Working Draft">The XLink Working Draft</xlink:simple></eg>
|
||||
Any arbitrary element can be made into an XLink by using the <code>xlink:type</code> attribute. And, of course, the explicit XLink elements may be used, as well. This document will go on to describe the linking attributes that are associated with linking elements. It may be assumed by the reader that these attributes would require the <code>xlink</code> namespace prefix if they existed within an arbitrary element, or that they may be used directly if they exist within an explicit Xlink element.</p>
|
||||
<!-- heavily modified this section to accomodate namespace-aware link recognition - bent -->
|
||||
</div1>
|
||||
@ -336,7 +336,7 @@ title="The XLink Working Draft">The XLink Working Draft</xlink:s
|
||||
|
||||
<div2 id="link-semantics">
|
||||
<head>Semantic Attributes</head>
|
||||
<p>There are two attributes associated with semantics, <code>role</code> and <code>title</code>. The <code>role</code> attribute is a generic string used to describe the function of the link's content. For example, a poem might have a link with a <code>role="stanza"</code>. The <code>role</code> is also used as an identifier for the <code>from</code> and <code>to</code> attributes of arcs.</p>
|
||||
<p>There are two attributes associated with semantics, <code>role</code> and <code>title</code>. The <code>role</code> attribute is a generic string used to describe the function of the link's content. For example, a poem might have a link with a <code>role="stanza"</code>. The <code>role</code> is also used as an identifier for the <code>from</code> and <code>to</code> attributes of arcs.</p>
|
||||
<p>The <code>title</code> attribute is designed to provide human-readable text describing the link. It is very useful for those who have text-based applications, whether that be due to a constricted device that cannot display the link's content, or if it's being read by an application to a visually-impaired user, or if it's being used to create a table of links. The <code>title</code> attribute contains a simple, descriptive string.</p>
|
||||
</div2>
|
||||
</div1>
|
||||
@ -355,28 +355,28 @@ title="The XLink Working Draft">The XLink Working Draft</xlink:s
|
||||
href CDATA #REQUIRED
|
||||
role CDATA #IMPLIED
|
||||
title CDATA #IMPLIED
|
||||
show (new|parsed|replace) "replace"
|
||||
actuate (user|auto) "user"
|
||||
show (new|parsed|replace) "replace"
|
||||
actuate (user|auto) "user"
|
||||
></eg>
|
||||
And here is how to make an arbitrary element into a simple link.
|
||||
<eg><!ELEMENT xlink:simple ANY>
|
||||
<!ATTLIST foo
|
||||
xlink:type (simple|extended|locator|arc) #FIXED "simple"
|
||||
xlink:type (simple|extended|locator|arc) #FIXED "simple"
|
||||
xlink:href CDATA #REQUIRED
|
||||
xlink:role CDATA #IMPLIED
|
||||
xlink:title CDATA #IMPLIED
|
||||
xlink:show (new|parsed|replace) "replace"
|
||||
xlink:actuate (user|auto) "user"
|
||||
xlink:show (new|parsed|replace) "replace"
|
||||
xlink:actuate (user|auto) "user"
|
||||
></eg>
|
||||
Here is how the first example might look in a document:
|
||||
<eg><xlink:simple href="http://www.w3.org/TR/wd-xlink" role="working draft"
|
||||
title="The XLink Working Draft" show="replace" actuate="user">
|
||||
<eg><xlink:simple href="http://www.w3.org/TR/wd-xlink" role="working draft"
|
||||
title="The XLink Working Draft" show="replace" actuate="user">
|
||||
The XLink Working Draft.</xlink:simple></eg>
|
||||
<eg><foo xlink:href="http://www.w3.org/TR/wd-xlink" xlink:role="working draft"
|
||||
xlink:title="The XLink Working Draft" xlink:show="new" xlink:actuate="user">
|
||||
<eg><foo xlink:href="http://www.w3.org/TR/wd-xlink" xlink:role="working draft"
|
||||
xlink:title="The XLink Working Draft" xlink:show="new" xlink:actuate="user">
|
||||
The XLink Working Draft.</foo></eg>
|
||||
Alternately, a simple link could be as terse as this:
|
||||
<eg><foo xlink:href="#stanza1">The First Stanza.</foo></eg>
|
||||
<eg><foo xlink:href="#stanza1">The First Stanza.</foo></eg>
|
||||
</p>
|
||||
<p>
|
||||
There are no constraints on the contents of a simple linking element. In
|
||||
@ -385,7 +385,7 @@ The XLink Working Draft.</foo></eg>
|
||||
a valid document, every element that is significant to XLink must still conform
|
||||
to the constraints expressed in its governing DTD.</p>
|
||||
<p>Note that it is meaningful to have an out-of-line simple link, although
|
||||
such links are uncommon. They are called "one-ended" and are typically used
|
||||
such links are uncommon. They are called "one-ended" and are typically used
|
||||
to associate discrete semantic properties with locations. The properties might
|
||||
be expressed by attributes on the link, the link's element type name, or in
|
||||
some other way, and are not considered full-fledged resources of the link.
|
||||
@ -427,7 +427,7 @@ The XLink Working Draft.</foo></eg>
|
||||
|
||||
<eg><!ELEMENT foo ((xlink:arc | xlink:locator)*)>
|
||||
<!ATTLIST foo
|
||||
xlink:type (simple|extended|locator|arc) #FIXED "extended"
|
||||
xlink:type (simple|extended|locator|arc) #FIXED "extended"
|
||||
xlink:role CDATA #IMPLIED
|
||||
xlink:title CDATA #IMPLIED
|
||||
xlink:showdefault (new|parsed|replace) #IMPLIED
|
||||
@ -435,11 +435,11 @@ The XLink Working Draft.</foo></eg>
|
||||
|
||||
The following two examples demonstrate how each of the above might appear within a document instance. Note that the content of these examples would be other elements. For brevity's sake, they've been left blank. The first example shows how the link might appear, using an explicit XLink extended link:
|
||||
|
||||
<eg><xlink:extended role="address book" title="Ben's Address Book" showdefault="replace" actuatedefault="user"> ... </xlink:extended></eg>
|
||||
<eg><xlink:extended role="address book" title="Ben's Address Book" showdefault="replace" actuatedefault="user"> ... </xlink:extended></eg>
|
||||
|
||||
And the second shows how the link might appear, using an arbitrary element:
|
||||
|
||||
<eg><foo xlink:type="extended" xlink:role="address book" xlink:title="Ben's Address Book" xlink:showdefault="replace" xlink:actuatedefault="user"> ... </foo></eg>
|
||||
<eg><foo xlink:type="extended" xlink:role="address book" xlink:title="Ben's Address Book" xlink:showdefault="replace" xlink:actuatedefault="user"> ... </foo></eg>
|
||||
</p>
|
||||
|
||||
</div2>
|
||||
@ -514,8 +514,8 @@ for Computers and the Humanities (ACH), Association for Computational
|
||||
Linguistics
|
||||
(ACL), and Association for Literary and Linguistic Computing (ALLC). Chicago,
|
||||
Oxford: Text Encoding Initiative, 1994. <!-- add cite to DOM work --> </bibl>
|
||||
<bibl id="chum" key="CHUM">]Steven J. DeRose and David G. Durand. 1995. "The
|
||||
TEI Hypertext Guidelines." In <titleref>Computing and the Humanities
|
||||
<bibl id="chum" key="CHUM">]Steven J. DeRose and David G. Durand. 1995. "The
|
||||
TEI Hypertext Guidelines." In <titleref>Computing and the Humanities
|
||||
</titleref>29(3).
|
||||
Reprinted in <titleref>Text Encoding Initiative: Background and
|
||||
Context</titleref>,
|
||||
|
Loading…
x
Reference in New Issue
Block a user