Home > Store

Essential XML Quick Reference: A Programmer's Reference to XML, XPath, XSLT, XML Schema, SOAP, and More

Register your product to gain access to bonus material or receive a coupon.

Essential XML Quick Reference: A Programmer's Reference to XML, XPath, XSLT, XML Schema, SOAP, and More

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2002
  • Dimensions: 5-1/2" x 8"
  • Pages: 432
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-74095-8
  • ISBN-13: 978-0-201-74095-0

XML and the technologies surrounding it have grown immensely in recent years -- in both use and complexity. There's more to know than any one individual can possibly remember. In Essential XML Quick Reference, two leading XML experts present an authoritative reference that covers all the XML-related technologies that matter. In one concise, accessible, example-rich guide, Aaron Skonnard and Martin Gudgin bring together critical information about XML, XSL, XSLT, schemas, namespaces, XPath, SAX, DOM, SOAP, even Microsoft's BizTalk. Following the hugely successful format pioneered by Patrick Chan's Java Almanacs, the authors provide a complete catalog of syntax references, combined with brief, to-the-point overviews of each technology and standard. This ultimate XML reference contains three times the coverage of its nearest competitor. For all developers and Web professionals familiar with the basics of XML.

Sample Content

Online Sample Chapters

Introduction to SOAP 1.1

XML 1.0 and Namespaces

Downloadable Sample Chapter

Click below for Sample Chapter related to this title:
skonnardch01.pdf

Table of Contents



List of Acronyms.


Preface.


Acknowledgments.


1. XML 1.0 and Namespaces.

Elements.

Elements, Namespaces, and Namespace Declarations.

Attributes.

Attributes and Namespaces.

Processing Instructions.

Comments.

Whitespace.

Prohibited Character Literals.

CDATA sections.

XML Declaration.

Character References.

Well-formed XML.

References.



2. Document Type Definitions.

Introduction to DTDs.

<code>DOCTYPE</code>.

Internal Declarations.

External Declarations.

Internal and External Declarations.

<code>ELEMENT</code>.

<code>ATTLIST</code>.

<code>ENTITY</code>.

Internal Parameter Entities.

External Parameter Entities.

Internal General Entities.

External General Parsed Entities.

Unparsed Entities.

<code>NOTATION</code>.

<code>INCLUDE</code> and <code>IGNORE</code>.

References.



3. XPath 1.0.

Introduction to Xpath.

Location Path Expressions.

Location Steps.

Axis.

Node Test.

Predicate.

Location Path Abbreviations.

Basic Expressions.

Boolean Expressions.

Equality Expressions.

Relational Expressions.

Numerical Expressions.

Core Function Library.

<code>boolean</code>.

<code>ceiling</code>.

<code>concat</code>.

<code>contains</code>.

<code>count</code>.

<code>false</code>.

<code>floor</code>.

<code>id</code>.

<code>lang</code>.

<code>last</code>.

<code>local-name</code>.

<code>name</code>.

<code>namespace-uri</code>.

<code>normalize-space</code>.

<code>not</code>.

<code>number</code>.

<code>position</code>.

<code>round</code>.

<code>starts-with</code>.

<code>string</code>.

<code>string-length</code>.

<code>substring</code>.

<code>substring-after</code>.

<code>substring-before</code>.

<code>sum</code>.

<code>translate</code>.

<code>true</code>.

References.



4. XPointer, XInclude, and XML Base.

XPointer Version 1.0.

Full Xpointers.

Bare Names.

Child Sequences.

XPointer Extensions to Xpath.

XPointer Node Tests.

XPointer Function Library.

Xinclude.

<code>include</code>.

XML Base.

<code>xml:base</code>.

References.



5. XSL Transformations 1.0.

Introduction to XSLT Programming.

XSLT Types and Expressions.

Patterns.

Conflict Resolution.

Built-in Templates.

Exemplar-based Transformation Syntax.

Attribute Value Templates.

Whitespace.

Element Library.

<code>apply-imports</code>.

<code>apply-templates</code>.

<code>attribute</code>.

<code>attribute-set</code>.

<code>call-template</code>.

<code>choose</code>.

<code>comment</code>.

<code>copy</code>.

<code>copy-of</code>.

<code>decimal-format</code>.

<code>element</code>.

<code>fallback</code>.

<code>for-each</code>.

<code>if</code>.

<code>import</code>.

<code>include</code>.

<code>key</code>.

<code>message</code>.

<code>namespace-alias</code>.

<code>number</code>.

<code>otherwise</code>.

<code>output</code>.

<code>param</code>.

<code>preserve-space</code>.

<code>processing-instruction</code>.

<code>sort</code>.

<code>strip-space</code>.

<code>stylesheet</code>.

<code>template</code>.

<code>text</code>.

<code>transform (stylesheet)</code>.

<code>value-of</code>.

<code>variable</code>.

<code>when</code>.

<code>with-param</code>.

XSLT Function Library.

<code>current</code>.

<code>document</code>.

<code>element-available</code>.

<code>format-number</code>.

<code>function-available</code>.

<code>generate-id</code>.

<code>key</code>.

<code>system-property</code>.

<code>unparsed-entity-uri</code>.

References.



6. SAX 2.0.

SAX UML Quick Reference.

SAX Interfaces and Classes.

<code>Attributes</code>.

<code>ContentHandler</code>.

<code>DTDHandler</code>.

<code> EntityResolver</code>.

<code>ErrorHandler</code>.

<code>Locator</code>.

<code>XMLFilter</code>.

<code>XMLReader</code>.

Features and Properties</code>.

References.



7. DOM Level 2.

DOM UML.

DOM interfaces.

<code>Attr</code>.

<code>CDATASection</code>.

<code>CharacterData</code>.

<code>Comment</code>.

<code>Document</code>.

<code>DocumentFragment</code>.

<code>DocumentType</code>.

<code>DOMImplementation</code>.

<code>Element</code>.

<code>Entity</code>.

<code>EntityReference</code>.

<code>NamedNodeMap</code>.

<code>Node</code>.

<code>NodeList</code>.

<code>Notation</code>.

<code>ProcessingInstruction</code>.

<code>Text</code>.

References.



8. XML Schema Datatypes.

Datatype grouping.

Datatypes.

<code>anyURI</code>.

<code>base64Binary</code>.

<code>boolean</code>.

<code>byte</code>.

<code>date</code>.

<code>dateTime</code>.

<code>decimal</code>.

<code>double</code>.

<code>duration</code>.

<code>ENTITIES</code>.

<code>ENTITY</code>.

<code>float</code>.

<code>gDay</code>.

<code>gMonth</code>.

<code>gMonthDay</code>.

<code>gYear</code>.

<code>gYearMonth</code>.

<code>hexBinary</code>.

<code>ID</code>.

<code>IDREF</code>.

<code>IDREFS</code>.

<code>int</code>.

<code>integer</code>.

<code>language</code>.

<code>long</code>.

<code>Name</code>.

<code>NCName</code>.

<code>negativeInteger</code>.

<code>NMTOKEN</code>.

<code>NMTOKENS</code>.

<code>nonNegativeInteger</code>.

<code>nonPositiveInteger</code>.

<code>normalizedString</code>.

<code>NOTATION</code>.

<code>positiveInteger</code>.

<code>QName</code>.

<code>short</code>.

<code>string</code>.

<code>time</code>.

<code>token</code>.

<code>unsignedByte</code>.

<code>unsignedInt</code>.

<code>unsignedLong</code>.

<code>unsignedShort</code>.

Facets.

<code>enumeration</code>.

<code>fractionDigits</code>.

<code>length</code>.

<code>maxExclusive</code>.

<code>maxInclusive</code>.

<code>maxLength</code>.

<code>minExclusive</code>.

<code>minInclusive</code>.

<code>minLength</code>.

