Index entries in gray refer to XML Schema 1.1.
in NMTOKEN
type, 243
in XML names, 40, 91, 167, 208, 559
in binary types, 249
in NMTOKEN
type, 243
in regular expressions, 161, 165, 172–176
in XML names, 40, 91, 167, 208, 559
in XPath 2.0, 356
in DTDs, 477
in regular expressions, 176–177
;
(semicolon), in regular expressions, 162
in NMTOKEN
type, 243
in time values, 222–225, 233–234
in XML names, 167, 208–209, 246, 559
!= operator (XPath 2.0), 356, 378
in DTDs, 477
in regular expressions, 162, 165, 176–177
/
(slash)
in binary types, 249
//
(XPath), 438
in NMTOKEN
type, 243
in regular expressions, 162, 165, 175
in XML names, 40, 91, 167, 209, 559
^
(circumflex accent), in regular expressions, 165, 173–175
'
(apostrophe), in regular expressions, 163
"
(quote), in regular expressions, 163
in regular expressions, 161–162, 165, 175–178
in XPath 2.0, 355
[ ]
(square brackets), in regular expressions, 160–162, 165, 171–177
{ }
(curly brackets), in regular expressions, 160–162, 165, 176–177
@
(commercial at), in XPath, 436–437
in regular expressions, 162–163, 165, 176–177
operator (XPath 2.0), 356
(backslash), in regular expressions, 161–166, 175
&
(ampersand)
in character entities, 206
in regular expressions, 163
in strings, 205
in regular expressions, 162
%
(percent sign), in URIs, 251–252
in binary types, 249
in DTDs, 477
in regular expressions, 162, 165–166, 176–177
in time values, 234
in XPath 2.0, 356
in regular expressions, 163
in strings, 205
<= operator (XPath 2.0), 356, 378
=
(equals sign)
in binary types, 249
>
(greater than), 163
in regular expressions, 163
>= operator (XPath 2.0), 356, 378
in regular expressions, 160–162, 165, 176–178
-0
(negative zero), numeric value, 213–214
as boolean value, 247
leading/trailing, in numbers, 104, 125, 215–217, 219, 254
1
(boolean value), 247
a
element (HTML), 525
abstract
attribute
of complexType
element, 343, 346–348
syntax of, 671
avoiding in web services, 548
element declarations/references in, 276, 391
in complex types, 390
in named model groups, 386, 391
occurrence constraints in, 276–277, 532
in version 1.1, 625
vs. DTDs, 477
wildcards in, 276
#all
value
in version 1.1, 418
alternative element, 97
type attribute of, 376
xpathDefaultNamespace attribute of, 375, 381
in regular expressions, 163
in strings, 205
ancestor
keyword (XPath), 438
and operator (XPath 2.0), 356, 378
annotation
element, 31, 497–498, 581, 585
vs. non-native attributes, 589
anonymous complex types, 22, 96–97, 260–261
never equal, 269
vs. named, 550
anonymous simple types, 22, 96
definitions of, 120–121, 132–133
readability of, 134
ANY
specifier (DTDs), 474, 480
any
wildcard, 27, 285–288, 480, 601
namespace
attribute of, 287, 329
notNamespace
attribute of, 289–290
notQName
attribute of, 290
processContents
attribute of, 287–289
##any
value (namespace
attribute on wildcard), 287, 329
anyAtomicType
type, 203
anyAttribute
wildcard, 27, 298, 398, 602
namespace
attribute of, 298, 315–316, 336–337
notNamespace
attribute of, 298
notQName
attribute of, 298
processContents
attribute of, 298, 315–316, 336–337, 602–603
facets applicable to, 253, 698
'
entity reference, 163
appinfo
element, 31, 581, 587–588
applications
ignoring irrelevant elements and attributes in, 635
providing information for, 6, 31
appliesToEmpty attribute (defaultOpenContent element), 298
syntax of, 672
xpathDefaultNamespace attribute of, 375
xpathDefaultNamespace attribute of, 375
for union types, 185
multiple on the same type, 355
using XPath 2.0 for, 352
with multistep paths, 368
with predicates, 368
assisted editing, 541
asterisk. See *
atoms, in regular expressions, 161–176
attribute declarations, 4, 18, 115–122, 281–284
from a different namespace, 117
global, 115–117, 119–120, 394, 550
local, 19, 117–120, 122, 281, 339, 394, 550
location of, in type definitions, 281
removing, 619
reusing, 597
target namespace of, 48
vs. wildcards, 619
default
attribute of, 123
fixed
attribute of, 123
form
attribute of, 122
inheritable attribute of, 126–127
name
attribute of, 117
syntax of:
targetNamespace attribute of, 339–341
type
attribute of, 120–121, 394
use
attribute of, 117, 119, 283, 394, 482–483, 688
attribute group references, 395–399
in complex type definitions, 284, 396
location of, in type definitions, 281
attribute groups, 19, 32, 120, 392–400, 544
attribute references in, 394
local attribute declarations in, 394
location of, in type definitions, 281
duplicating (illegal), 397
order of, 396
overriding, 459, 467, 491–492, 613–614
redefining, 449, 451, 456–458, 490–491, 600, 611–612
reusing, 597
vs. complex type extension, 403
in attribute groups, 394
location of, in type definitions, 281
attribute wildcards, 27, 298, 602
extending complex types with, 315
for forward compatibility, 623
processContents
attribute of, 315, 336
vs. attribute declarations, 619
See also anyAttribute
element
attributeFormDefault
attribute (schema
element), 77, 122
ignoring for attribute names, 580
qualified
value of, 122
syntax of, 672
unqualified
value of, 122
attributeGroup
element, 393
ref
attribute of, 395
syntax of:
attributes, 19
and default namespace declarations, 39
applicable to all elements, 79–81
co-constraints for, 33
inherited, 126–127, 283, 382–383
names of, 4, 117, 545, 559–563
changing, 619
duplicating (illegal), 45, 119, 397, 470
qualified (prefixed), 44–46, 117, 119–120, 122–123, 580
unqualified, 40, 119, 122–123, 580
nillable, 435
required vs. optional, 117, 119, 123, 143, 283, 333, 457, 482, 618–619, 627
reusing, 302
types associated with, 4, 18, 21, 120–121, 125, 236–246, 457
enumerated, 481
units of measurement in, 130
values of:
default, 82, 114, 123–124, 283, 333, 457, 482, 499, 548
fixed, 82, 123, 125, 283, 333, 457, 548
validating, 114
whitespace in, 82
vs. elements, 113
avg function (XPath 2.0), 363
b
element (HTML), 525
backslash, in regular expressions, 161–166, 175
backward compatibility, 618–622
and version numbers, 626, 631–632
base
attribute (restriction
) element, 136
syntax of, 672
base64 encoding, 249
facets applicable to, 250, 698
values of:
empty, 143
length of, 249
BIDI elements, 207
facets applicable to, 250, 698
values of:
valid, 145
block
attribute
empty value of, 345
of complexType
element, 343–346
of element
element, 322, 346, 418–419
restriction
value of, 344, 420
substitution
value of, 420
block
element (XSL-FO), 525
blockDefault
attribute (schema
element), 77, 345
syntax of, 673
facets applicable to, 698
bounds facets, 142
applicable to:
date and time types, 235
duration types, 230
changing restrictiveness of, 619–620
br
element (HTML), 265
branches (in regular expressions), 159–161, 177–178
built-in types, 23, 201–255, 691–695
facets applicable to, 138–139, 141, 152, 695–698
namespace of, 50
byte
type, 218
facets applicable to, 696
C
, in category escapes, 169
c
and C
, multicharacter escapes, 167
camel case, 560
carriage return character
in regular expressions, 163, 165–166
in strings, 151
CDATA
data type specifier (DTDs), 481
chameleon namespaces, 65–66, 565, 572–574
character class escapes, 161, 164
multicharacter, 166
single-character, 165
character class expressions, 161, 171
escaping, 175
list of characters in, 171
ranges in, 172
subtracting from, 174
chatty services, 522
avoiding in web services, 548
compatibility of, 619
element wildcards in, 609
extending, 309, 489–490, 607–608
in complex types, 390
in named model groups, 386
meaningless, 321
occurrence constraints in, 274–275
vs. DTDs, 477
vs. substitution groups, 414–415
circumflex accent, in regular expressions, 165, 173–175
class hierarchies, 518
co-constraints, 586
code generating, 541
collapse
value (whiteSpace
facet), 104, 125, 151–152, 189, 205–206, 255
colon. See :
comma. See ,
common components libraries, 597–598
backward, 618–622, 626, 631–632
deriving complex types from, 304–305
in version 1.1, 320
vs. database tables, 504
vs. DTDs, 476
attribute group references in, 396
attribute wildcards in, 298, 398, 602
attributes in, 115–119, 281, 283–284, 397
element declarations in, 93, 266–268, 387
element wildcards in, 601
ID
attributes in, 236
named model groups in, 278–279, 387, 389
repeating element names in, 415–416
anonymous, 22, 96–97, 260–261, 269, 550
associating with element names, 96
base type of, 302, 314–315, 319
extending, 22, 27, 302–303, 305–316, 403, 606
named, 258–260, 484–485, 550, 559–560, 597
preventing derivation of, 343–344
redefining, 449, 451, 453–454, 600, 609
restricting, 22, 27, 301–303, 316–337, 455, 603
reusing, 597
vs. named model groups, 403–404
vs. OO classes, 514
vs. simple types, 21
with open content, 604
complexContent
element, 304
complexType
element, 28, 96, 258–261
abstract
attribute of, 343, 346–348
defaultAttributes attribute of, 400
mixed
attribute of, 265
no direct element declarations in, 270
syntax of:
anonymous definition, 261, 655
conditional expressions (XPath), 369–370
conditional inclusion, 642
conditional type assignment, 375–383
inherited attributes in, 382–383
with declared types, 378
with default types, 377
contains function (XPath 2.0), 357
absence of, for empty content, 479
and web services, 548
eliminating meaningless groups in, 320–321
location of extensions in, 600, 611
named model groups in, 390
nondeterministic, 280, 470, 602
open, 27, 292–298, 311, 600, 619
content types, 25–26, 266, 473–480
See also complex, element-only, empty, mixed, simple content
Coordinated Universal Time. See UTC
Costello, Roger, 550
count function (XPath 2.0), 363
curly brackets, in regular expressions, 160–162, 165, 176–177
d
multicharacter escape, 160–161, 166–167, 173
D
multicharacter escape, 166
dash. See -
data binding tools
and generic elements, 520
processing relationships in, 511
databases
coupling with XML messages, 504
generating instances from, 82
names in, 560
tables and columns in, 504
datatypes, 201
date and time types, 221–235, 693
comparing dates in, 235
facets applicable to, 142, 235, 696–697
date
type, 221
facets applicable to, 696
facets applicable to, 697
facets applicable to, 697
facets applicable to, 697
DCD (Document Content Description), 11
DDML (Document Definition Markup Language), 11
canonical representation of, 215
facets applicable to, 216, 696
declarations, 18
See also attribute, element, namespace declarations
default
attribute
of attribute
element, 123, 283, 482
of element
element, 101
syntax of, 673
default values
avoiding in web services, 548
for nils, 107
of attributes, 82, 114, 123–124, 283, 333, 457, 482, 499
of elements, 82, 101–103, 110, 269
of occurrence constraints, 477
defaultAttributes attribute (schema element), 284, 399–400
syntax of, 674
defaultAttributesApply attribute (schema element), 284, 400
syntax of, 674
##defaultNamespace value (xpathDefaultNamespace attribute), 375
defaultOpenContent element, 295–298
mode attribute of, 296
##defined value (notQName attribute), 290–291, 625
##definedSibling value (notQName attribute), 290–291, 625
definitions, 18
order of, 19
See also complex type definitions
deprecated
element, 638
derivation. See type derivation
descendant
keyword (XPath), 438
deterministic content models, 279–280
digits
in binary types, 249
in NMTOKEN
type, 243
in regular expressions, 161–162, 166, 168
in XML names, 40, 91, 208, 559
distinct-values function (XPath 2.0), 363
div operator (XPath 2.0), 356
DocBook, 526
documentation, 6–7, 31, 580–592
generating from schemas, 541, 545, 584
human-readable, 497–498, 541, 545, 581
reusing, 584
separate authoring, 527
documentation
element, 497–498, 581–584
source
attribute of, 582
documents. See schema documents
canonical representation of, 213
facets applicable to, 215, 696
DTDs (Document Type Definitions), 9–10, 473–499
attributes in, 475
converting to schemas, 10
empty content in, 479
limited support of namespaces in, 564
occurrence constraints in, 477
parameter entities in, 483–492
reusing:
unparsed entities in, 240, 242, 493, 496
using with schemas, 499
whitespace handling in, 474
wildcards in, 480
facets applicable to, 697
e
or E
(exponent), in numbers, 213–214
e-book readers, 524
element declarations, 4, 18, 89–110
abstract, 420
identity constraints in, 425
in model groups, 270, 276–279, 387, 391
in substitution groups, 95, 114
local, 19, 93–96, 99, 266, 339, 550, 578
missing external components in, 76
occurrence constraints in, 94
referencing types in, 96
removing, 619
reusing, 597
target namespace of, 48
vs. OO instance variables, 514
vs. wildcards, 280, 604, 619, 624
abstract
attribute of, 418, 420
block
attribute of, 322, 346, 418–419
default
attribute of, 101
fixed
attribute of, 101
form
attribute of, 100
nillable
attribute of, 109
substitutionGroup
attribute of, 410–412
syntax of:
global declaration, 90–91, 656
targetNamespace attribute of, 339–341
type
attribute of, 96–97, 267, 387
in model groups, 270, 276–279, 388, 391
occurrence constraints in, 92
element substitution groups. See substitution groups
element wildcards, 27, 285–288, 601
for forward compatibility, 623
in choice
groups, 609
overlapping values of, 280
vs. element declarations, 604, 619
in version 1.1, 624
in version 1.1., 280
See also any
, replacement elements
elementFormDefault
attribute (schema
element), 77, 99, 101, 578
overriding, 100
qualified
value of, 99, 402, 576
syntax of, 674
unqualified
value of, 77, 99, 101, 577–578
extending, 305
restricting, 317
block vs. inline, 525
co-constraints for, 33
generic, 520
names of, 4, 96, 545, 559–563, 597
changing, 619
in XPath, 439
qualified, 91, 98–100, 575, 580
searching in content, 525
unprefixed qualified, 40
vs. names of rows in databases, 506
nillable, 103, 106–110, 115, 143, 435
and identity constraints, 110
of derived declarations, 322
order of, 115, 270–272, 506, 536, 619
in narrative content, 526
in all
groups, 532
required vs. optional, 143, 271, 531, 536, 618–619, 627
separate vs. composite values, 532–533
types associated with, 4, 18, 20–21, 96
values of:
and units of measurement, 130
data types for, 535
default, 82, 101–103, 107, 110, 269, 548
fixed, 82, 101–104, 110, 321, 548
whitespace in, 82
vs. attributes, 114
else keyword (XPath 2.0), 369–370
empty attribute values, 124, 145
applying default open content to, 298
vs. DTDs, 479
empty function (XPath 2.0), 358
EMPTY
specifier (DTDs), 474, 479
ends-with function (XPath 2.0), 358
facets applicable to, 243, 697
in DTDs, 481
facets applicable to, 241, 697
enumeration
facet, 137, 145–148, 481
case-insensitive, 155
for derived types, 140
for list types, 192–194, 240, 243–244
for union types, 185
error built-in type (XML Schema namespace), 380–381
escapes. See character class escapes
exists function (XPath 2.0), 358
explicitTimezone facet, 137–138, 150
syntax of, 657
extensibility, 8, 542–543, 599–614
and anonymous types, 134
intermediate elements for, 531
extension
of all groups, 606
of choice
groups, 489–490, 607–608
of complex types, 22, 27, 302–303, 305–316, 403, 516, 606
of content models, 27, 305–313, 607
of schemas, 8, 531, 542–543, 599–614
of sequence
groups, 486, 488, 606–607
extension
element, 303, 305, 625
syntax for:
extension
value
of final
attribute, 153, 343, 419
facetAvailable attribute (Version Control namespace), 645–646
syntax of, 675
applicability of, 138, 204, 695
changing restrictiveness of, 619–620
implementation-defined, 155, 642
order of, 136
facetUnavailable attribute (Version Control namespace), 645–646
syntax of, 675
false function (XPath 2.0), 358
field
element
xpath
attribute of, 435
xpathDefaultNamespace attribute of, 375
final
attribute
in version 1.1, 418
extension
value of, 153, 343, 419
list
value of, 153
of complexType
element, 343–344
of simpleType
element, 152–153
restriction
value of, 153, 343, 419
syntax of:
on complex type, 675
on element, 676
on simple type, 676
union
value of, 153
finalDefault
attribute (schema
element), 77, 153, 344
syntax of, 676
fixed
attribute
of attribute
element, 123, 283, 482, 631
of element
element, 101
syntax of:
on declaration, 677
on facet, 677
fixed values
avoiding in web services, 548
of attributes, 82, 123, 125, 283, 333, 457
of elements, 82, 101–104, 110, 321
of schema’s version, 631
#FIXED
specifier (DTDs), 483
canonical representation of, 213
facets applicable to, 215, 696
floating-point numbers, 213
form
attribute
ignoring for attribute names, 580
of attribute
element, 122
of element
element, 100
syntax of, 677
unqualified
value of, 100, 122
forward compatibility, 623–626
fractionDigits
facet, 137, 145
applicability of, 138
fixed, 141
for numeric types, 219
fragment identifiers, in URIs, 251
Garden of Eden design, 555–557
gDay
type, 228
facets applicable to, 697
general entities (DTDs), 493, 499
gMonth
type, 227
facets applicable to, 697
facets applicable to, 697
granularity of data, 130
ref
attribute of, 388–389, 519
syntax of:
group references, 388
nested, 392
occurrence constraints in, 386, 390
self-referencing, 456
>
entity reference, 163
gYear
type, 225
facets applicable to, 697
gYearMonth
type, 226
facets applicable to, 697
hexadecimal encoding, 162, 248
facets applicable to, 250, 698
values of:
comparing, 255
empty, 143
length of, 249
hyperlinks, 525
hyphen. See -
i-
, in language names, 211
i
and I
, multicharacter escapes, 167
IANA (Internet Assigned Numbers Authority), 211
id
attribute, 678
facets applicable to, 237, 697
for containment relationships, 511
in attribute groups, 394
in DTDs, 481
limitations of, 424
unique values of, 236
using attributes for, 115
identity constraints, 19, 32, 238, 423–444
changing restrictiveness of, 322
definitions of, 18
for containment relationships, 511
location of, in element declarations, 425
comparing values of, 254
facets applicable to, 238, 697
for containment relationships, 511
in DTDs, 481
limitations of, 424
using attributes for, 115
comparing values of, 254
facets applicable to, 240, 697
in DTDs, 481
if keyword (XPath 2.0), 369–370
#IMPLIED
specifier (DTDs), 483
and namespaces, 49, 85, 568–572
namespace
attribute of, 68
schemaLocation
attribute of, 68, 85
top-level location of, 68
vs. DTDs, 492
include
element, 29, 62–66, 450, 565–568
chameleon, 65–66, 565, 572–574
schemaLocation
attribute of, 63
top-level location of, 63
vs. DTDs, 492
indexes, for narrative content, 525
INF
(infinity), numeric value, 213–214
-INF
(negative infinity), numeric value, 213–214
+INF (positive infinity), numeric value, 213–214
inheritable attribute (attribute element), 126–127, 283, 382–383
syntax of, 678
upgrading with XSLT, 639
XHTML representation of, 587
xsi:schemaLocation
attribute of, 30
int
type, 217
canonical representation of, 204
facets applicable to, 696
facets applicable to, 141, 217, 696
preceding sign rule for, 217
restricting, 142
canonical representation of, 217
values of:
vs. strings, 220
interleave
value (mode
attribute), 293, 311
internationalization, 582
IRIs (Internationalized Resource Identifiers), 251
Is
(in block escapes), 170
ISO 11179 standard, 584
ISO 3166 standard, 211
ISO 639 standard, 211
ISO 8601 standard, 221
ISO/IEC 19757-2 standard, 12
anonymous, 189
length of, 192
restricting, 198
unions for, 196
itemType
attribute, 189
syntax of, 678
changing restrictiveness of, 322
names of, 426
selectors in, 426
key
element
for containment relationships, 511
syntax of:
changing restrictiveness of, 322
names of, 426
selectors in, 426
keyref
element
for containment relationships, 511
refer
attribute of, 430
syntax of:
L
, in category escapes, 168
lang
attribute (XML namespace), 59, 120, 211
syntax of, 678
facets applicable to, 213, 696
last function (XPath 2.0), 364
lax
value (processContents
attribute), 288, 291, 602–603
in open content, 605
changing restrictiveness of, 619–620
for binary types, 249
for list types, 192, 240, 243–244
letters
in binary types, 249
in NMTOKEN
type, 243
in regular expressions, 161, 168
in XML names, 40, 91, 167, 208, 559
in regular expressions, 163–166
in strings, 151
comparing, 253
derived from string-based types, 195
disadvantages of, 190
empty, 192
facets applicable to, 182, 189–194, 240, 243–244, 698
item types of, 182, 188, 196–197
no absent or nil items in, 189–190
restricting, 136, 182, 190–194
list
value (final
/finalDefault
attributes), 153
local names, 40
##local
value
of namespace
attribute, 287
of notNamespace attribute, 289
of xpathDefaultNamespace attribute, 375
localization, 582
long
type, 217
facets applicable to, 696
lower-case function (XPath 2.0), 357
<
entity reference
in regular expressions, 163
in strings, 205
M
in category escapes, 168
mantissa, in numbers, 213
marks, in regular expressions, 168
matches function (XPath 2.0), 358
max function (XPath 2.0), 363
for date and time types, 235
for duration types, 230
fixed value of, 140
for date and time types, 235
for duration types, 230
changing restrictiveness of, 619–620
for list types, 192, 240, 243–244
maxOccurs
attribute
changing restrictiveness of, 321, 324–329
default value of, 477
for replacement elements, 286
in all
groups, 277
in element declarations, 94, 267, 322
in element references, 92, 267
in element wildcards, 602
in group references, 386, 390, 456
syntax of, 679
in all groups, 276
in choice
groups, 274
vs. DTDs, 477
maxVersion attribute (Version Control namespace), 641
syntax of, 679
memberTypes
attribute, 184–185
syntax of, 679
metacharacters, 162
using attributes for, 526
min function (XPath 2.0), 363
for date and time types, 235
for duration types, 230
fixed value of, 140
for date and time types, 235
for duration types, 230
changing restrictiveness of, 619–620
for list types, 192, 240, 243–244
minOccurs
attribute
changing restrictiveness of, 321, 324–329
default value of, 477
for defaulted elements, 102
for replacement elements, 286
in choice
groups, 275
in element declarations, 94, 267
in element references, 92, 267
in element wildcards, 602
in group references, 386, 390, 456
in sequence
groups, 271
syntax of, 680
vs. DTDs, 477
minus sign. See -
minVersion attribute (Version Control namespace), 641
syntax of, 680
of complexContent
element, 305
of complexType
element, 265
syntax of, 680
mixed content, 25–26, 207–208, 264
avoiding in web services, 548
default/fixed values for, 102
vs. DTDs, 478
mod operator (XPath 2.0), 356
mode attribute
of defaultOpenContent element, 296
of openContent element, 293, 311
suffix value of, 293, 296, 311, 329
syntax of, 681
definitions of, 18
named. See named model groups nesting, 26, 275–276
See also all
, choice
, sequence
group
modifiers, in regular expressions, 168
multicharacter escapes, 166
N
, in category escapes, 168–169
single-character escape, 163–165
of attribute
element, 117
of element
element, 92, 339, 387
of group
element, 386
syntax of, 681
facets applicable to, 209, 695
named complex types, 22, 258–260
extending, 606
referencing in element declarations, 96
reusing, 597
vs. anonymous, 550
vs. DTDs, 484
named model groups, 19, 32, 385–392, 544
all
groups in, 391
element declarations in, 387
element references in, 388
occurrence constraints in, 386
redefining, 449, 451, 454–456, 600, 611–612
in complex types, 278–279, 389–391
in named model groups, 392
reusing, 597
target namespace of, 48
vs. OO concepts, 519
vs. type derivation, 403–404, 520
See also all
, choice
, sequence
group
in local attributes, 120
referencing in element declarations, 96
reusing, 597
capitalization in, 560
case sensitiveness of, 40, 559
changing, 619
disallowed for replacement elements, 289–291
duplicating (illegal), 45, 119, 397, 470
good practice of, 545, 559–563
in databases and programming languages, 560
length of, 560
non-colonized, 37, 40, 91, 210
prefixed, 40
of attributes, 44–46, 117, 119–120, 122–123, 580
of elements, 91
qualified local, 98–100, 575, 580
searching in content, 525
separators in, 560
terms and abbreviations in, 561–562
uniqueness of, 19, 557, 568, 574
of attributes, 122
of elements, 39
undeclaring default namespace with, 43
unqualified, 40
of attributes, 119, 122–123, 580
of elements, 96
unqualified local, 98–101, 576–580
namespace
attribute
##local
value of, 287
##other
value of, 287, 323, 602
##targetNamespace
value of, 287
of attribute wildcard, 298, 315–316, 336–337
of derived attribute declaration, 335–336
of derived element declaration, 322
of element wildcard, 287
of import
element, 68
of restricted open content, 329–330
syntax of:
on import, 682
on wildcard, 681
namespace declarations, 29, 37–39
and attributes, 39
scope of, 41
setting in schema documents, 52–54
namespace-qualified names. See qualified names
and conditional type assignment, 381–382
and named model groups, 401–403
chameleon, 65–66, 565, 572–574
for path expressions, 60
disallowed for replacement elements, 289–291
limited support in DTDs for, 564
multiple in an instance, 85
case sensitiveness of, 36
version numbers in, 632
of overridden schema documents, 459–462, 572
of redefined schema documents, 448, 450, 572, 600
of replacement elements, 287
target. See target namespace
Namespaces in XML recommendation, 36–37
NaN
(Not a Number), numeric value, 213–214
comparing values of, 254
facets applicable to, 210, 695
NCNames. See non-colonized names
NDR (Naming and Design Rules), 548, 601
negation, in regular expressions, 165, 173–175
negative infinity. See -INF
negative sign. See -
negativeInteger
type, 217
facets applicable to, 696
newline. See line feed character
nil
attribute (XSI namespace), 51, 80, 103, 107–110, 143
syntax of, 682
nillable
attribute (element
element), 109
of derived element declarations, 322
syntax of, 682
NLM XML, 526
facets applicable to, 244, 697
in DTDs, 481
NMTOKENS
type, 244
facets applicable to, 245, 697
in DTDs, 481
noNamespaceSchemaLocation
attribute (XSI namespace), 51, 80, 83–84, 86
syntax of, 683
non-colonized names (NCNames), 37, 40, 91, 210
nondeterministic content models, 280, 470, 602
none
value (mode
attribute), 293, 331
non-native attributes, 588–589, 629
nonNegativeInteger
type, 217
facets applicable to, 696
nonPositiveInteger
type, 217
facets applicable to, 696
normalizedString
type, 205–208, 481
facets applicable to, 205–207, 695
whitespace in, 151–152, 205–206
normalize-space function (XPath 2.0), 357
not function (XPath 2.0), 358, 378
notation
element, 494
syntax of, 664
facets applicable to, 246, 697
restricting, 495
notations, 19, 245–246, 493–496
and unparsed entities, 496
overriding, 459
reusing, 597
target namespace of, 48
notNamespace attribute
##local value of, 289
##targetNamespace value of, 289
of attribute wildcard, 298
syntax of, 683
notQName attribute
##defined value of, 290–291, 625
##definedSibling value of, 290–291, 625
of attribute wildcard, 298
syntax of, 683
number sign. See #
numbers
decimal, 215
floating-point, 213
in regular expressions, 168
number of digits in, 137, 139, 144–145, 148–149
number of fractional digits in, 137, 145
numeric types, 213–220, 692–693
facets applicable to, 142, 148, 696
OASIS international consortium, 12
object-oriented concepts, 514–522
occurrence constraints
changing restrictiveness of, 321, 324–329, 618–620
for defaulted elements, 102
for replacement elements, 286
in choice
groups, 275
in element declarations, 94, 267, 322
in element references, 92, 267
in element wildcards, 602
in group references, 386, 390, 456
in sequence
groups, 271
vs. DTDs, 477
open content, 292–298, 604–605
adding/removing, 619
and forward compatibility, 625
vs. other extension mechanisms, 600
openContent element, 292, 311, 604
mode attribute of, 293, 311, 329–330
removing in restriction, 331
optional
value
of use
attribute, 283
of value
attribute, 150
or operator (XPath 2.0), 356, 378
##other
value (namespace
attribute on wildcard), 287, 323, 602
override element, 459–463, 612–614
order of new definitions in, 463
top-level location of, 462
overrides, 33, 459–471, 612–614
and target namespace, 459–462, 572
of attribute groups, 467, 491–492
of complex types, 465
of global declarations, 466
of named model groups, 467
vs. DTDs, 488
vs. other extension mechanisms, 600
P
in category escapes, 168
p
element (HTML), 525
p
multicharacter escape, 161, 169–170, 177
P
multicharacter escape, 169–171
parameter entities (DTDs)
external, 492
for attribute extensions, 490–491
parent
keyword (XPath), 438
parentheses. See ( )
particles (of complex type), 262
path expressions (XPath), 367–369, 435–440
default namespace for, 60
pattern
facet, 137, 139, 148–149
changing restrictiveness of, 619–620
for derived types, 140
for duration types, 231
for list types, 194
for numeric types, 219
for union types, 185
multiple occurrences of, 148
#PCDATA
specifier (DTDs), 474–475, 478
percent sign, in URIs, 251–252
performance, 82
period. See .
Perl programming language, 159
plus sign. See +
position function (XPath 2.0), 364
positiveInteger
type, 217
facets applicable to, 696
prefixed names, 40
of attributes, 44–46, 120, 122
in path expressions, 439
mapping to:
XML Schema Namespace, 38, 50–52
naming rules for, 41
prelexical facets, 151
preprocess facet (Saxon), 155
preserve
value (whiteSpace
facet), 104, 125, 151–152, 205, 254
primitive types, 203
additional, 203
processContents
attribute
and forward compatibility, 623
lax
value of, 288, 291, 602–603
in open content, 605
of attribute wildcard, 298, 315–316, 336–337, 602–603
syntax of, 684
prohibited
value
of use
attribute, 283
of value
attribute, 150
proxy schemas, 74
public
attribute (notation
element), 493
syntax of, 684
punctuation signs, in category escapes, 168
intermediate elements for, 527–531
QName
type, 246
comparing values of, 254
facets applicable to, 247, 698
qualified names (QNames), 40, 98–100, 246
local part of, 40
of attributes, 44–46, 122, 580
qualified
value
of attributeFormDefault
attribute, 122
of elementFormDefault
attribute, 99, 402, 576
quantifiers (in regular expressions), 161, 165–166, 176–177
question mark. See ?
"
entity reference, 163
single-character escape, 163, 165
RDDL (Resource Directory Description Language), 590–592
readability
and named/anonymous types, 134
and namespace prefixes, 37
of smaller schema documents, 557
top-level location of, 451
and target namespace, 448, 450, 572
avoiding in web services, 548
of attribute groups, 456–458, 490–491
of named model groups, 454–456
ripple effect of, 451
ref
attribute
of attribute groups, 395
of identity constraints, 442
of named model groups, 388–389
syntax of, 684
refer
attribute (keyref
element), 430
syntax of, 684
regular expressions, 148–149, 159–178
nested, 175
quantifiers in, 161, 165–166, 176–177
ranges in, 173
relationship elements, 512–514
one-to-many, 507
one-to-one, 507
with relationship elements, 512–514
RELAX NG schema language, 12–14
replace
value (whiteSpace
facet), 151–152, 205
disallowed namespaces and names of, 289–291
in derived element declarations, 323
namespaces of, 287
occurrence constraints for, 286
any number of, 293
validating, 289
See also element wildcards
representation, 525
of use
attribute, 283
#REQUIRED
specifier (DTDs), 483
of all
groups:
in version 1.1, 625
of attribute wildcards, 458
of content models, 455
of integer types, 142
of item types, 198
of list types, 136, 182, 190–194
of notations, 495
of simple types, 135–136, 138–140, 182
of union types, 185
with regular expressions, 148–149
restriction
element
base
attribute of, 136
syntax for:
restriction
value
of final
attribute, 153, 343, 419
reusability, 8
and anonymous types, 134
reusable groups. See named model groups
RFC 2396 standard, 251
RFC 3066 standard, 211
RFC 3548 standard, 249
RFC 3987 standard, 251
RFC 4646 standard, 211
RFC 4647 standard, 211
specific for individual operations, 523
round function (XPath 2.0), 358
round-half-to-even function (XPath 2.0), 358
Ruby annotations, 207
S
in category escapes, 169
in durations, 229–230, 232–233
s
and S
, multicharacter escapes, 166
SAX (Simple API for XML), 635
saxon:preprocess facet, 155, 643, 646
defaults of, 77
missing external components of, 76
modularizing, 28–30, 57, 62, 492, 557–559, 565–574, 597
namespace declarations in, 52
overriding, 461
reusing, 544
top level of, 19
global declarations at, 89, 115
imports at, 68
includes at, 63
named model groups at, 386
overrides at, 462
redefines at, 451
version numbers of, 59, 628–629
fixed, 631
schema
element, 28, 58–60, 393
attributeFormDefault
attribute of, 77, 122, 580
blockDefault
attribute of, 77, 345
defaultAttributes attribute of, 399–400
elementFormDefault
attribute of, 77, 99–101, 576, 578
finalDefault
attribute of, 77, 153, 344, 419
version
attribute of, 59, 626, 628–629, 631, 689
xml:lang
attribute of, 59
xpathDefaultNamespace attribute of, 60, 373–375, 441
schemaLocation
attribute
of include
element, 63
syntax of, 685
schemaLocation
attribute (XSI namespace), 30, 51, 80, 83–87, 588
of imported documents, 571
designing, 7–8, 502, 526–527, 539–580
documenting changes to, 637
extending, 8, 531, 542–543, 599–614
generating documentation from, 541, 584
interoperability of, 518
mapping to XHTML forms, 586
portability of, 156
preprocessing, 642
reusing, 8, 543–544, 557, 584, 596–597
tool compatibility of, 547
using with DTDs, 499
versioning, 531, 547–549, 558–559
Schematron schema language, 13–14
selector
element
xpath
attribute of, 435
xpathDefaultNamespace attribute of, 375
semicolon, in regular expressions, 162
separators, in category escapes, 169
in complex content extensions, 307–308
in complex types, 390
in named model groups, 386
meaningless, 321
occurrence constraints in, 271
overriding, 488
turning into all
or choice
group, 619
vs. DTDs, 477
service contracts, 541
short
type, 218
facets applicable to, 696
assertions for, 354
default/fixed values for, 102
deriving complex types from, 303–304
vs. database columns, 504
vs. DTDs, 475
simple types, 19, 21, 23–25, 129–156
anonymous, 22, 96, 120–121, 132–134, 550
associating with element names, 96
base type of, 135–136, 139, 182
built-in. See built-in types
changing restrictiveness of, 619
deriving, 182
global, 22
implementation-defined, 154, 642–645
local, 19
named, 120–121, 131–134, 550, 559–560, 597
patterns in, 160
preventing derivation of, 152–153
redefining, 449, 452–453, 600, 609
restricting, 24, 135–136, 138–140, 182
with regular expressions, 148–149
reusing, 597
turning into unions/lists, 619
values of:
comparing, 253
default/fixed, 102
vs. complex types, 21
vs. datatypes, 201
vs. DTDs, 474
simpleContent
element, 263, 303–304, 306
syntax of:
anonymous definition, 133, 669
using with restriction
, 136
single-character escapes, 165
skip
value (processContents
attribute), 287–289
smartphones, 524
source
attribute (documentation
element), 582
syntax of, 685
SOX (Schema for Object-oriented XML), 11
space character
in regular expressions, 162–163, 166
square brackets, in regular expressions, 160–162, 165, 171–172
starts-with function (XPath 2.0), 357
strict
value (processContents
attribute), 288–289
facets applicable to, 205–207, 695
values of:
whitespace in, 104, 125, 151–152, 205–206, 254
deriving list types from, 195
values of:
valid, 145
vs. integers, 220
string-length function (XPath 2.0), 357
stylesheet
element (XSLT), 631
substitution groups, 32, 407–414, 607–609
and data binding tools, 518
compatibility of, 619
disadvantages of, 417
element declarations in, 95, 114
for inline elements, 525
vs. DTDs, 489
vs. other extension mechanisms, 600
substitution
value (block
/blockDefault
attributes), 420
substitutionGroup
attribute (element
element), 410–412
syntax of, 685
substring, substring-after, substring-before functions (XPath 2.0), 357
suffix
value (mode
attribute), 293, 296, 311, 329
sum function (XPath 2.0), 364
system
attribute (notation
element), 121, 493
syntax of, 686
T
in dates, 223
in durations, 229–230, 232–233
single-character escape, 163, 165
tab character
in regular expressions, 163, 165–166
tables of contents, for narrative content, 525
target namespace, 28–29, 48–54
and conditional type assignment, 381
and global attributes, 117
and identity constraints, 54
and named model groups, 401
and notations, 494
changing, 619
making default, 52
multiple in assembled schema documents, 28–29
of overridden schema documents, 459–462, 572
of redefined schema documents, 448, 450, 572
targetNamespace
attribute
of element or attribute elements, 339–341
syntax of:
on local declaration, 686
on schema, 686
##targetNamespace
value
of namespace
attribute, 287
of notNamespace attribute, 289
of xpathDefaultNamespace attribute, 374
test attribute (alternative, assert, assertion elements), 352, 375–376
syntax of, 686
text()
(XPath), 438
then keyword (XPath 2.0), 369–370
comparing values of, 255
facets applicable to, 697
and bounds facets, 235
facets applicable to, 205–207, 695
values of:
comparing, 255
vs. integers, 220
whitespace in, 151–152, 205–206, 254
totalDigits
facet, 137, 144–145
trading partners, 5
Trang schema converter, 10
true function (XPath 2.0), 358
type
attribute
of alternative element, 376
of attribute
element, 120–121, 394
of element
element, 96–97, 267, 387
syntax of, 687
type
attribute (XSI namespace), 51, 80, 120, 518, 600
avoiding in web services, 548
for member types, 187
for repeated element names, 415–416
for type derivation, 606
for type redefinition, 609
for type substitution, 342, 605
syntax of, 687
by extension, 22, 27, 302–303, 403, 606
by restriction, 22, 301–303, 316–337
vs. named model groups, 403–404, 520
vs. OO class inheritance, 514–518
type libraries, 584
type substitution, 115, 302, 341–342, 518, 605
avoiding in web services, 548
vs. other extension mechanisms, 600
typeAvailable attribute (Version Control namespace), 644–645
syntax of, 687
applicability of, 597
canonical representation of, 204
comparing, 432
definitions of, 18
extending, 516
inheriting, 544
lexical representations of, 204, 254
target namespace of, 48
value spaces of, 204
See also complex, simple types
typeUnavailable attribute (Version Control namespace), 644–645
syntax of, 688
unbounded
value (maxOccurs
attribute), 274
in all groups, 276
underscore. See _
Unicode standard, 162, 165, 167, 205, 251
comparing, 253
facets applicable to, 185, 698
lists of, 196
restricting, 185
union
value (final
/finalDefault
attributes), 153
syntax of:
uniqueness constraints, 423, 426–428
changing restrictiveness of, 322
defining, 425
names of, 426
units of measurement, 130
unparsed entities (DTDs), 240, 242, 493
and notations, 496
and default namespace, 40
unqualified names
and default namespace, 101
unqualified
value
of attributeFormDefault
attribute, 122
of elementFormDefault
attribute, 77, 99, 101, 577–578
unsignedByte
, unsignedInt
, unsignedLong
, unsignedShort
types, 218
facets applicable to, 696
UPA (Unique Particle Attribution), 279, 602, 604, 624
upper-case function (XPath 2.0), 357
URIs (Uniform Resource Identifiers), 36, 250–251
URLs (Uniform Resource Locators), 36, 251
spaces in, 85
URNs (Uniform Resource Names), 36, 251
use
attribute (attribute
element), 117, 119, 394, 482–483
optional
value of, 283
prohibited
value of, 283
required
value of, 283
syntax of, 688
user documentation. See documentation UTC (Coordinated Universal Time), 233
against both DTDs and schemas, 114, 499
and performance, 82
and specific root elements, 523
choosing schema documents for, 30, 87
co-constraints for, 586
of concatenated values, 130
of intra-document references, 525
with RELAX NG, 12
value
attribute, 137
of explicitTimezone
facet, 150, 234
syntax of, 688
vc:facetAvailable attribute, 645–646
syntax of, 675
vc:facetUnavailable attribute, 645–646
syntax of, 675
vc:maxVersion attribute, 641
syntax of, 679
vc:minVersion attribute, 641
syntax of, 680
vc:typeAvailable attribute, 645
syntax of, 687
vc:typeUnavailable attribute, 645
syntax of, 688
Venetian Blind design, 554–557
version
attribute (schema
element), 59, 626, 628–629, 631
fixed value of, 631
syntax of, 689
Version Control Namespace (vc), 51, 641, 645–646
defining strategy for, 547–549, 636
intermediate elements for, 531
major and minor versions for, 626–627, 633
vertical bar. See |
w
and W
, multicharacter escapes, 167
W3C (World Wide Web Consortium), 11
web browsers, 524
whitespace
in binary types, 249
in DTD processors, 474
in regular expressions, 166
whiteSpace
facet, 103, 137, 151
collapse
value of, 104, 125, 151–152, 189, 205–206, 255
for list types, 189
for NMTOKEN
type, 243
for numeric types, 104, 125, 219
for strings, 104, 125, 205–207, 254
preserve
value of, 104, 125, 151–152, 205, 254
replace
value of, 151–152, 205
wildcard escape character, 164
adding/removing, 619
for attributes. See attribute wildcards
for forward compatibility, 623
location of, in complex type definitions, 602
vs. DTDs, 480
vs. other extension mechanisms, 600
See also attribute, element wildcards
WXS (W3C XML Schema). See XML Schema
x-
, in language names, 211
XDR (XML Data Reduced), 11
XHTML (Extensible HyperText Markup Language), 526
and simple types, 207
including elements from, 572
mapping schemas to forms in, 586
XLink (XML Linking Language)
for external documentation, 584
using attributes for, 115
facets applicable to, 697
XML (Extensible Markup Language)
documents. See instances
intermediate elements in, 527–531, 546
names in, 167
separating content from representation in, 524–526
tightly coupling with databases, 504
all
groups in, 532
attribute groups in, 394
element declarations vs. wildcards in, 604, 624
all groups in, 276, 310–311, 391, 606, 625
alternative element in, 97, 375–376, 650
assertions in, 33, 137, 150, 185, 351–375, 651–652, 686, 695–698
attributes in Version Control Namespace in, 51, 641, 645–646
backward-compatible with 1.0, 11
conditional type assignment in, 375–383
date and time types in, 224–225, 231–233, 697
defaultAttributes and defaultAttributesApply attributes in, 284, 399–400, 674
defaultOpenContent element in, 295–298, 655, 672, 681
element declarations in:
multiple, 413
element wildcards in, 625
elementFormDefault attribute in, 100
explicitTimezone facet in, 137–138, 150, 234, 657, 695–698
field element in, 375
final attribute in, 418
finalDefault attribute of, 153, 419
forward compatibility in, 625, 641–642, 679–680
ID type in, 236
implementation-defined facets in, 155, 642, 645–646, 675
implementation-defined simple types in, 154, 642–645, 687
inheritable attributes in, 126–127, 283, 382–383, 678
integer values in, 218
IRIs in, 251
namespaces in, 36–37, 43–44, 289–291, 459–462, 572, 683
open content in, 292–298, 311–312, 329–331, 600, 604–605, 619, 625, 664, 681
overrides in, 33, 459–471, 488, 491–492, 572, 581, 585, 600, 612–614, 665
primitive types in, 203
processContents attribute in, 605
referencing identity constraints in, 442–444, 660–661, 671
restrictions in, 320
selector element in, 375
substitution groups in, 413–414
targetNamespace attribute in, 339–341, 686
using XPath 2.0 with, 352, 355–365, 367–370, 378–380, 435–440
wildcards in, 289–291, 293, 683
xpathDefaultNamespace attribute in, 60, 373–375, 381, 441, 689
XML Schema Instance Namespace, 51, 79–80, 108
XML Schema recommendation, 11–14, 201
xml:lang
attribute, 59, 120, 211
syntax of, 678
xmlns
attribute, 39
xpath
attribute, 435
syntax of, 689
XPath language, 13
and list types, 190
expressions in, 367–369, 435–440
processing relationships in, 511
XPath 2.0 language
conditional expressions in, 369–370
for assertions, 352
functions in, 357–359, 363–364
in conditional type assignment, 378–380
xpathDefaultNamespace attribute
##defaultNamespace value of, 375
##local value of, 375
##targetNamespace value of, 374
of alternative element, 375, 381
of assert element, 375
of assertion element, 375
of field element, 375
of schema element, 60, 373–375, 441
of selector element, 375
syntax of, 689
See also built-in types
xs:error built-in type, 380–381
XSD (W3C XML Schema Definition Language). See XML Schema
XSDL (XML Schema Definition Language). See XML Schema
xsi
prefix, 80
xsi:nil
attribute, 51, 80, 103, 107–110, 143
syntax of, 682
xsi:noNamespaceSchemaLocation
attribute, 51, 80, 83–84, 86
syntax of, 683
xsi:schemaLocation
attribute, 30, 51, 80, 83–87, 588
of imported documents, 571
syntax of, 685
xsi:type
attribute, 51, 80, 120, 518, 600
avoiding in web services, 548
for member types, 187
for repeated element names, 415–416
for type derivation, 606
for type redefinition, 609
for type substitution, 342, 605
syntax of, 687
XSL-FO (Extensible Stylesheet Language Formatting Objects), 526
XSLT (Extensible Stylesheet Language Transformations), 635
and list types, 190
for upgrading instances, 639
processing messages in, 521, 532
schema-awareness of (version 2.0), 417
yearMonthDuration type, 231–232
facets applicable to, 697
Z
in category escapes, 169
zero. See 0