Errata

XML in a Nutshell

Errata for XML in a Nutshell

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page xiv
After "Constant width bold" add "is used for:"

Anonymous   
Printed
Page xiv
In the fifth bullet point, delete "should be deleted"

Anonymous   
Printed
Page 21
At the beginning of the paragraph immediately after Example

2-6, add this sentence:

"The processing instruction name xml, in any combination of case,
(that is, xml, XML, Xml, etc.) is reserved for use by the W3C."

Anonymous    Aug 01, 2001
Printed
Page 22
Example 2.8

"encoding=ISO-8859_1"

Has been changed to:

"encoding=ISO-8859-1"

Anonymous    Aug 01, 2001
Printed
Page 30
In Example 3-3 an extra question mark moved into the XML

declaration:

<?xml version="1.0"? standalone="no"?>

has been changed to:

<?xml version="1.0" standalone="no"?>

Anonymous    Mar 01, 2001
Printed
Page 35
The list under the Number of Children head now reads as

follows:

? Permits zero or one of the element
* Permits zero or more of the element
+ Permits one or more of the element

Anonymous    Mar 01, 2001
Printed
Page 35
list in middle of page

? Permits zero or one of the element
* Permits zero or one of the element
+ Permits zero or one of the element

should read more like:

? Permits zero or one of the element
* Permits zero or more of the element
+ Permits one or more of the element

Anonymous   
Printed
Page 36
In the last line of the page

<!ELEMENT circle(center, (radius| diameter))>

should be:

<!ELEMENT circle(point, (radius| diameter))>

Anonymous    Aug 01, 2001
Printed
Page 37
In the last code fragment on the page, <!element should be

capitalized as <!ELEMENT

Anonymous   
Printed
Page 41
NMTOKENS

<p style="font-size: 1;

Has been change to:

<p style="font-size: xx-small;

Anonymous    Aug 01, 2001
Printed
Page 43
In the each of the last two text paragraphs on the page, "the

project_id attribute of the person element" now reads "the project_id
attribute of the assignment element". Note that this error occurred
twice.

Anonymous    Mar 01, 2001
Printed
Page 44
2nd paragraph, 5th line

"... element with a a single ..."

should read:

"... element with a single ..."

Anonymous   
Printed
Page 45
In the first paragraph, "a presentation element" should be "a

slide_show element".

Anonymous   
Printed
Page 49
In the second to last paragraph, "identifies notation" should

be "identifies a notation".

Anonymous   
Printed
Page 60
In the seventh line of Example 4-2, the end tag </dc:title>

now reads </title>. That is, the dc: prefix has been deleted.

Anonymous    Mar 01, 2001
Printed
Page 71
In the second text paragraph, "tet declarations" now reads "text

declarations"

Anonymous    Mar 01, 2001
Printed
Page 71
In the fourth text paragraph

"UF-16 and UTF-8 encodings or Unicode"

should read:

"UTF-16 and UTF-8 encodings of Unicode".

Anonymous   
Printed
Page 79
The end tag was missing a slash in the second code fragment on the

page. That is, in English transliteration, the second
<logos> now reads </logos>

Anonymous    Mar 01, 2001
Printed
Page 79
In the first code sample, the nu is now the last letter of the

second word rather than the first letter of the third word. That is,
it now reads (in the actual Greek characters, not the Unicode shown here):

<maxim>
&#x3C3;&#x3BF;&#x3C6;&#x3CC;&#x3C2;
&#x3AD;&#x3B1;&#x3C5;&#x3C4;&#x3CC;&#x3BD;
&#x3B3;&#x3B9;&#x3B3;&#x3BD;&#x3CE;&#x3C3;&#x3BA;&#x3B5;&#x3B9;
</maxim>

In English transliteration "sophos eauton gignoskei" instead of
"sophos eauto ngignoskei"

Anonymous    Mar 01, 2001
Printed
Page 82
In the first code fragment, "le fin de semaine" should be "la

fin de semaine"; i.e. change "le" to "la"

Anonymous   
Printed
Page 111
Intrinsic Events (9th definition term)

All element and attribute names are lowercase in Modular XHTML.
Replaced "onSubmit" and "onFocus" with "onsubmit" and "onfocus."

Anonymous    Aug 01, 2001
Printed
Page 115
In the last line of Example 7-4,

<!ELEMENT description (%Block.mix;)+)>

should be changed to

<!ELEMENT description (%Block.mix;)+>

That is, delete the last parenthesis in that line.