<code>pattern</code>.

<code>totalDigits</code>.

<code>whiteSpace</code>.

Language Constructs.

<code>simpleType</code>.

<code>restriction</code>.

<code>list</code>.

<code>union</code>.

References.



9. XML Schema Structures.

Schema Element Groupings.

Structures.

<code>all</code>.

<code>annotation</code>.

<code>any</code>.

<code>anyAttribute</code>.

<code>appinfo</code>.

<code>attribute</code>.

<code>attributeGroup</code>.

<code>choice</code>.

<code>complexContent</code>.

<code>complexType</code>.

<code>documentation</code>.

<code>element</code>.

<code>extension</code>.

<code>field</code>.

<code>group</code>.

<code>import</code>.

<code>include</code>.

<code>key</code>.

<code>keyref</code>.

<code>notation</code>.

<code>redefine</code>.

<code>restriction</code>.

<code>schema</code>.

<code>selector</code>.

<code>sequence</code>.

<code>simpleContent</code>.

<code>unique</code>.

XML Schema Structures: Instance Attributes.

<code>nil</code>.

<code>noNamespaceSchemaLocation</code>.

<code>schemaLocation</code>.

<code>type</code>.

References.



10. SOAP 1.1.

Introduction to SOAP Messages.

Elements in SOAP Messages.

<code>Body</code>.

<code>Envelope</code>.

<code>Fault</code>.

<code>Header</code>.

Attributes in SOAP Messages.

<code>actor</code>.

<code>encodingStyle</code>.

<code>mustUnderstand</code>.

Introduction to SOAP Serialization Rules.

Serialization of Simple Structured Data.

Serialization of Structured Data with Multiple References.

Dealing with Null References in Complex Data Structures.

Serializing Dynamically Typed Data.

Arrays.

Multidimensional Arrays.

Partial Transmission of Arrays.

Sparse Arrays.

Jagged Arrays.

Introduction to the SOAP HTTP Binding.

<code>Content-Type</code>.

<code>Content-Length</code>.

<code>SOAPAction</code>.

References.

Index. 0201740958T10102001

Preface

This book is for anyone working with today's mainstream XML technologies. It was specifically designed to serve as a handy but thorough quick reference that answers the most common XML-related technical questions.

It goes beyond the traditional pocket reference design by providing complete coverage of each topic along with plenty of meaningful examples. Each chapter provides a brief introduction, which is followed by the detailed reference information. This approach assumes the reader has a basic understanding of the given topic.

The detailed outline (at the beginning), index (in the back), bleeding tabs (along the side), and the page headers/footers were designed to help readers quickly find answers to their questions.



0201740958P10102001

Index

!=, 39, 48-49
," 3, 10
&, 10
', 3, 10
*, 20, 39, 45, 51
+, 20, 51
-, 2, 39, 51
-->, 7, 8
., 2
/, 39
//, 39
/>, 1
:, 2
;, 10
< 1, 10, 11, 39, 51
<!--, 7
<![CDATA[, 11
</, 1
<=, 39, 51
<?xml, 11
=, 5, 39, 48-49
>, 1, 10, 39, 51
>=, 39, 51
?, 20
?>, 7, 11
[...], 46
]]>, 11
_, 2
|, 39, 40

A

Absolute location paths, 39
Absolute URI references, 231
abstract attribute, 310, 315
Accessors
multireference, 371-372, 380-381
polymorphic, 374
single-reference, 369, 379-380
actor attribute, 364-365
Aliasing of URI, 123
all element, 288, 289, 291-292, 323
&amp;, 9-10
ancestor axis, 41, 42
ancestor-or-self axis, 41, 42
and, 39, 48
annotation element, 287, 289, 293
any attribute, 19, 126
anyAttribute element, 289, 297-300
any element, 288, 289, 293-297
anyURI type, 229-231
&apos;, 9-10
appendChild (Node/IXMLDOMNode member), 219
appendData (CharacterData/IXMLDOMCharacterData member), 198
appinfo element, 289, 300-301
apply-imports element, 97, 99-100, 136
apply-templates element, 97, 100-102, 134, 136
document used with, 151
Arrays, 368, 375-381
jagged (arrays of arrays), 379-381
multidimensional, 376-377
partial transmission of, 377-378
sparse, 378-379
arrayType attribute, 376, 379
attribute type, 21-22
ATTLIST, 18, 21-23
Attribute(s), 1, 5-6, 13
from, 125
abstract, 310, 315
accessing name and value of, 196
any, 19, 126
arrayType, 376, 379
attributeForm, 341
base, 282, 321, 338, 339
block, 310-311, 315
blockDefault, 341
case-order, 134
cdata-section-elements, 129
count, 125
data, 5
data-type, 134
decimal-separator, 112
default, 302, 315
digit, 112
disable-output-escaping, 140, 143
doctype-public, 129
doctype-system, 129
elementForm, 341
elements, 132, 135
encoding, 11, 12, 129
exclude-result-prefixes, 142
extension-element-prefixes, 142
final, 281, 311, 316
finalDefault, 341-342
#FIXED, 22
fixed, 302, 316
form, 302, 316
format, 125, 126-127
grouping-separator, 112, 125
grouping-size, 125
href, 80, 117, 118
id, 142, 281, 282, 283, 285, 291, 293, 294, 298, 302, 306, 308, 309, 311, 317, 321, 324, 326, 327, 330, 331, 333, 334, 335, 338, 342, 345, 346, 348, 349
#IMPLIED, 22
indent, 129
infinity, 112
instance, 350-354
nil, 350-351
noNamespaceSchemaLocation,
351-352
schemaLocation, 352-353
type, 353-354
itemType, 283
lang, 125, 134
letter-value, 125
level, 125
match, 119, 136, 137
maxOccurs, 291, 294, 308, 317, 326, 346
media-type, 129
memberTypes, 285
metadata, 5
method, 129
minOccurs, 291, 294, 308, 317, 326, 346
minus-sign, 112
mixed, 309, 311
mode, 101, 137, 139-140
multiple, 126
name, 103, 105, 106, 112, 114, 119, 131, 133, 136, 137, 144, 145, 148, 281, 303, 306, 311, 317, 326, 331, 333, 334, 349
namespace, 103, 114, 294-295, 298, 327
namespaces and, 6
NaN, 112
nil, 373
nillable, 317
offset, 377
omit-xml-declaration, 129
order, 134
parse, 80
pattern-separator, 112
percent, 112
per-mille, 112
position, 378
priority, 137, 139-140
process, 295, 298
public, 334
qualified, 6
ref, 303, 306, 317, 326
refer, 333
#REQUIRED, 22
result-prefix, 123
schemaLocation, 328, 330, 335
select, 101, 131, 134, 143, 144, 145, 148
single, 126
in SOAP 1.1, 364-367
actor, 364-365
encodingStyle, 365-366
mustUnderstand, 366-367
source, 301, 313
standalone, 11, 129
string value, 38
stylesheet-prefix, 123
substitution, 318
system, 334
target, 342
terminate, 122
test, 148
type, 303, 318
unqualified, 6
use, 120, 303
use-attribute-sets, 105, 109, 114
value, 22, 125
version, 11, 129, 142, 342
xml:lang, 313, 342
xpath, 324-325, 345
zero-digit, 112
attribute axis, 42, 43
Attribute declaration(s)
global, 301-302, 304
local, 302, 304-305
attribute element (XSLT), 97, 102-104
attribute element (XML Schema), 287, 289, 301-305
Attribute enumerations, 22-23
attributeForm attribute, 341
attributeGroup element, 287, 289, 306-307
attribute-set element, 98, 104-106
AttributesImpl class, 162
attributes interface, 160, 161, 162-166
attributes (Node/IXMLDOMNode member), 218
Attribute string value, 38
attribute type, 21-22
built-in template descriptions for, 93
location-set range based on, 76
Attribute value templates, 94-95, 103, 104
Attr interface, 194, 195-196
Axis/axes, 41-44
ancestor, 41, 42
ancestor-or-self, 41, 42
attribute, 42, 43
child, 41, 42
descendant, 41, 42
descendant-or-self, 41, 42
following, 41, 42
following-sibling, 41, 42
namespace, 42, 43
parent, 41, 42
of point location, 73
preceding, 42
preceding-sibling, 42, 43
of range location, 73
self, 41, 42
Axis identifier, 40

B

Bare names, 69, 71-72
base64Binary type, 231-232
base attribute, 282, 321, 338, 339
block attribute, 310-311, 315
blockDefault attribute, 341
Block escape, 11
boolean-expression expression, 89
Boolean expressions, 37, 38, 39, 48, 49, 54, 58
boolean function, 53-54
boolean type, 50, 63, 232
byte type, 227, 232-234

C

call-template element, 97, 106-107
call-template instruction, 146
Carriage return character, 8, 95
case-order attribute, 134
Case sensitivity, 2
cdata-section-elements, 129
CDATASection interface, 197
CDATA type, 11, 21
ceiling function, 53, 55
CharacterData interface, 197-199
Character-point, 73
Character references, 13
characters (ContentHandler/IVBSAXContentHandler member), 167
char type, 89
child axis, 41, 42
childList (IXMLDOMNode member), 218
Children
content model definition of, 19
of documents, 7
of elements, 1, 7
all, 312, 326, 338
annotation, 282, 283, 285, 292, 299, 304, 306, 309, 312, 318, 325, 326, 328, 330, 331, 333, 334, 336, 338, 343, 345, 347, 348, 349
any, 347
anyAttribute, 306, 312, 338
appinfo, 293
attribute, 306, 312, 338, 343
attributeGroup, 306, 312, 336, 338, 343
choice, 312, 326, 338, 347
complexContent, 312
complexType, 318, 336, 343
documentation, 293
element, 292, 343, 347
enumeration, 282, 338
extension, 309, 348
field, 331, 333, 349
fractionDigits, 282, 338
group, 312, 336, 338, 343, 347
import, 343
include, 343
key, 318
keyref, 318
length, 282, 338
list, 282
maxExclusive, 282, 338
maxInclusive, 282, 338
maxLength, 282, 338
minExclusive, 282, 338
minInclusive, 282, 338
minLength, 282, 338
notation, 343
pattern, 282, 338
qualified, 313
redefine, 343
restriction, 282, 309, 348
selector, 331, 333, 349
sequence, 312, 326, 338, 347
simpleContent, 312
simpleType, 282, 283, 285, 304, 318, 336, 338, 343
totalDigits, 282, 338
union, 282
unique, 318
unqualified, 313
whitespace, 282
whiteSpace, 338
serialization rules applied to, 368
Child sequences, 69, 72
choice element, 288, 289, 307-309
choose element, 97, 107-108, 116
Classes, 368
AttributesImpl, 162
DefaultHandler, 162
InputSource, 160, 162
LocatorImpl, 162
NamespaceSupport, 162
SAXException, 162
SAXNotRecognizedException, 162
SAXNotSupportedException, 162
SAXParseException, 162
XMLFilterImpl, 162
XMLReaderFactory, 162
cloneNode (Node/IXMLDOMNode member), 219
Close tag, 1, 13
Coercion function, 148
comment element, 97, 108-109
string value, 38
comment() identifier, 46
Comment interface, 199
Comments, 7-8
complexContent element, 289, 309
complexType element, 287, 289, 310-313
concat function, 53, 55
Conditional template, 116
Conflict resolution in XSLT, 91-92
contains function, 53, 55
contentHandler (IVBSAXXMLReader property), 186
ContentHandler interface, 160, 161, 166-174
Content-Length header, 382-383
Content model, 19
Content-Type header, 381-382
Context node, 39-40
Context node-set, 39-40
copy element, 97, 109-110
copy-of element, 97, 110-111
count attribute, 125
count function, 53, 56
createAttribute (Document/IXMLDOMDocument member), 202
createAttributeNS (Document member), 203
createCDATASection (Document/IXMLDOMDocument member), 202
createComment (Document/IXMLDOMDocument member), 202
createDocumentFragment (Document/IXMLDOMDocument member), 201
createDocument (DOMImplementation member), 207
createDocumentType (DOMImplementation member), 207
createElement (Document/IXMLDOMDocument member), 201
createElementNS (Document member), 203
createEntityReference (IXMLDOMDocument member), 202
createProcessingInstruction (Document/IXMLDOMDocument member), 202
createTextNode (Document/IXMLDOMDocument member), 202
Cross-references, key to process, 120-121
Curly braces, 95
current function, 149-150

D

data (IXMLDOMCharacterData property), 198
data (IXMLDOMProcessingInstruction member), 226
Data attributes, 5
data-type attribute, 134
Datatypes. See also Schema datatypes
XPath, 37-38
XSLT, 89-90
Date and time datatypes (XML Schema)
date, 233-234
dateTime, 228, 234-235
duration, 228, 237-238
gDay, 228, 241
gMonth, 228, 242
gMonthDay, 228, 242-243
gYear, 228, 243-244
gYearMonth, 228, 244
time, 228, 261-262
decimal-format element, 98, 111-113
decimal-separator attribute, 112
decimal type, 227, 235-236
DecimalUnicodeValue, 13
Declaration(s)
attribute
global, 301-302, 304
local, 302, 304-305
element, 19-21
global, 312, 314-315, 318-320
local, 314-315, 319, 344
namespace, 2-5, 13
scope of, 3
XML, 11-12
Declarative transformation, 87-88, 136, 138-139
DeclHandler interface, 160, 162
decl-handler (SAX property), 191
default attribute, 302, 315
DefaultHandler class, 162
deleteData (CharacterData/IXMLDOMCharacterData member), 198
descendant axis, 41, 42
descendant-or-self axis, 41, 42
detail element, 362
digit attribute, 112
disable-output-escaping attribute, 140, 143
div operator, 39, 51
DOCTYPE, 15-19, 24
external, 16, 17-19
internal, 16-17, 18-19
syntax, 16
docType (IXMLDOMDocument property), 201
doctype-public attribute, 129
doctype-system attribute, 129
Document(s)
children of, 7
stand-alone, 12
documentation element, 289, 313-314
documentElement (IXMLDOMDocument property), 201
Document element. See Element(s)
Document entity, 24
DocumentFragment interface, 205
document function, 149, 150-152
Document interface, 194, 199-204
documentLocator (IVBSAXContentHandler property), 167
Document Object Model. See DOM Level 2
Document order, 37
Document type definitions (DTDs), 15-33
ATTLIST, 18, 21-23
DOCTYPE, 15-19, 24
external, 16, 17-19
internal, 16-17, 18-19
syntax, 16
ELEMENT, 19-21
ENTITY, 18, 24-31
general vs. parameter, 24, 25, 29, 30
internal vs. external, 24, 25-30
parsed vs. unparsed, 24, 25, 30-31
syntax, 24
INCLUDE and IGNORE, 32-33
NOTATION, 31-32
DocumentType interface, 205-206
DOMImplementation interface, 194, 206-207
DOM Level 2, 35, 193-226
interfaces, 193-226
Attr, 194, 195-196
CDATASection, 197
CharacterData, 197-199
Comment, 199
Document, 194, 199-204
DocumentFragment, 205
DocumentType, 205-206
DOMImplementation, 194, 206-207
Element, 194, 207-211
Entity, 211-212
EntityReference, 212
NamedNodeMap, 212-215
Node, 215-222
NodeList, 223-225
Notation, 225
ProcessingInstruction, 194, 225-226
UML quick reference, 193, 194
dom-node (SAX property), 190
double type, 228, 236-237
DTDHandler interface, 160, 161, 175-177
dtdHandler (IVBSAXXMLReader property), 187
DTDs. See Document type definitions (DTDs)
duration datatype, 228, 237-238