Anonymous   
Printed
Page 122
In Example 7-8 "%MODULE-qname.mod;" should be "%cafe-qname-1.mod;".

Anonymous   
Printed
Page 130
The first sentence of the last paragraph had the wrong

namespace URI. It now reads http://www.w3.org/1999/XSL/Transform, not
http://www.w3.org/XSL/Transform.

Anonymous    Mar 01, 2001
Printed
Page 130
14th line of sample code on page

Richard Feynman's middle initial was P, not M. (for Phillips)

Therefore, the following line of code has been changed to:

<middle_initial>P</middle_initial>

Anonymous    Aug 01, 2001
Printed
Page 132
In Example 8-3, second line

Changed the M to a P.

Anonymous    Aug 01, 2001
Printed
Page 135
Changed the M to a P in the code fragment.

Anonymous    Aug 01, 2001
Printed
Page 140
In Example 8-11, changed the M to a P.

Anonymous    Aug 01, 2001
Printed
Page 143
In Example 8-13, changed the M to a P.

Anonymous    Aug 01, 2001
Printed
Page 143
In the last paragraph, change "in the specified node" (with

an n) to "in the specified mode" (with an m)

Anonymous   
Printed
Page 145
In Example 8-14

<middle_initial>P</middle_initial>

Has been changed to:

<middle_initial>M</middle_initial>

Anonymous    Aug 01, 2001
Printed
Page 148
In Example 9-1, changed the M to a P.

Anonymous    Aug 01, 2001
Printed
Page 153
In the code fragment at the top of the page, changed the M to a P.

Anonymous    Aug 01, 2001
Printed
Page 153
In the first line

It outputs that element's name child element value and id attribute value

has been changed to:

It outputs that element's name child element value and born and died
attribute values

Anonymous    Aug 01, 2001
Printed
Page 158
In the 5th paragraph, 3rd line "equivalent to the

unabbreviated form" should read "equivalent to the abbreviated form".

Anonymous   
Printed
Page 166
paragraph 4, last sentence

substring('MM/DD/YYYY', 2) is DD

Has been changed to:

substring('MM/DD/YYYY', 4, 2) is DD

Anonymous    Aug 01, 2001
Printed
Page 181
In the second to last paragraph change "nonfiction" to "manual".

Anonymous   
Printed
Page 183
3 last paragraphs

Replace "XPointers can identify multiple..." to the end of the page and
two code fragments with this:

If you're uncertain whether a given XPointer will locate something,
you can back it up with an alternative XPointer. For example, this
XPointer looks first for first_name elements. However, if it doesn't
find any it will look for last_name elements instead:

xpointer(//first_name)xpointer(//last_name)

The last_name elements will be found only if there are no first_name
elements. You can string as many of these xpointer() parts together
as you like. For example, this XPointer looks first for first_name
elements. If it doesn't find any, it then seeks out last_name elements.
If it doesn't find any of those, it looks for middle_initial elements.
If it doesn't find any of those, it returns an empty node set:

xpointer(//first_name)xpointer(//last_name)xpointer(//middle_initial)

No special separator character or white space is required between the
individual xpointer() parts.

Anonymous   
Printed
Page 185
In the second code fragment on the page, each XPath

expression should be preceded by here(). That is, the entire example
and the paragraph that follows should read as follows:

<slide xmlns:xlink="http://www.w3.org/1999/xlink">

<point>Acme Wonder Goo is a delicious dessert topping!</point>
<point>Acme Wonder Goo is a powerful floor cleaner!</point>
<point>It's two products in one!</point>

<previous xlink:type="simple" xlink:href="#xpointer(
here()/ancestor::slide/preceding-sibling::slide[position()=1])">
Back
</previous>
<next xlink:type="simple" xlink:href="#xpointer(
here()/ancestor::slide/following-sibling::slide[position()=1])">
Back
</next>
</slide>

The here() function, an XPointer extension to XPath, indicates that
the context node is the node in the XML document where the XPointer
appears, the xlink:href attribute nodes in this example.

Anonymous   
Printed
Page 187-188
The point node test now includes parentheses wherever it

occurs, just as the comment(), processing-instruction() and node() node
tests do. Thus, in the first sentence of the second-to-last paragraph on
p. 187 "point node test" now reads "point() node test". The XPointer in the
middle of that paragraph now reads:

xpointer(//title[position()=1]/text()/point()[position()=3]).

The XPointer at the bottom of the page now reads:

xpointer(/novel/point()[position()=2])

On p. 188, the XPointer near the top of the page now reads:

xpointer(/novel/text()[position()=1]/point()[position()=3])

(This XPointer also had an extraneous closing right parenthesis between
[position()=1]/ and point()[ that has been deleted.)

The second and third XPointers on page 188 that use the start-point() and
end-point()

xpointer(/comment()[position()=1]/point()[position()=5])

xpointer(/processing-instruction[position()=1]/point()[position()=23])

xpointer(/novel/@copyright/point()[position()=0])

Anonymous    Mar 01, 2001
Printed
Page 187
In the last example at bottom of page

xpointer(/novel/point[position()=2]))

Has been changed to:

xpointer(/novel/point()[position()=1])

Anonymous    Aug 01, 2001
Printed
Page 187
Delete all text from the paragraph beginning "To point at a point with

an XPointer..." to the end of the section and replace it with:

The point() node test can be used to select points from a node set that
contains them. However, since no XPath axis actually includes points, this
has limited utility. Instead, XPointer adds two functions to XPath that make
it very easy to select the point immediately before or immediately after an
element or text node, start-point() and end-point(). For example, this
XPointer identifies the point immediately before the title element, point 1
in Figure 11-1:
xpointer(start-point(//title))
This XPointer indicates the point immediately after the </author> tag:
xpointer(end-point(//author))
If there were multiple title and author elements in the document, then these
functions would select multiple points.
Points can also indicate positions inside a text node, comment, attribute
value, or processing instruction. This is less convenient than it should be.
First you'll need to use the string-range() function we'll discuss shortly
to produce a range whose start point or end point is the point you want to
select; then use start-point() and end-point() to actually select that
point.
In each case, the point's position is the index of the character following
the point in the node's string value. Recall from Chapter 8 that the value
of a comment node is the text of the comment, the value of an attribute node
is the value of the attribute, and the value of a processing instruction
node is the processing instruction data. For example, suppose you want to
indicate the point right before the word may in <!-- You may recognize this
from the last chapter -->. The letter m is the sixth character of the value
of the comment. Therefore the point immediately before it has index 5.
Processing instructions are similar except you don?t count the processing
instruction target or subsequent white space. For example, suppose you
wanted to point to the point between the " and the n in "novel.css". The "
is the 23rd character of the data and the n is the 24th.
Processing instructions can only have pseudo-attributes so you can?t use the
attribute axis to select the value "attribute" of the xml-stylesheet
processing instruction or any points inside it. However, you can do this for
genuine attributes like the copyright attribute of the novel element in
Example 11-1.
In all cases, it's an error if a point() node test points before the
beginning of the containing node (i.e. has a negative index) or after the
end of the containing node. However, an application is free to decide what
to do in the face of such an error. No specific behavior is required. In a
web browser the results might be similar to following a link to a named
anchor that no longer exists; that is, the document would be loaded and
positioned at its start and the fragment identifier would be ignored.

Anonymous   
Printed
Page 189
First code fragment

xpointer(range(//title))

Has been changed to:

xpointer(range-inside(//title))

Anonymous    Aug 01, 2001
Printed
Page 212
There's an extra fo:region-body element in the second code

fragment on the page. Delete the fifth line containing the
<fo:region-body/> start-tag. That is, the fragment should read:

<fo:simple-page-master margin-right="0.5in" margin-left="0.5in"
margin-bottom="0.5in" margin-top="0.5in"
page-width="8.5in" page-height="11in"
master-name="first">
<fo:region-before extent="0.5in"/>
<fo:region-after extent="0.5in"/>
<fo:region-start extent="0.5in"/>
<fo:region-end extent="0.5in"/>
<fo:region-body margin-top="1.0in" margin-bottom="1.0in"
margin-left="0.5in" margin-right="0.5in"/>
</fo:simple-page-master>

Anonymous   
Printed
Page 219
Example 13-5

Replace example.

<?xml version="1.0" encoding="utf-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master margin-right="1in" margin-left="1in"
margin-bottom="1in"
margin-top="1in" page-width="8.5in" page-height="11in"
master-name="first">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-name="first">
<fo:flow>
<fo:block font-family="Times, 'Times New Roman',
serif" font-size="12pt">
<fo:block font-family="Helvetica, Arial, sans-serif"
font-size="20pt" font-weight="bold"
text-align="center">Southern Corn Bread</fo:block>
<fo:list-block>
<fo:list-item>
<fo:list-item-label>
<fo:block>?Ģ</fo:block></fo:list-item-label>
<fo:list-item-body><fo:block>
1 cup
flour
</fo:block></fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label><fo:block>?Ģ</fo:block>
</fo:list-item-label>
<fo:list-item-body><fo:block>
4 tablespoons
Royal Baking Powder
</fo:block></fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label><fo:block>?Ģ</fo:block>
</fo:list-item-label>
<fo:list-item-body><fo:block>
?? teaspoon
salt
</fo:block></fo:list-item-body></fo:list-item>
<fo:list-item>
<fo:list-item-label><fo:block>?Ģ</fo:block>
</fo:list-item-label>
<fo:list-item-body><fo:block>
1 cup
corn meal
</fo:block></fo:list-item-body></fo:list-item>
<fo:list-item>
<fo:list-item-label><fo:block>?Ģ</fo:block>
</fo:list-item-label>
<fo:list-item-body><fo:block>
1?? cups
whole milk
</fo:block></fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label><fo:block>?Ģ</fo:block>
</fo:list-item-label>
<fo:list-item-body><fo:block>
4 tablespoons
melted butter
</fo:block></fo:list-item-body>
</fo:list-item>
</fo:list-block>

<fo:block margin-top="12pt" margin-left="4pt">
Sift flour, baking powder, sugar &amp; salt together.
Add 1 cup corn meal.

Beat egg in cup and add beaten egg and 1?? cups whole
milk to make a batter. Stir well.

Add melted shortening and beat until light and thoroughly mixed.

Pour into greased shallow pan or greased muffin rings.

Bake in hot oven at 425?? F for
25 minutes.

Cut into squares if cooked in shallow pan.

</fo:block>

<fo:block margin-top="12pt" margin-left="4pt">
After my mother-in-law Marjorie Anderson died,
Beth and I found this recipe written on the "extra recipes"
page in a local cookbook in her cupboard.
This was published by The Episcopal Churchwomen,
Church of Ascension, Mt. Sterling,
Kentucky.
</fo:block>

</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

Anonymous   
Printed
Page 237
In the first line, "Java inteface" should be "Java interface".

Anonymous   
Printed
Page 239
Figure 16-1

nodeValue =Text data in the "Text" box

should be

nodeValue =Test data

Anonymous   
Printed
Page 245
At the top of the page a space was missing between the first two

words of the first sentence. It now reads "The character" rather than
"Thecharacter".

Anonymous    Mar 01, 2001
Printed
Page 251
SAXException is a checked exception, not a runtime exception.

In the second text paragraph change "runtime" to "checked".

Anonymous   
Printed
Page 260
When reading a property a cast is normally necessary. The last

code fragment on the page should read:

try {
String tag = (String) parser.getProperty(
"http://xml.org/sax/properties/xml-string");
}

Anonymous   
Printed
Page 281
In the penultimate paragraph; "characters are not be

recognized as markup by the parser" should read "characters will not
be recognized as markup by the parser".

Anonymous   
Printed
Page 283
The sentence

The processing instruction target can be any legal XML name (see Chapter 2,
XML Fundamentals).

Has been changed to:

The processing instruction target can be any legal XML name, except
<mono>xml</mono> in any combination of upper and lower case. (See Chapter
2, XML Fundamentals).

Anonymous    Aug 01, 2001
Printed
Page 295
Bacchus has been changed to Backus. The book meant to reference the

computer scientist John Backus, not the Greek god of wine and revelry.

Anonymous    Mar 01, 2001
Printed
Page 295-298
The Extended Backus-Naur Form has been replaced with

the following:

document ::= prolog element Misc*
Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
| [#x10000-#x10FFFF]
S ::= (#x20 | #x9 | #xD | #xA)+
NameChar ::= Letter | Digit| '.' | '-' | '_' | ':'
| CombiningChar | Extender
EntityValue ::= '"' ([^%&"] | PEReference| Reference)* '"'
| "'" ([^%&'] | PEReference | Reference)* "'"
CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
Comment ::= '<!--' ((Char - '-') | ('-'(Char - '-')))* '-->'
PI ::= '<?' PITarget (S(Char* - (Char* '?>' Char*)))? '?>'
CDSect ::= CDStart CData CDEnd
prolog ::= XMLDecl? Misc*(doctypedecl Misc*)?
XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
VersionInfo ::= S 'version' Eq ("'" VersionNum "'"
| '"' VersionNum'"')[E15]
Eq ::= S? '=' S?
VersionNum ::= ([a-zA-Z0-9_.:] | '-')+
Misc ::= Comment | PI| S
doctypedecl ::= '<!DOCTYPE' S Name(S ExternalID)? S?
('[' (markupdecl | DeclSep)*']' S?)? '>'
DeclSep ::= PEReference | S
markupdecl ::= elementdecl | AttlistDecl | EntityDecl
| NotationDecl | PI | Comment
extSubset ::= TextDecl? extSubsetDecl
extSubsetDecl ::= ( markupdecl | conditionalSect | DeclSep)*
SDDecl ::= S 'standalone' Eq(("'" ('yes' | 'no') "'")
| ('"' ('yes' | 'no') '"'))
LanguageID ::= Langcode ('-' Subcode)*
element ::= EmptyElemTag| STag content ETag
STag ::= '<' Name (S Attribute)* S? '>'
Attribute ::= Name Eq AttValue
ETag ::= '</' Name S?'>'
content ::= CharData? ((element| Reference | CDSect| PI | Comment)
CharData?)*
EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'
elementdecl ::= '<!ELEMENT' S Name S contentspec S?'>'
contentspec ::= 'EMPTY' | 'ANY' | Mixed| children
children ::= (choice | seq)('?' | '*' | '+')?
cp ::= (Name | choice| seq) ('?' | '*' | '+')?
choice ::= '(' S? cp ( S? '|' S? cp )+ S? ')'
seq ::= '(' S? cp ( S? ',' S? cp )* S? ')'
Mixed ::= '(' S? '#PCDATA' (S?'|' S? Name)* S?')*'
| '(' S? '#PCDATA' S? ')'
AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'
AttType ::= StringType | TokenizedType| EnumeratedType
StringType ::= 'CDATA'
TokenizedType ::= 'ID'
EnumeratedType ::= NotationType| Enumeration
DefaultDecl ::= '#REQUIRED' | '#IMPLIED'| (('#FIXED' S)? AttValue)
conditionalSect ::= includeSect | ignoreSect
includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl']]>'
ignoreSect ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents*']]>'
ignoreSectContents ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)*
Ignore ::= Char* - (Char*('<![' | ']]>') Char*)
CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'
Reference ::= EntityRef | CharRef
EntityDecl ::= GEDecl | PEDecl
GEDecl ::= '<!ENTITY' S Name S EntityDef S?'>'
PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
EntityDef ::= EntityValue | (ExternalID NDataDecl?)
PEDef ::= EntityValue | ExternalID
ExternalID ::= 'SYSTEM' S SystemLiteral| 'PUBLIC' S PubidLiteral
S SystemLiteral
TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'
extParsedEnt ::= TextDecl? content
EncodingDecl ::= S 'encoding' Eq('"' EncName '"' | "'" EncName"'" )
NotationDecl ::= '<!NOTATION' S Name S (ExternalID | PublicID) S? '>'
Letter ::= BaseChar | Ideographic
BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6]
| [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E]
| [#x0141-#x0148] | [#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0]
| [#x01F4-#x01F5] | [#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1]
| #x0386 | [#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE]
| [#x03D0-#x03D6] | #x03DA | #x03DC| #x03DE | #x03E0 | [#x03E2-#x03F3]
| [#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481]
| [#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB]
| [#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559
| [#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A]
| [#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE]
| [#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D
| [#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8]
| [#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD]
| [#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10]
| [#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36]
| [#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74]
| [#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8]
| [#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD
| #x0AE0 | [#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28]
| [#x0B2A-#x0B30] | [#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D
| [#x0B5C-#x0B5D] | [#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90]
| [#x0B92-#x0B95] | [#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F]
| [#x0BA3-#x0BA4] | [#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9]
| [#x0C05-#x0C0C] | [#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33]
| [#x0C35-#x0C39] | [#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90]
| [#x0C92-#x0CA8] | [#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE
| [#x0CE0-#x0CE1] | [#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28]
| [#x0D2A-#x0D39] | [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30
| [#x0E32-#x0E33] | [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84
| [#x0E87-#x0E88] | #x0E8A | #x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F]
| [#x0EA1-#x0EA3] | #x0EA5 | #x0EA7| [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE]
| #x0EB0 | [#x0EB2-#x0EB3] | #x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47]
| [#x0F49-#x0F69] | [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100
| [#x1102-#x1103] | [#x1105-#x1107] | #x1109 | [#x110B-#x110C]
| [#x110E-#x1112] | #x113C | #x113E | #x1140 | #x114C | #x114E | #x1150
| [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163| #x1165 | #x1167
| #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175 | #x119E | #x11A8
| #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2]
| #x11EB| #x11F0 | #x11F9 | [#x1E00-#x1E9B] | [#x1EA0-#x1EF9]
| [#x1F00-#x1F15] | [#x1F18-#x1F1D] | [#x1F20-#x1F45] | [#x1F48-#x1F4D]
| [#x1F50-#x1F57] | #x1F59 | #x1F5B | #x1F5D | [#x1F5F-#x1F7D]
| [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | [#x1FC2-#x1FC4]
| [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | [#x1FE0-#x1FEC]
| [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 | [#x212A-#x212B]
| #x212E | [#x2180-#x2182] | [#x3041-#x3094] | [#x30A1-#x30FA]
| [#x3105-#x312C] | [#xAC00-#xD7A3]
Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
CombiningChar ::= [#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486]
| [#x0591-#x05A1] | [#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF
| [#x05C1-#x05C2] | #x05C4 | [#x064B-#x0652] | #x0670| [#x06D6-#x06DC]
| [#x06DD-#x06DF] | [#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED]
| [#x0901-#x0903] | #x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954]
| [#x0962-#x0963] | [#x0981-#x0983] | #x09BC | #x09BE | #x09BF
| [#x09C0-#x09C4] | [#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7
| [#x09E2-#x09E3] | #x0A02| #x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42]
| [#x0A47-#x0A48] | [#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83]
| #x0ABC| [#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD]
| [#x0B01-#x0B03] | #x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48]
| [#x0B4B-#x0B4D] | [#x0B56-#x0B57] | [#x0B82-#x0B83] | [#x0BBE-#x0BC2]
| [#x0BC6-#x0BC8] | [#x0BCA-#x0BCD] | #x0BD7 | [#x0C01-#x0C03]
| [#x0C3E-#x0C44] | [#x0C46-#x0C48] | [#x0C4A-#x0C4D] | [#x0C55-#x0C56]
| [#x0C82-#x0C83] | [#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD]
| [#x0CD5-#x0CD6] | [#x0D02-#x0D03] | [#x0D3E-#x0D43] | [#x0D46-#x0D48]
| [#x0D4A-#x0D4D] | #x0D57 | #x0E31 | [#x0E34-#x0E3A] | [#x0E47-#x0E4E]
| #x0EB1 | [#x0EB4-#x0EB9] | [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD]
| [#x0F18-#x0F19] | #x0F35 | #x0F37 | #x0F39 | #x0F3E| #x0F3F
| [#x0F71-#x0F84] | [#x0F86-#x0F8B] | [#x0F90-#x0F95] | #x0F97
| [#x0F99-#x0FAD] | [#x0FB1-#x0FB7] | #x0FB9| [#x20D0-#x20DC] | #x20E1
| [#x302A-#x302F] | #x3099| #x309A
Digit ::= [#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9]
| [#x0966-#x096F] | [#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF]
| [#x0B66-#x0B6F] | [#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF]
| [#x0D66-#x0D6F] | [#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]
Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640| #x0E46 | #x0EC6
| #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]

Anonymous    Mar 01, 2001
Printed
Page 302
In the examples of abbreviated syntax in the last code

fragment on the page, "//descendantnode() [.='Eunice']/@ID" is
missing a double-colon separator and should read:
"//descendant::node() [.='Eunice']/@ID"

Anonymous   
Printed
Page 305
In the first sentence change "Each location test" to "Each

location step"

Anonymous   
Printed
Page 315
In the second paragraph

http://www.w3.org/XSL/Transform

now reads:

http://www.w3.org/1999/XSL/Transform

Anonymous    May 01, 2001
Printed
Page 320
In the Contents section for xsl:choose, "This element

contains one xsl:when element" should read "This element contains one
or more xsl:when elements"

Anonymous   
Printed
Page 333
The select attribute of xsl:sort is optional, not required.

The following sentence has been added to the end of the description of
select:

If select is omitted, then the sort key is set to the value of the
current node.

Anonymous    Mar 01, 2001
Printed
Page 373
The example for getAttribute() is incorrect.

if (elem.getAttribute("name") == "") {

should be

if (elem.getAttribute("name").equals("")) {

Anonymous   
Printed
Page 422
The letter on the last line is a German letter, not an Icelandic letter.

Changed

"Icelandic"

to

"German"

Anonymous    Aug 01, 2001
Printed
Page 477
In the index

The Vietnamese language entry has an uppercase
'I' as the second letter. The 'I', of course, should be lowercase.

Anonymous