E

Element(s), 1-5
if, 97, 116-117
annotated with attributes, 5-6
apply-imports, 97, 99-100, 136
apply-templates, 97, 100-102, 136
document used with, 151
associating with namespace, 3
attribute, 97, 102-104
attribute-set, 98, 104-106
attributes of. See Attribute(s)
call-template, 97, 106-107
child
all, 312, 326, 338
annotation, 282, 283, 285, 292, 299, 304, 306, 309, 312, 318, 325, 326, 328, 330, 331, 333, 334, 336, 338, 343, 345, 347, 348, 349
any, 347
anyAttribute, 306, 312, 338
appinfo, 293
attribute, 306, 312, 338, 343
attributeGroup, 306, 312, 336, 338, 343
choice, 312, 326, 338, 347
complexContent, 312
complexType, 318, 336, 343
documentation, 293
element, 292, 343, 347
enumeration, 282, 338
extension, 309, 348
field, 331, 333, 349
fractionDigits, 282, 338
group, 312, 336, 338, 343, 347
import, 343
include, 343
key, 318
keyref, 318
length, 282, 338
list, 282
maxExclusive, 282, 338
maxInclusive, 282, 338
maxLength, 282, 338
minExclusive, 282, 338
minInclusive, 282, 338
minLength, 282, 338
notation, 343
pattern, 282, 338
qualified, 313
redefine, 343
restriction, 282, 309, 348
selector, 331, 333, 349
sequence, 312, 326, 338, 347
simpleContent, 312
simpleType, 282, 283, 285, 304, 318, 336, 338, 343
totalDigits, 282, 338
union, 282
unique, 318
unqualified, 313
whitespace, 282
whiteSpace, 338
children of, 7
choose, 97, 107-108, 116
comment, 97, 108-109
copy, 97, 109-110
copy-of, 97, 110-111
decimal-format, 98, 111-113
detail, 362
element, 97, 113-114
fallback, 98, 114-115
faultactor, 362
faultcode, 360-361
faultstring, 361
for-each, 97, 115-116
import, 96, 98, 117-118
include, 96, 98, 118-119
key, 98, 119-121
message, 98, 121-122
namespace-alias, 98, 122-124
namespace declarations of, 1
number, 98, 124-128
otherwise, 97, 128
output, 98, 128-130
param, 96, 130-132, 137
preserve-space, 98, 132, 135
processing-instruction, 97, 133
string value, 38
qualified, 4-5
in SOAP 1.1, 358-364
Body, 358-359
Envelope, 360
Fault, 360-363
Header, 363-364
sort, 97, 133-135
string value, 38
strip-space, 98, 99, 132, 135
template, 96, 99, 136-140
testing for, 153
text, 97, 140-141
transform, 136
transform (stylesheet), 96, 136,
141-142
unqualified, 3-4
value-of, 97, 143
variable, 96, 99, 144-147
when, 97, 147-148
with-param, 97, 148
element-available function, 149,
152-153
ELEMENT declaration, 19-21
global, 312, 314-315, 318-320
local, 314-315, 319, 344
element element (XSLT), 97, 113-114
element element (XML Schema), 287, 288, 289, 314-320
elementForm attribute, 341
Element interface, 194, 207-211
elements attribute, 132, 135
element type
built-in template descriptions for, 93
location-set start-point based on, 78
EMPTY, 19
Empty string, 4
encoding attribute, 11, 12, 129
encodingStyle attribute, 365-366
endDocument (ContentHandler/IVBSAXContentHandler member), 167
end-point function, 74-75
endPrefixMapping (ContentHandler/IVBSAXContentHandler member), 167
ENTITIES type, 22
entities (IXMLDOMDocumentType property), 206
Entity(ies), 18, 24-31
document, 24
general vs. parameter, 24, 25, 29, 30
internal vs. external, 24, 25-30
parsed vs. unparsed, 24, 25, 30-31
syntax, 24
Entity interface, 211-212
EntityReference interface, 212
EntityResolver interface, 160, 161,
177-178
entityResolver (IVBSAXXMLReader property), 187
ENTITY type, 22
enumeration facet, 267-268
Equality expressions, 39, 48-50
Equality types, precedence of, 50
ErrorHandler interface, 160, 161, 178-181
errorHandler (IVBSAXXMLReader property), 187
error (ErrorHandler/IVBSAXErrorHandler member), 179
exclude-result-prefixes attribute, 142
Exemplar-based transformations, 86, 88
expression expression, 89
Expressions
XPath, 38-39
basic, 48-52
location path, 39-47
XSLT, 89-90
extension-element-prefixes attribute, 142
extension element, 290, 320
External DTD subset, 16, 17-19
external-general-entities (SAX feature), 190
external-parameter-entities (SAX feature), 190

F

Facets, 267-280
enumeration, 267-268
fractionDigits, 268-269
length, 269-270
maxExclusive, 270-271
maxInclusive, 271-272
maxLength, 272-274
minExclusive, 274-275
minInclusive, 275-276
minLength, 276-277
pattern, 277-278
totalDigits, 278-279
whiteSpace, 279-280
fallback element, 98, 114-115
false function, 56
fatalError (ErrorHandler/IVBSAXErrorHandler member), 179
faultactor element, 362
faultcode element, 360-361
faultstring element, 361
Features, SAX, 190-191
field element, 288, 324-325
final attribute, 281, 311, 316
finalDefault attribute, 341-342
firstChild (IXMLDOMNode property), 218
#FIXED attribute, 22
fixed attribute, 302, 316
float type, 228, 240-241
floor function, 53, 56-57
following axis, 41, 42
following-sibling axis, 41, 42
for-each element, 97, 115-116, 134
document used with, 151-152
format attribute, 125, 126-127
format-number function, 111, 149, 153-154
form attribute, 302, 316
fractionDigits facet, 268-269
Fragment identifier, 69
from attribute, 125
Full XPointers, 70-71
Function(s)
boolean, 53-54
ceiling, 53, 55
coercion, 148
concat, 53, 55
contains, 53, 55
count, 53, 56
current, 149-150
document, 149, 150-152
element-available, 149, 152-153
end-point, 74-75
false, 56
floor, 53, 56-57
format-number, 111, 149, 153-154
function-available, 149, 154-155
generate-id, 149, 155
here, 75
id, 52, 57
key, 149, 155-156
lang, 52, 58
last, 52, 58
local-name, 52, 59
name, 52, 59
namespace-uri, 52, 60
normalize-space, 53, 60
not, 53, 61
number, 37, 38, 49, 53, 54, 61-62
origin, 75-76
position, 52, 62
range, 76-77
range-inside, 77
range-to, 77-78
round, 53, 62
start-point,*78,
starts-with, 53, 63
string, 37, 38, 49, 53, 54, 63-64
string-length, 53, 64
substring, 53, 64-65
substring-after, 53, 65
substring-before, 53, 65
sum, 53, 66
system-property, 149, 156
translate, 53, 66
true, 67
unparsed-entity-uri, 149, 157
function-available function, 149, 154-155

G

gDay datatype, 228, 241
General entities, 24, 25, 29, 30
generate-id function, 149, 155
getAttribute (Element/IXMLDOMElement member), 209
getAttributeNode (Element/IXMLDOMElement member), 209
getAttributeNodeNS (Element/IXMLDOMElement member), 210
getAttributeNS (Element/IXMLDOMElement member), 210
getAttributes (Node/IXMLDOMNode member), 218
getChildNodes (Node/IXMLDOMNode member), 218
getContentHandler (XMLReader member), 186
getData (CharacterData member), 198
getData (IXMLDOMProcessingInstruction member), 226
getDocType (Document member), 201
getDocumentElement (Document member), 201
getDocumentLocator (ContentHandler member), 167
getDTDHandler (XMLReader member), 187
getElementById (Document member), 203
getElementsByTagName (Document/IXMLDOMDocument member), 202
getElementsByTagName (Element/IXMLDOMElement member), 210
getElementsByTagNameNS (Document member), 203
getElementsByTagNameNS (Element member), 210
getEntities (DocumentType member), 206
getEntityResolver (XMLReader member), 187
getErrorHandler (XMLReader member), 187
getFeature (XMLReader/IVBSAXXMLReader member), 187
getFirstChild (Node member), 218
getImplementation (Document member), 201
getIndexFromName (IVBSAXAttributes member), 164
getIndexFromQName (IVBSAXAttributes member), 164
getInternalSubset (Document member), 206
getLastChild (Node member), 218
getLength (NodeList member), 223
getLength (Attributes member), 163
getLength (CharacterData member), 198
getLocalName (Attributes member), 163
getLocalName (Node member), 219
getNamedItem (NamedNodeMap/IXMLDOMNamedNodeMap member), 213
getNamedItemNS (NamedNodeMap member), 214
getName (DocumentType member), 205
getName (Attribute member), 195
getNamespaceURI (Node member), 219
getNextSibling (Node member), 218
getNodeName (Node member), 218
getNodeType (Node member), 218
getNodeValue (Node member), 218
getNotationName (Entity member), 212
getNotations (DocumentType member), 206
getOwnerDocument (Node member), 218
getOwnerElement (Attribute member), 195
getParentNode (Node member), 218
getPrefix (Node member), 219
getPreviousSibling (Node member), 218
getProperty (XMLReader/IVBSAXXMLReader member), 187
getPublicId (DocumentType member), 206
getPublicId (Notation member), 225
getPublicId (Entity member), 212
getQName (Attributes/IVBSAXAttributes member), 164
getQualifiedItem (IXMLDOMNamedNodeMap member), 214
getSpecified (Attribute member), 195
getSystemId (DocumentType member), 206
getSystemId (Notation member), 225
getSystemId (Entity member), 212
getTagName (Element member), 209
getTarget (ProcessingInstruction member), 226
getTypeFromName (IVBSAXAttributes member), 164
getTypeFromQName (IVBSAXAttributes member), 164
getType (Attributes/IVBSAXAttributes member), 164
getURI (Attributes/IVBSAXAttributes member), 163
getValueFromName (IVBSAXAttributes member), 164
getValueFromQName (IVBSAXAttributes member), 164
getValue (Attributes/IVBSAXAttributes member), 164
getValue (Attr member), 195
Global attribute declaration, 301-302, 304
Global element declaration, 312, 314-315,
318-320
gMonth datatype, 228, 242
gMonthDay datatype, 228, 242-243
grouping-separator attribute, 112, 125
grouping-size attribute, 125
group element, 287, 288, 289, 290, 325-327
&gt;, 9-10
gYear datatype, 228, 243-244
gYearMonth datatype, 228, 244

H

hasAttribute (Element member), 210
hasAttributeNS (Element member), 210
hasAttributes (Node member), 219
hasChildNodes (Node/IXMLDOMNode member), 219
hasFeature (DOMImplementation/IXMLDOMImplementation member), 207
here function, 75
hexBinary type, 245
href attribute, 80, 117, 118
Hypertext Transfer Protocol (http), 357

I

id attribute, 142, 281, 282, 283, 285, 291, 293, 294, 298, 302, 306, 308, 309, 311, 317, 321, 324, 326, 327, 330, 331, 333, 334, 335, 338, 342, 345, 346, 348, 349
id function, 52, 57
IDREFS type, 22
IDREF type, 22
ID type, 21
if element, 97, 116-117
ignorableWarning (IVBSAXErrorHandler member), 179
ignorableWhitespace (ContentHandler/IVBSAXContentHandler member), 167
IGNORE, 32-33
implementation (IXMLDOMDocument property), 201
#IMPLIED attribute, 22
import element (XSLT), 96, 98, 117-118
import element (XML Schema), 287, 288,
327-329
importNode (Document member), 202-203
INCLUDE, 32-33
include element (XSLT), 96, 98, 118-119
include element (XML Schema), 287, 288,
329-330
include namespace, 79
indent attribute, 129
infinity attribute, 112
InputSource class, 160, 162
insertBefore (Node/IXMLDOMNode member), 219
insertData (CharacterData/IXMLDOMCharacterData member), 198
Instance attributes, 350-354
nil, 350-351
noNamespaceSchemaLocation, 351-352
schemaLocation, 352-353
type, 353-354
integer type, 227, 248-249
Interfaces, DOM
Attr, 195-196
CDATASection, 197
CharacterData, 197-199
Comment, 199
Document, 199-204
DocumentFragment, 205
DocumentType, 205-206
DOMImplementation, 206-207
Element, 207-211
Entity, 211-212
EntityReference, 212
NamedNodeMap, 212-215
Node, 215-222
NodeList, 223-224
Notation, 225
ProcessingInstruction, 225-226
Text, 226
Interfaces, SAX
Attributes, 160, 161, 162-166
ContentHandler, 160, 161, 166-174
DeclHandler, 160, 162
DTDHandler, 160, 161, 175-177
EntityResolver, 160, 161, 177-178
ErrorHandler, 160, 161, 178-181
LexicalHandler, 160, 162
Locator, 160, 161, 181-183
XMLFilter, 160, 161, 183-185
XMLReader, 160, 161, 185-189
Internal DTD subset, 16-17, 18-19
int type, 227, 247-248
ISO-10646 characters, 12, 13
isSupported (Node member), 219
item (NamedNodeMap/IXMLDOMNamedNodeMap member), 214
item (NodeList/IXMLDOMNodeList member), 223
itemType attribute, 283

J

Jagged arrays (arrays of arrays), 379-381
Java
Attributes in, 163, 164-165
Attr in, 195, 196
CharacterData in, 197, 198
ContentHandler in, 166-167, 169,
170-172, 179, 180
Document in, 200, 204
DocumentType in, 205
DOMImplementation in, 206, 207
DTDHandler in, 175-176
Element in, 208, 211
Entity in, 211
EntityReference in, 212
EntityResolver in, 177, 178
Locator in, 181, 182
NameNodeMap in, 212-213, 214-215
Node in, 215-216, 220, 221-222
NodeList in, 223
Notation in, 225
ProcessingInstruction in, 225
serialization of array, 369
serialization of structured type, 368
Text in, 226
XMLFilter in, 183, 184
XMLReader in, 185-186, 188

K

key element, 98, 119-121
key function, 149, 155-156
keyref element, 288, 289, 332, 333
key element, 288, 289, 330-332

L

lang attribute, 125, 134
lang function, 52, 58
Language constructs, 280-286
list, 283-284
restriction, 282-283
simpleType, 281-282
union, 284-286
language type, 249
lastChild (IXMLDOMNode property), 218
last function, 52, 58
length facet, 269-270
length (IVBSAXAttributes property), 163
length (IXMLDOMCharacterData property), 198
letter-value attribute, 125
level attribute, 125
LexicalHandler interface, 160, 162
lexical-handler (SAX property), 191
Lexical space, 229
Line feed character, 8
list, 283-284
Literals, prohibited character, 9-10
Local attribute declaration, 302, 304-305
Local element declarations, 314-315, 319, 344
local-name function, 52, 59
Location path, 35, 39
Location path expressions, 39-47
axis, 41-44
example of, 40
location path abbreviations, 47
location steps, 40-41
node test, 44-46, 54, 57
predicates, 46-47
LocatorImpl class, 162
Locator interface, 160, 161, 181-183
long type, 227, 250
Loops, for-each, 97, 115-116
&lt;, 9-10

M

match attribute, 119, 136, 137
maxExclusive facet, 270-271
maxInclusive facet, 271-272
maxLength facet, 272-274
maxOccurs attribute, 291, 294, 308, 317, 326, 346
media-type attribute, 129
memberTypes attribute, 285
message element, 98, 121-122
Metadata attributes, 5
method attribute, 129
MIME types, 31
minExclusive facet, 274-275
minInclusive facet, 275-276
minLength facet, 276-277
minOccurs attribute, 291, 294, 308, 317, 326, 346
minus-sign attribute, 112
mixed attribute, 309, 311
mod operator, 39, 51
mode attribute, 101, 137, 139-140
Multidimensional arrays, 376-377
multiple attribute, 126
Multireference accessors, 371-372, 380-381
mustUnderstand attribute, 366-367

N

Name, node test by, 44-45
Name and string datatypes
hierarchy of, 23
Name, 229, 251
NCName, 229, 251-252
normalizedString, 229, 256-257
QName, 229, 259
string, 229, 260-261
token, 229, 262-263
name attribute, 103, 105, 106, 112, 114, 119, 131, 133, 136, 137, 144, 145, 148, 281, 303, 306, 311, 317, 326, 331, 333, 334, 349
name (IXMLDOMAttribute member), 195
name (IXMLDOMDocumentType property), 205
NamedNodeMap interface, 212-215
name function, 52, 59
Namespace(s), 1-14
associating element with, 3
attributes and, 6
string value, 38
XInclude, 79
namespace-alias element, 98, 122-124
namespace attribute, 103, 114, 294-295, 298, 327
namespace axis, 42, 43
Namespace declarations, 1, 2-5, 13
scope of, 3
Namespace prefix, 3, 13
namespace-prefixes (SAX feature), 190
namespaces (SAX feature), 190
NamespaceSupport class, 162
namespace type
location-set range based on, 76
location-set start-point based on, 78
namespace-uri function, 52, 60
namespaceURI (IXMLDOMNode property), 217
Name wildcard, 45
NaN attribute, 112
NCNames, 3
negativeInteger type, 227, 252-253
New line character, 95
nextSibling (IXMLDOMNode property), 218
nil attribute, 350-351, 373
nillable attribute, 317
NMTOKENS type, 22
NMTOKEN type, 22
nodeFromID (IXMLDOMDocument member), 203
node() identifier, 46
Node interface, 215-222
NodeList interface, 223-225
nodeName (IXMLDOMNode property), 218
Node-point, 73
Node-set(s), 35, 36, 38, 72
equality/inequality, 49
looping through, 116
sorting, 134-135
union of, 155-156
node-set-expression expression, 89
node-set type, 63, 150, 151
Node string-value, 38
Node test, 40, 44-46, 54, 57
by name, 44-45
by type, 45-46
in XPointer, 74
nodeType (IXMLDOMNode property), 218
nodeValue (IXMLDOMNode property), 218
noNamespaceSchemaLocation attribute, 351-352
nonNegativeInteger type, 227, 254-255
nonPositiveInteger type, 227, 255-256
normalize (Node member), 219
normalize-space function, 53, 60
NOTATION (DTD), 31-32
Notation interface, 225
notation element, 287, 289, 333-335
NOTATION type, 22not function, 53, 61
notationName (IXMLDOMEntity property), 212notations (IXMLDOMDocumentType property), 206
number element, 98, 124-128
number-expression expression, 89
number function, 37, 38, 49, 53, 54, 61-62
number type, 50, 63
Numerical expressions, 39, 51-52
Numeric datatypes (XML Schema)
byte, 227, 232-234
decimal, 227, 235-236
double, 228, 236-237
float, 228, 240-241
hierarchy of, 230
int, 227, 247-248
integer, 227, 248-249
long, 227, 250
negativeInteger, 227, 252-253
nonNegativeInteger, 227, 254-255
nonPositiveInteger, 227, 255-256
positiveInteger, 227, 258-259
short, 227, 259-260
unsignedByte, 228, 263-264
unsignedInt, 228, 264-265
unsignedLong, 228, 265-266
unsignedShort, 228, 266

O

Occurrence modifiers, 19-20
offset attribute, 377
omit-xml-declaration attribute, 129
Open tag, 1, 13
or, 39, 48
order attribute, 134
origin function, 75-76
other type, 54, 57, 63, 151, 156
location-set range based on, 76
otherwise element, 97, 128
output element, 98, 128-130
ownerDocument (IXMLDOMNode property), 218

P

param element, 96, 130-132, 137
Parameter entities, 24, 25
parent axis, 41, 42
parentNode (IXMLDOMNode property), 218
parse attribute, 80
Parsed entities, 24, 25, 30
parse (XMLReader/IVBSAXXMLReader member), 187
parseURL (IVBSAXXMLReader member), 187
pattern expression, 90
pattern facet, 277-278
Patterns, 90-91
pattern-separator attribute, 112
#PCDATA, 19
percent attribute, 112
per-mille attribute, 112
Point location, 73, 74
point type
location-set range based on, 76
location-set start-point based on, 78
Polymorphic accessor, 374
position attribute, 378
position function, 52, 62
positiveInteger type, 227, 258-259
Precedence of equality types, 50
preceding axis, 42
preceding-sibling axis, 42, 43
Predicates, 40, 46-47
Prefix, namespace, 3, 13
prefix (IXMLDOMNode property), 219
preserve-space element, 98, 132, 135
previousSibling (IXMLDOMNode property), 218
priority attribute, 137, 139-140
Procedural programming model, 136
Procedural transformation, 86-87, 137-138
process attribute, 295, 298
Processing instruction element, 97, 133
string value, 38
processing-instruction() identifier, 46
ProcessingInstruction interface, 194, 225-226
processingInstruction (ContentHandler/IVBSAXContentHandler member), 167
processing instruction type, location-set start-point based on, 78
Processor-specific element, testing for, 153
Prohibited character literals, 9-10
Properties, SAX, 190-191
Property(ies)
vendor, 156
vendor-url, 156
version, 156
public attribute, 334
Public identifier, 17-18
publicId (IXMLDOMEntity property), 212
publicId (IXMLDOMNotation property), 225PUBLIC token, 17
putFeature (IVBSAXXMLReader member), 187
putProperty (IVBSAXXMLReader member), 187

Q

QNames type, 89
QName test, 45
QName type, 3, 89
Qualified attributes, 6
Qualified elements, 4-5
Qualified name, 3
&quot;, 9-10

R

range function, 76-77
range-inside function, 77
range location, 73, 74
range-to function, 77-78
range type, location-set start-point based on, 78
Recursive templates, 146-147
redefine element, 288, 335-337
ref attribute, 303, 306, 317, 326
refer attribute, 333
References, character, 13
Relational expressions, 39, 51
Relative URIs, 81, 231
removeAttribute (Element/IXMLDOMElement member), 209
removeAttributeNode (Element/IXMLDOMElement member), 210
removeAttributeNS (Element member), 210
removeChild (Node/IXMLDOMNode member), 219
removeNamedItem (NamedNodeMap/IXMLDOMNamedNodeMap member), 213
removeNamedItemNS (NamedNodeMap member), 214
removeQualifiedItem (IXMLDOMNamedNodeMap member), 214
replaceChild (Node/IXMLDOMNode member), 219
replaceData (CharacterData/IXMLDOMCharacterData member), 198
#REQUIRED attribute, 22
resolveEntity (EntityResolver/IVBSAXEntityResolver member), 177
restriction, 282-283, 290, 337-340
Result tree fragment, 144-145
result-prefix attribute, 123
Reverse document order, 37
Root,
string value, 38
built-in template descriptions for, 93
location-set start-point based on, 78
round function, 53, 62

S

SAX 2.0, 159-191
SAX interfaces and classes, 161-190
Attributes, 160, 161, 162-166
AttributesImpl, 162
ContentHandler, 160, 161, 166-174
DeclHandler, 160, 162
DefaultHandler, 162
DTDHandler, 160, 161, 175-177
EntityResolver, 160, 161, 177-178
ErrorHandler, 160, 161, 178-181
InputSource, 160, 162
LexicalHandler, 160, 162
Locator, 160, 161, 181-183
LocatorImpl, 162
NamespaceSupport, 162
SAXException, 162
SAXNotRecognizedException, 162
SAXNotSupportedException, 162
SAXParseException, 162
XMLFilter, 160, 161, 183-185
XMLFilterImpl, 162
XMLReader, 160, 161, 185-189
XMLReaderFactory, 162
features and properties, 190-191
UML quick reference, 159-160
SAXException class, 162
SAXNotRecognizedException class, 162
SAXNotSupportedException class, 162
SAXParseException class, 162
Schema datatypes, 227-286
anyURI, 229-231
base64Binary, 231-232
boolean, 232
date and time
date, 233-234
dateTime, 228, 234-235
duration, 228, 237-238
gDay, 228, 241
gMonth, 228, 242
gMouthDay, 228, 242-243
gYear, 228, 243-244
gYearMonth, 228, 244
time, 228, 261-262
facets, 267-280
enumeration, 267-268
fractionDigits, 268-269
length, 269-270
maxExclusive, 270-271
maxInclusive, 271-272
maxLength, 272-274
minExclusive, 274-275
minInclusive, 275-276
minLength, 276-277
pattern, 277-278
totalDigits, 278-279
whiteSpace, 279-280
grouping of, 227-229
hexBinary, 245
language, 249
language constructs, 280-286
list, 283-284
restriction, 282-283
simpleType, 281-282
union, 284-286
name and string
hierarchy of, 23
Name, 229, 251
NcName, 229, 251-252
normalizedString, 229, 256-257
QName, 229, 259
string, 229, 260-261
token, 229, 262-263
numeric
byte, 227, 232-234
decimal, 227, 235-236
double, 228, 236-237
float, 228, 240-241
hierarchy of, 230
int, 227, 247-248
integer, 227, 248-249
long, 227, 250
negativeInteger, 227, 252-253
nonNegativeInteger, 227, 254-255
nonPositiveInteger, 227, 255-256
positiveInteger, 227, 258-259
short, 227, 259-260
unsignedByte, 228, 263-264
unsignedInt, 228, 264-265
unsignedLong, 228, 265-266
unsignedShort, 228, 266
XML 1.0
ENTITIES, 228, 238-239
ENTITY, 228, 239-240
ID, 228, 245
IDREF, 228, 246
IDREFS, 228, 246-247
NMTOKEN, 228, 253
NMTOKENS, 228, 253-254
NOTATION, 228, 257-258
schemaLocation attribute, 328, 330, 335, 352-353
schema element, 340-344
Schema elements, 287-355
all, 288, 289, 291-292, 323
annotation, 287, 289, 293
any, 288, 289, 293-297
anyAttribute, 289, 297-300
appinfo, 289, 300-301
attribute, 287, 289, 301-305
attributeGroup, 287, 289, 306-307
choice, 288, 289, 307-309
complexContent, 289, 309
complexType, 287, 289, 310-313
documentation, 289, 313-314
element, 287, 288, 289, 314-320
element groupings, 287-290
extension, 290, 320
field, 288, 324-325
group, 287, 288, 289, 290, 325-327
import, 287, 288, 327-329
include, 287, 288, 329-330
instance attributes, 350-354
nil, 350-351
noNamespaceSchemaLocation,
351-352
schemaLocation, 352-353
type, 353-354
key, 288, 289, 330-332
keyref, 288, 289, 332, 333
notation, 287, 289, 333-335
redefine, 288, 335-337
restriction, 290, 337-340
schema, 340-344
selector, 288, 345
sequence, 288, 290, 346-348
simpleContent, 290, 348
simpleType, 288, 289
unique, 288, 289, 349-350
select attribute, 101, 131, 134, 143, 144, 145, 148
selector element, 288, 345
self axis, 41, 42
sequence compositor, 321-322
sequence element, 288, 290, 346-348
Serialization details, controlling, 130
Serialization rules, SOAP, 367-381
dynamically typed data, 374-375
null references in complex data structure,
372-374
simple structured data, 369-371
structured data with multiple references,
371-372
setAttribute (Element/IXMLDOMElement member), 209
setAttributeNode (Element/IXMLDOMElement member), 209
setAttributeNS (Element member), 210
setContentHandler (XMLReader member), 186
setData (CharacterData/IXMLDOMCharacterData member), 198
setData (ProcessingInstruction member), 226
setDocumentLocator (ContentHandler member), 167
setDTDHandler (XMLReader member), 187
setEntityResolver (XMLReader member), 187
setErrorHandler (XMLReader member), 187
setFeature (XMLReader member), 187
setNamedItem (NamedNodeMap/IXMLDOMNamedNodeMap member), 213
setNamedItemNS (NamedNodeMap member), 214
setNodeValue (Node member), 218
setPrefix (Node member), 219
setProperty (XMLReader member), 187
setValue value (Attr member), 195
short type, 227, 259-260
Simple API for XML. See SAX 2.0
simpleContent element, 290, 348
Simple Object Access Protocol. See SOAP 1.1
simpleType, 281-282, 288, 289
single attribute, 126
Single-reference accessor, 369, 379-380
skippedEntity (ContentHandler/IVBSAXContentHandler member), 167
SOAP 1.1, 357-383
arrays, 368, 375-381
jagged (arrays of arrays), 379-381
multidimensional, 376-377
partial transmission of, 377-378
sparse, 378-379
attributes in, 364-367
actor, 364-365
encodingStyle, 365-366
mustUnderstand, 366-367
elements in, 358-364
Body, 358-359
Envelope, 360
Fault, 360-363
Header, 363-364
HTTP binding, 381-383
introduction to, 357-358
serialization rules, 367-381
dynamically typed data, 374-375
null references in complex data structures, 372-374
simple structured data, 369-371
structured data with multiple references, 371-372
SOAPAction header, 383
source attribute, 301, 313
Space character, 8, 95
Sparse arrays, 378-379
splitText (Text/IXMLDOMText member), 226
standalone attribute, 11, 129
Stand-alone document, 12
startDocument (ContentHandler/IVBSAXContentHandler member), 167
startElement (ContentHandler/IVBSAXContentHandler member), 167
start-point function, 78
startPrefixMapping (ContentHandler/IVBSAXContentHandler member), 167
starts-with function, 53, 63
String
decimal number converted to, 111-113
empty, 4
string-expression expression, 90
string function, 37, 38, 49, 53, 54, 63-64
string-interning (SAX feature), 190
string-length function, 53, 64
string-range function, 78-79
String type, 50
strip-space element, 98, 99, 132, 135
Structured types, 310
Structures, 368
stylesheet-prefix attribute, 123
stylesheet (transform) element, 96, 136, 141-142
substitution attribute, 318
substring-after function, 53, 65
substring-before function, 53, 65
substringData (CharacterData/IXMLDOMCharacterData member), 198
substring function, 53, 64-65
sum function, 53, 66
system attribute, 334
System identifier, 17, 18
systemId (IXMLDOMDocumentType property), 206
systemId (IXMLDOMEntity property), 212
systemId (IXMLDOMNotation property), 225
system-property function, 149, 156
SYSTEM token, 17

T

Tab character, 8, 95
Tagname, 1
tagName (IXMLDOMElement property), 209
Tags, 1, 13
target attribute, 342
target (IXMLDOMProcessingInstruction property), 226
Template(s), 86-87. See also XSL Transformations (XSLT) 1.0
attribute value, 94-95, 103, 104
built-in, 92-93
conditional, 116
overriding, 99
recursive, 146-147
returning values from, 146
template element, 96, 99, 136-140
template type, 89
terminate attribute, 122
Termination, program, 122
test attribute, 148
text element, 97, 140-141
string value, 38
Text() identifier, 46
text type
built-in template descriptions for, 93
location-set start-point based on, 78
Time datatypes. See Date and time datatypes
Tokens, attribute as an enumeration of, 22
tokens type, 89
token type, 89
totalDigits facet, 278-279
transform (stylesheet) element, 96, 136, 141-142
translate function, 53, 66
Tree model, 35, 36
true function, 53, 67
Type(s). See also Datatypes
attribute, 21-22, 78
built-in template descriptions for, 93
location-set range based on, 76
boolean, 50, 63, 232
CDATA, 11, 21
char, 89
ENTITIES, 22
ENTITY, 22
ID, 21
IDREF, 22
IDREFS, 22
NMTOKEN, 22
NMTOKENS, 22
node-set, 63, 150, 151
node test by, 45-46
NOTATION, 22
number, 50, 63
other, 54, 57, 63, 76, 151, 156
QName, 3, 89
QNames, 89
String, 50
template, 89
token, 89
tokens, 89
uri-reference, 89
type attribute, 303, 318, 353-354
Type identifier, 31

U

Unicode, 12
Uniform resource identifier (URI), 3
union element, 284-286
Union of node-sets, 155-156
unique element, 288, 289, 349-350
Unparsed entities, 24, 25, 30-31
unparsed-entity-uri function, 149, 157
Unqualified attributes, 6
Unqualified elements, 3-4
unsignedByte type, 228, 263-264
unsignedInt type, 228, 264-265
unsignedLong type, 228, 265-266
unsignedShort type, 228, 266
URI references
absolute, 231
relative, 231
uri-reference type, 89
URIs
aliasing of, 123
relative, 81
use attribute, 120, 303
use-attribute-sets attribute, 105, 109, 114
UTF-8, 12
UTF-16, 12

V

validation (SAX feature), 190
value attribute, 22, 125
value (IXMLDOMAttribute property), 195
value-of element, 97, 143
Value space, 229
variable element, 96, 99, 144-147
VB
IVBSAXAttributes in, 163, 165-166
IXMLDOMAttribute in, 195, 196
IXMLDOMCharacterData in, 197-198, 199
IVBSAXContentHandler in, 167, 170, 173-174, 179, 180-181
IXMLDOMDocument in, 200-203, 204
IXMLDOMDocumentType in, 205-206
IXMLDOMImplementation in, 206-207
IVBSAXDTHandler in, 175, 176-177
IXMLDOMElement in, 208-210, 211
IXMLDOMEntity in, 211-212
IXMLDOMEntityReference in, 212
IVBSAXEntityResolver in, 177, 178
IVBSAXLocator in, 182, 183
IXMLDOMNameNodeMap in, 213-214, 215
IXMLDOMNode in, 217-219, 220, 222
IXMLDOMNodeList in, 223-224
IXMLDOMNotation in, 225
IXMLDOMProcessingInstruction in, 225-226
serialization of array, 369
serialization of structured type, 368
IXMLDOMText in, 226
IVBSAXXMLFilter in, 184, 185
SAXXMLReader in, 186-187, 189
vendor property, 156
vendor-url property, 156
version attribute, 11, 129, 142, 342
version property, 156

W

warning (ErrorHandler member), 179
Well-formed XML, 13-14
when element, 97, 147-148
Whitespace, 8-9
whiteSpace, 279-280
Whitespace
text to output, 141
XSLT and, 95-96
whiteSpace facet, 279-280
White-space-only text nodes, 132
Whitespace-preserving elements, 135
Wildcards, 45, 296-297, 299-300
with-param element, 97, 148

X

xHexadecimalUnicodeValue, 13
XInclude, 69, 79-81
xml:lang attribute, 313, 342
XML 1.0, 1-14
attributes in, 5-6
CDATA sections, 11
character references, 13
comments in, 7-8
elements in, 1-5
processing instructions, 6-7
prohibited character literals, 9-10
datatypes
ENTITIES, 228, 238-239
ENTITY, 228, 239-240
ID, 228, 245
IDREF, 228, 246
IDREFS, 228, 246-247
NMTOKEN, 228, 253
NMTOKENS, 228, 253-254
NOTATION, 228, 257-258
well-formed, 13-14
whitespace characters in, 8-9
XML declaration, 11-12
XML Base, 81-82
XMLFilterImpl class, 162
XMLFilter interface, 160, 161, 183-185
xmlns, 70
XMLReaderFactory class, 162
XMLReader interface, 160, 161, 185-189
xml-string (SAX property), 191
XPath, 35-67
basic expressions, 48-52
boolean, 37, 38, 48, 49, 54, 58
equality, 48-50
numerical, 51-52
relational, 51
core function library, 52-67
boolean, 53-54
ceiling, 54
concat, 55
contains, 55
count, 56
false, 56
floor, 56-57
id, 57
lang, 58
last, 58
local-name, 59
name, 59
namespace-uri, 60
normalize-space, 60
not, 61
number, 37, 38, 49, 53, 54, 61-62
position, 62
round, 62
starts-with, 63
string, 37, 38, 49, 53, 54, 63-64
string-length, 64
substring, 64-65
substring-after, 65
substring-before, 65
sum, 66
translate, 66
true, 67
data types supported by, 37-38
expressions supported by, 38-39
location path expressions, 39-47
axis, 41-44
example of, 40
location path abbreviations, 47
location steps, 40-41
node test, 44-46, 54, 57
predicates, 46-47
operators, 39
xpath attribute, 324-325, 345
xpointer, 70
XPointer 1.0, 69-79
bare names, 71-72
child sequences, 72
extensions to XPath, 72-74
full, 70-71
function library, 74-79
end-point, 74-75
here, 75
origin, 75-76
range, 76-77
range-inside, 77
range-to, 77-78
start-point, 78
string-range, 78-79
node tests, 74
XPointers, 69
XSL Transformations (XSLT) 1.0, 35, 85-157
conflict resolution in, 91-92
data types and expressions, 89-90
element library, 96-148
if, 97, 116-117
apply-imports, 97, 99-100
apply-templates, 97, 100-102
attribute, 97, 102-104
attribute-set, 98, 104-106
call-template, 97, 106-107
choose, 97, 107-108, 116
comment, 97, 108-109
copy, 97, 109-110
copy-of, 97, 110-111
decimal-format, 98, 111-113
element, 97, 113-114
fallback, 98, 114-115
for-each, 97, 115-116
import, 96, 98, 117-118
include, 96, 98, 118-119
key, 98, 119-121
message, 98, 121-122
namespace-alias, 98, 122-124
number, 98, 124-128
otherwise, 97, 128
output, 98, 128-130
param, 96, 130-132
preserve-space, 98, 132
processing-instruction, 97, 133
sort, 97, 133-135
strip-space, 98, 99, 135
template, 96, 99, 136-140
text, 97, 140-141
transform (stylesheet), 96, 136, 141-142
value-of, 97, 143
variable, 96, 99, 144-147
when, 97, 147-148
with-param, 97, 148
exemplar-based syntax, 94
function library, 148-157
current, 149-150
document, 149, 150-152
element-available, 149, 152-153
format-number, 149, 153-154
function-available, 149, 154-155
generate-id, 149, 155
key, 149, 155-156
system-property, 149, 156
unparsed-entity-uri, 149, 157
patterns, 90-91
programming in, 86-89
templates
attribute value, 94-95, 103, 104
built-in, 92-93
whitespace characters and, 95-96

Z

zero-digit attribute, 112

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020