N

name attribute (XML Schema)
of element clause, 141
of key clause, 172–173
of keyref clause, 173
of unique clause, 171
Name built-in constructed data type (XML Schema), 132
name classes (Relax NG)
combining, 244–246
generic, 243–244
overview, 243
scoped names, 244
name property (XML)
of unexpanded entity reference, 97
of unparsed entity, 99
named patterns (Relax NG)
nesting grammars, 231–233
overview, 229–231
recursive structures using, 231
redefining, 234
names
of AOM arc roles, 52
of AOM assets, 51, 52
of AOM models, 66
qualified and unqualified (XML Schema), 180–182
of Relax NG elements, 216
namespace attributes property of elements (XML), 95–96
namespace name property (XML)
of attributes, 96
of elements, 95
of namespace, 99
namespaces (AOM)
default, 68
for models, 66
purpose, 68
vocabulary namespaces for models, 67
namespaces (Relax NG), 241–243
attributes and, 241
chameleon components, 242–243
combining name classes and, 244
ns attribute for, 241
prefixes, 242
scoped names and, 244
namespaces (XML)
declaring, 90
example, 101
importance of, 90
information item (XML Information Set), 92, 99, 101
not supported by DTDs, 115
properties of elements, 95–96
properties of information item, 99
qualified elements and, 90–91
removal of redundant nodes in canonical form, 103
namespaces (XML Schema), 180–184
as connection between document instances and schemata, 180, 181
default schema namespace, 183–184
multi-namespace schemata, 194–195, 209–213
qualified and unqualified names, 180–182
targetNamespace declaration, 180
navigation, business object implementation and, 320–321
NCName built-in constructed data type (XML Schema), 133
negativeInteger built-in constructed data type (XML Schema), 134
Nelson, Ted, 13
nesting
appending child nodes to nested structures (XML Schema), 457–458
connectors (XML Schema), 147–148
element definitions (XML Schema), 118, 119
grammars (Relax NG), 231–233
particles (XML Schema), 145
newspapers, nonlinear order in, 11
NIAM (Nijssen’s Information Analysis Methodology), 46
nillable elements (XML Schema)
elements declared as keys and, 172
overview, 169–170
NMTOKEN built-in constructed data type (XML Schema), 132
NMTOKEN primitive attribute type (XML), 110
NMTOKENS built-in constructed data type (XML Schema), 132
NMTOKENS primitive attribute type (XML), 110
nondeterminism, choice and, 465
nondeterministic content models, deterministic vs., 40, 176–178
nonlinear concepts, 11–13. See also annotations; bags; cross-references
nonNegativeInteger built-in constructed data type (XML Schema), 135
nonPositiveInteger built-in constructed data type (XML Schema), 134
non-terminal symbols
AOM asset names as, 52
BNF notation for, 29
DTDs vs. regular grammars and, 108
DTDs vs. XML Schema or Relax NG and, 34
in formal grammars, 27
for grammar generating currency amounts, 27
for HRGS, 32
model groups vs., 109
start symbol, 27 See also start symbol
normalization
of attribute values (XML), 102
of comments (XML), 105
Partitioned Normal Form (PNF), 78–79
of relational data structures, 401–415
requirements in AOM, 76–77
normalization of relational data structures, 401–415
converting table to 1NF (flattening), 405–406
defining the target format, 402–403
Integrity Rules for cardinality constraints, 410
introducing key relationships, 406–410
keys, 406–407
overview, 401–402
preserving sequential order, 410–414
recomposing original document nodes, 414–415
repeating elements, 410
schema to be normalized, 403–405
normalized value property of attributes (XML), 96
normalizedString built-in constructed data type (XML Schema)
overview, 131
SQL and, 421
notAllowed clause (Relax NG), 224, 236
notation
BNF, 29
information item (XML Information Set), 92, 99
regular set algebra, 30–31
for regular types, 35–37
for XML Schema syntactical constructs, 119
notation element (XML Schema), 195
NOTATION primitive attribute type (XML)
as extension mechanism for elements, 111–112
overview, 110
NOTATION primitive data type (XML Schema), 126
notation property (XML)
of document node, 93
of processing instructions, 97
of unparsed entity, 99
nouns, modeling as assets, 73
ns attribute (Relax NG), 241
nsName class (Relax NG), 244
null values
in OO languages, 376–377
in SQL, 424
nullability of elements (XML Schema), 169–170, 172
numbers categories for pattern constraining facet (XML Schema), 497
numeric fundamental facet (XML Schema), 121

O

OASIS Web sites, 215, 248
Object Constraint Language (OCL), 337
object identifiers (SQL-99), 420–421
Object Role Modeling (ORM), 46
object-oriented data types
hierarchies based on behavior, 369–370
hierarchies based on syntax, 370
mapping XML Schema simple types onto, 373–377
primitive types, 373–377
substitutability of (polymorphism), 369–370
XML types vs., 370–373
object-oriented environments
automatic code generation and, 392–393
behavior of objects, 368
binding between XML and OO structures, 367
constraints, 390–393
decentralized change management in, 488
document-centric environments vs., 368
dynamic marshaling, 389–390
encapsulation of objects, 367–368
ERM dialects for, 46
inheritance, 388–389
keys and, 393–394
mapping complex types from XML Schema, 377–387
mapping global types from XML Schema, 387–388
mapping simple types from XML Schema, 373–377
messages, 368
method calls, 368
object identity, 393–394
polymorphism, 369–370, 389
SQL-99 and, 419–421
visibility, 394
XML data model implementations, 366–367 See also Java
OCL (Object Constraint Language), 337
1NF (First Normal Form). See normalization of relational data structures
ontologies, 324
open content model, 465–467
operations
of AOM assets, 51
vocabulary for AOM models, 67 See also specific kinds
option operation, 37
optional elements, 24
oral documents, 8
order by clause (SQL), 416–417
ordered fundamental facet (XML Schema), 121
ORM (Object Role Modeling), 46
outer join operations in relational algebra, 401
owner element property of attributes (XML), 96

P

Panini, 26
parameter entities in DTDs, 113–114
parent property (XML)
of characters, 98
of comments, 98
of DTD information item, 98
of elements, 96
of processing instructions, 97
of unexpanded entity reference, 97
parentheses for empty sequence notation, 36
parsers
construction from grammars, 28
DTD-aware parsers and the XML Information Set, 91, 93
general parsing problem as undecidable, 28
from HRGs, 32
XML, 28
particles (XML Schema) cardinality constraints with, 139, 143, 149–150
child element structures defined by, 142
defined, 142
nesting, 145
Partitioned Normal Form (PNF), 78–79
pattern clause (Schematron), 351–352
pattern constraining facet (XML Schema)
described, 129–130
implementing in OO languages, 390–391
regular expressions for, 495–498
patterns (Relax NG)
abstract, 236–240
advantages, 23
customizing, 234–236
defined, 229
empty, 236
named, 229–233
period_type, 291–292
redefining, 234
referencing external patterns, 233
#PCDATA terminal symbol in DTDs, 108
Peacock, Gary
in Keith Jarrett Trio, 253–254
XML document for, 251
period asset, as type definition, 79
period_type complex type (XML Schema), 260, 261
period_type pattern (Relax NG), 291–292
period_type schema file, 447
periodWithName_type schema file, 447–448
person asset
overview, 76
PNF and, 78
person element (XML Schema), 118–119
person_type complex type (XML Schema)
jazzMusician_type derived from, 262–264
overview, 262, 263
person_type grammar (Relax NG), 292–294
person_type schema file, 461–462
person_wildcard schema file, 465–466
personWithCV_type schema file, 463–464
phase clause (Schematron), 351
Phoenician script, 7
pictographs, 6
Plato, 26
plays asset
L2S and, 84
overview, 79
plays_type grammar (Relax NG), 300–301
plus sign (+)
as AOM particle or property modifier, 56
as AOM property type modifier, 58
for cardinality constraints for arcs, 53
for cardinality constraints in DTDs, 109
PNF (Partitioned Normal Form), 78–79
polymorphism
defined, 369–370
XML Schema and, 389
Poseidon CASE tool, 337
positiveInteger built-in constructed data type (XML Schema), 135
powerset operation
defined, 31
derivation of, 37
non-empty, 37
notation, 31, 37
substitution operation replacing, 34
prefix property (XML)
of attributes, 96
of elements, 95
of namespace, 99
prehistoric documents, 7–8
primary key integrity constraint (SQL), 418
primary keys
of assets (AOM), 51
defining in SQL, 418
OO languages and, 393–394
of relational databases, 397
XML Schema key clause for, 172–173
primitive types
asset types (AOM), 77
for attributes (XML), 110–111
fundamental facets for (XML Schema), 120
hierarchy of XML Schema built-in types, 136
in OO languages, 373–377
XML Schema built-in types, 121–126
processContents (XML Schema), wildcards and, 182
processing instructions (XML)
canonical form, 105
information item (XML Information Set), 93, 97
properties, 97
produces asset
L2S and, 84
overview, 76
produces_type grammar (Relax NG), 301
production rules
ATTLIST rules in DTDs, 109–110
element declaration in DTDs and, 108
for HRGs, 33
production systems, formal grammars as, 27
project asset
as business object, 260
is_a relationship resolution, 80, 81
overview, 76
properties of, 77, 78
project business object
Relax NG, 311–313
XML Schema, 280, 282–284
project_asset complex type (XML Schema), 280
projection operation
in relational algebra, 399
SQL queries, 416
project_type grammar (Relax NG), 301–302
properties (AOM)
of assets, 51
assets vs., 73–74
combining complex types with union operator, 59
completely typed asset example, 59
complex, 54–55, 59
context expressions relating constraints to, 62
default type system for, 57
defining, 57
explicitly defined types for, 57–60
items connected to single assets as, 74
local types for, 54–55
mixing types from several systems for, 57–58
modeling aggregated items as, 73–76
modifiers, 55–56
overview, 53–57
in PNF, 78
recursive structures, 56–57
type modifiers, 58–59
undefined type for, 54
value access by constraints, 62
property keys of assets (AOM), 51
public identifier property (XML)
of DTD information item, 98
of unexpanded entity reference, 97
of unparsed entity, 99
punctuation categories for pattern constraining facet (XML Schema), 497
purchase order examples
Entity Relationship Diagrams, 44–46
grammar using Relax NG, 20–23
schema using DTD, 15–17
schema using XML Schema, 17–20
serialization in XML, 5

Q

QName primitive data type (XML Schema)
mapping onto OO types, 376
overview, 126
SQL equivalent function, 423
qualified elements (XML), 90–91
qualified names
object-oriented, 376
SQL, 423
XML Schema, 180–182
queries (SQL), 415–417
Cartesian product in, 416
from clause, 416
group by clause, 417
nested select statements, 417
order by clause, 416–417
projection operation in, 416
on recursive structures (SQL-99), 430
select clause, 416
selection operation in, 416
set operations, 417
typical query, 415–416
where clause, 416 See also SQL (Standard Query Language)
queries (XQuery). See XQuery
question mark (?)
as AOM particle or property modifier, 55
as AOM property type modifier, 58
for cardinality constraints for arcs, 53
for cardinality constraints in DTDs, 109

R

range of arcs (AOM), 52
RDBMS (relational database management system)
mediation between XML databases and, 433–444
overview, 396–397
representing data in XML format, 396
RDF (Resource Description Framework), 48
recursion
in AOM properties, 65–67
defined, 24
for defining generic types, 39
in document schemata, 24–26
DTD example, 24–25
in HRGs, 33
mapping XML Schema onto Java, 385–386
regular expressions combined with, 31
in Relax NG, 25–26, 231
repetition and, 24
SQL and, 430
substitution operation for expressing, 36–37
XML Schema example, 25
XML Schema structures using global complex types, 165–168
XML Schema structures using global elements, 162–165, 185
redefine clause (XML Schema), 192–193
redefining patterns (Relax NG), 234
redefinition (XML Schema)
adding an attribute to a simple type element, 455–456
to allow choices, 461–464
appending child nodes to nested structures, 457–458
authoring for, 454–465
conservative schema modification, 464–465
for derived schemata, 450–451
inserting elements at an arbitrary position, 459–461
need for, 454–455
reasons for, 450
redefine clause for, 192–193
redundancy
asset types and, 77
removal of redundant nodes in XML canonical form, 103
refer attribute of keyref clause (XML Schema), 173
references property of attributes (XML), 96
referential integrity constraints
cross-document, 335
in SQL, 418, 431
regex class (Java), 390–391
regular expressions
algebra for, 30–31, 32
AOM and, 48
data types as, 35
defined, 30, 31
deterministic, 39
grammars and, 31
for pattern constraining facet (XML Schema), 495–498
recursion combined with, 31
regular sets and, 30–31
regular grammars. See HRGs (Hedge-Regular Grammars)
regular sets, calculus describing, 30–31
regular types, 34–40
AOM and, 48
applied to general data types, 34–35
basic algebra, 37–38
basic composition, 35–37
benefits of, 34, 35
deterministic, 39–40
functional programming languages exploiting, 34–35
generic, 39
notation for, 35–36
subtypes, 38–39
relational algebra, 398–401
Cartesian product operation, 398–399
difference operation, 398
general join operation, 400
intersection operation, 398
natural join operation, 400
outer join operations, 401
projection operation, 399
selection operation, 400
union operation, 398
relational environments
constraints, 430–431
data model, 397
databases, 396–397
decentralized change management in, 488
mapping complex types from XML Schema, 424–430
mapping simple types from XML Schema, 421–427
mediation between RDBMS and XML databases, 433–444
motivation for XML integration with, 396
normalization, 401–415
relational algebra, 398–401
SQL overview, 415–421
translating tables to XML Schema, 431–433
views across multiple tables with XQuery, 475–479 See also SQL (Standard Query Language)
relationships
database, 397
ERM, AOM assets and, 48–50
RELAX, 215
Relax NG
annotations, 224–225
attributes, 216–217
cardinality constraints, 222–223
chameleon components, 242–243
data model, 216
data types, 226–228
default values, 225
DTDs vs., 23, 246, 360–361
elements, 216–217
embedding Schematron into, 359–360
empty elements, 223–224
enumerations, 226–227
external patterns and grammars, 233–240
fixed values, 225–226
grammars and named patterns, 228–233
interleaving, 219–222
introduction of, 15, 215
invoice master schema example, 238–240
keys and key references, 240–241
lists, 227–228
model groups and particles, 217–223
name classes and wildcards, 243–246
namespaces, 241–243
non-terminal symbols and, 34
notAllowed clause, 224, 236
purchase order grammar example, 20–23
recursion example, 25–26
Schematron vs., 360–361
structure, 216–226
tool support for, 247–248
Web site for information and tools, 215
XML processing model and, 360–361
Relax NG implementation for jazz knowledge base, 291–318
album business object, 308–311
album_type grammar, 297
anyXhtml grammar, 298–299
belongsTo_type grammar, 297–298
business object implementation, 304–308
clusters, 314–316
conceptual model for, 259
critic business object, 316–317
critic_type grammar, 295–296
cross-references, 308–311
description_type grammar, 298
influence_type grammar, 299
inheritance, 292–296
jamSession_type grammar, 299–300
jazzMusician business object, 304–308
jazzMusician_type grammar, 294–295
magazine_type grammar, 300
multiple display levels, 311–313
period_type pattern, 291–292
person_type grammar, 292–294
plays_type grammar, 300–301
produces_type grammar, 301
project business object, 311–313
project_type grammar, 301–302
review business object, 314–316
sample_type grammar, 302–303
style business object, 317–318
style_type grammar, 303
synopsis of steps for, 318–320
track_type grammar, 303–304
type library, complete code for, 296–304
type library, creating, 291–292
RelaxNGCC, 248
repeating elements
overview, 24
translating repeating sequences from XML Schema into Java, 383–384
translating XML Schema elements into Java, 380–381
report clause (Schematron), 352–353
#REQUIRED primitive attribute type (XML), 110
resolved references, XML canonical form for, 102–103
Resource Description Framework (RDF), 48
restricted data types (XML Schema)
constraining facets available, 129–131
mapping onto OO types, 376
overview, 128–131
restriction method for constructing, 127, 128
SQL type parameters and, 423–424
restriction method for constructed data types (XML Schema), 127, 128–131
reuse mechanisms (XML Schema), 184–190
attribute groups, 186
chameleon schema components, 197–199
global elements and global types, 184–185
groups, 185–186
instance type overriding, 186–188
substitution groups, 188–190
review asset
as business object, 260
L2S and, 81, 84
overview, 76
XML document for Inside Out review, 257
review business object
Relax NG, 314–316
XML Schema, 284–287, 288
right outer join operation in relational algebra, 401
root element (Relax NG), 216
root element (XML Schema)
defined, 139
schema clause as, 190
roundtrip engineering, 47
rule clause (Schematron), 352
Rule of Solution of Equations, 32
Rule of Substitution, 32

S

sample_type grammar (Relax NG), 302–303
schema clause (Schematron), 349, 351
schema clause (XML Schema)
overview, 190
placement of include, redefine, and import clauses in, 191
schema composition (XML Schema), 190–196
annotation clause, 195–196
import clause, 194–195
include clause, 191
locating schemata, 191
notation element, 195
overview, 190
redefine clause, 192–193
schema clause, 190
schema definition languages
framework for, 362
XML processing model, 360–361
schema evolution, 445–469
by appending new child elements to existing elements, 446–454
by authoring for redefinition, 454–465
chameleon components for, 446, 447–450
decentralized change management and, 487–488
derived schemata for, 450–451
derived types for, 446–454
by extending an existing schema, 454–465
inhibiting change, 453
by introducing new elements, 465–467
open content model for, 465–467
schema-conservative techniques, 446
substitution groups for, 446, 451–453, 454
types of changes for, 445
versioning changes, 467–469
schema families (XML Schema) defining using abstract types, 204–209
defining using dangling type definitions, 209–213
defining using substitution groups, 200–204
schema files (XML Schema)
import clause for, 194–195
include clause for, 191
redefine clause for, 192–193
target namespace and, 180
schema-driven view definition, 479–480
schemaLocation attribute (XML Schema), 191
Schematron, 348–360
assert clause, 352–353
cross-document constraint example, 355–356
diagnostic section, 353
diagnostics attribute, 353
duration constraint example, 354–355
embedding into Relax NG, 359–360
embedding into XML Schema, 357–359
key clause, 353
metamodel, 350
other schema definition languages vs., 360–361
overview, 348–349
pattern clause, 351–352
phase clause, 351
report clause, 352–353
rule clause, 352
schema clause, 349, 351
Web site, 348
Windows front end, 349
XML processing model and, 360–361
science, document metaphor’s importance for, 4
scope
of AOM assets, 51
of AOM models, 66
of unique clause (XML Schema), 170–171
of XML namespaces, 90
scoped names (Relax NG), 244
scripture, 6–7
select clause (SQL)
nested statements, 417
overview, 416
selection operation
in relational algebra, 400
in SQL queries, 416
selector element (XML Schema), 171, 172
Semantic Object Modeling (SOM), 46
semantic (sequence) constraints, 14, 23
“Semantic Web” activity (W3C), 324
separator categories for pattern constraining facet (XML Schema), 497–498
sequence
defining in Relax NG, 217–218
DTD deficiencies, 115
dynamic marshaling and, 389–390
of element children (Relax NG), 216
narrative vs. topical, 8
overview, 8–9
translating repeating sequences from XML Schema into Java, 383–384
translating XML Schema information into Java, 381–383
translating XML Schema into SQL, 426–427
sequence connector (XML Schema)
all connector and, 145–146
nesting, 147–148
overview, 143–144
sequence constraints, 14, 23
set clause (SQL), 419
set operations in relational algebra, 398
SGML, XML vs., 365
short built-in constructed data type (XML Schema)
mapping onto OO types, 374–375
overview, 134
SQL SMALLINT type and, 422
sidebars, 12
simple content (XML Schema)
definitions, 151–152
model, 142
simple data types (XML Schema), 120–139
adding an attribute to an element, 455–456
built-in constructed types, 131–136
built-in primitive types, 121–126
changing, cautions regarding, 465
constraining facets, 121, 390–391
constructed types, 127–128, 131–138
document instances overriding, 186–188
extending by list, 127–128
foreign keys, 173–176
fundamental facets, 120–121
hierarchy of types, 136
lexical representations and canonical representations, 120
mapping onto OO types, 373–377
mapping onto SQL data types, 421–424
primary keys, 172–173
redefining, 192
references, 173–176
restricted types, 127, 128–131
union types, 127, 137–138
uniqueness, 170–172
user-defined types, 138–139
value space vs. lexical space, 120
simpleType declaration (XML Schema)
for constructed types, 127
example, 119
simplicity of AOM, 70
SOAP (XML Protocol), web services and, 4
society, document metaphor’s importance for, 4
soft-coded constraints, 323, 344–348
software, increasing complexity of, 4
Software AG’s Tamino X-Node, 433–443
SOM (Semantic Object Modeling), 46
specified indicator property of attributes (XML), 96
speech
hierarchical order in, 9
sequential order in, 8
SQL data types
approximate numeric, 422–423
binary, 422
BOOLEAN, 422
create type command (SQL-99), 420
date and time, 423
deriving tables from (SQL-99), 420–421
exact numeric, 422
extensions, 424
restrictions, 423–424
string, 421
SQL (Standard Query Language), 415–421
alter table command, 418
cascading actions, 431
choice and, 428–430
create command, 418
create type command (SQL-99), 420
delete command, 418, 419
deriving tables from types (SQL-99), 420–421
development of, 397
domain constraints, 430–431
drop table command, 418
except operator, 417
from clause, 416, 418
general assertions, 431
group by clause, 417
insert command, 418, 419
intersect operator, 417
into clause, 418
nested select statements, 417
null values, 424
object identifiers (SQL-99), 420–421
order by clause, 416–417
qualified names, 423
queries, 415–417
as RDBMS standard, 397
recursion and, 430
referential integrity constraints, 418, 431
select clause, 416
sequence and, 426–427
set clause, 419
set operations, 417
SQL-99, 419–421
storing URIs, 423
table creation, 418
table modification, 418–419
triggers, 431
type extensions, 424
type restrictions, 423–424
union operator, 417
update command, 419
views, 419
where clause, 416
XML Schema compatibility with, 397 See also relational environments
standalone property of document node (XML), 95
standardization
ontologies and, 324
for schema definition languages, 362
type libraries and (XML Schema), 191 See also W3C
star (*)
as AOM particle or property modifier, 56
as AOM property type modifier, 59
for cardinality constraints for arcs, 53
for cardinality constraints in DTDs, 109
for powerset operation, 31, 37
for reversed arcs, 65
start symbol
in formal grammars, 27
for grammar generating currency amounts, 28
starting set for HRGs, 32
string primitive data type (XML Schema)
mapping onto OO types, 374
overview, 122
SQL character string types and, 421
structural constraints, 14
style asset
as business object, 260
Free Jazz XML document, 253
L2S and, 81
overview, 74
style business object
Relax NG, 317–318
XML Schema, 289–290
style schema file, 448, 449–450
style_type grammar (Relax NG), 303
style_type schema file, 448
substitution groups (XML Schema)
for business objects, 280–284
context drivers and, 204
context-specific local elements and, 204
defining abstract master schema using, 200–204
for elements, 188–189
protecting elements from, 189–190
for schema evolution, 446, 451–453, 454
schema-conservative evolution not possible with, 446
substitution operation
global types vs. global elements and (XML Schema), 185
notation for, 36
powerset operation replaced by, 34
recursive structures expressed by, 36–37, 56–57
in regular expressions, 34
substitutionGroup attribute (XML Schema), 188–189
subtypes
mapping between XML and OO structures and, 370–373
in OO languages, 369–370
of regular types, 38–39
Sumerian cuneiform, 6, 9, 11
Sun Multi-Schema XML Validator Schematron. See Schematron
Sun’s JAXB, 367
supertypes, derived schemata and, 450–451
symbol categories for pattern constraining facet (XML Schema), 498
symbols, non-terminal. See non-terminal symbols
syntactical (structural) constraints, 14
SYSTEM identifier of DOCTYPE declaration, 106
system identifier property (XML)
of DTD information item, 98
of unexpanded entity reference, 97
of unparsed entity, 99

T

tables (RDBMS)
creating in SQL, 416
creating rows with SQL, 418, 419
deleting rows with SQL, 418, 419
deriving from types (SQL-99), 420–421
modifying rows with SQL, 419
modifying with SQL, 418–419
nested with SQL-99, 419–420
overview, 397
removing with SQL, 418
translating into XML Schema, 431–433
views across multiple tables with XQuery, 475–479
views with SQL, 419 See also relational environments
tagged expressions
generic, 39
notation, 36
Tamino X-Node, 433–443
target namespace (XML Schema)
for chameleon schema components, 197–199
connecting schemata with document instances, 180, 181
declaring, 180
as default namespace, 183
for imported external schema files, 194
for included external schema files, 191
for redefined external schema files, 192
schema files and, 180
##targetNamespace string for, 182
for type libraries, 197–199 See also namespaces (XML Schema)
target property of processing instructions (XML), 97
targetNamespace declaration (XML Schema), 180
terminal symbols
in DTDs, 108
labels of AOM assets as, 52
text, XML canonical form for, 101–102
Thalheim, Bernhard, 50
time primitive data type (XML Schema)
OO languages and, 375–376
overview, 123
SQL types and, 423
token built-in constructed data type (XML Schema)
overview, 131
SQL and, 421
tool support for Relax NG, 247–248
totalDigits constraining facet (XML Schema), 130
track asset, trackNo property, 77
track_type grammar (Relax NG), 303–304
tree-regular grammars, 33
TREX, 215
triggers (SQL), 431
tuples, 397
type attribute of element clause (XML Schema), 141
type hierarchies. See hierarchy
type libraries (Relax NG)
for jazz knowledge base, complete code, 296–304
for jazz knowledge base, creating, 291–292
type libraries (XML Schema)
import clause for, 194–195
include clause for, 191
inheritance and, 262–265
for jazz knowledge base, complete code, 265–270
for jazz knowledge base, creating, 260–261
redefine clause for, 192–193
standardization and, 191
target namespace for, 197–199
type substitution. See substitution groups (XML Schema)
type systems
for AOM models, 66
default for AOM properties, 57
mixing for AOM properties, 57–58

U

UML (Unified Modeling Language), 43, 46, 337
unexpanded entity reference (XML)
information item (XML Information Set), 93, 97
properties, 97
union data types
OO languages and, 376
Relax NG, 228
SQL and, 424
XML Schema, 127, 137–138
union operation
combining complex types with, 59
for merging in AOM, 68
for regular expressions, 36
for regular sets, 30
in relational algebra, 398
in SQL queries, 417
XML Schema data types constructed by, 127, 137–138
union operator (SQL), 417
unique clause (XML Schema), 170–172
unique meaning, as asset type requirement, 77
Unique Particle Attribution
as deterministic content model, 40
deterministic data types and, 176–178
uniqueness constraints
cross-document, 335
in XML Schema, 327
unparsed entities (XML)
information item (XML Information Set), 93, 98–99
properties of information item, 98–99
property of document node (XML), 95
unqualified names (XML Schema), 180, 182
unsignedByte built-in constructed data type (XML Schema), 135
unsignedInt built-in constructed data type (XML Schema), 135
unsignedLong built-in constructed data type (XML Schema), 135
unsignedShort built-in constructed data type (XML Schema)
mapping onto OO types, 374–375
overview, 135
update command (SQL), 419
usage patterns (XML Schema), 196–213
chameleon schema components and type libraries, 197–199
defining abstract master schema using abstract types, 204–209
defining abstract master schema using dangling type definitions, 209–213
defining abstract master schema using substitution groups, 200–204
user-defined data types (DTD), deficiencies for, 115
user-defined data types (XML Schema)
fundamental facets and, 120
mapping onto OO types, 376
overview, 138–139
SQL type parameters and, 423–424
user-defined entities
declaration in DTDs, 112
local vs. external, 112
UTF-8 encoding, XML canonical form and, 101

V

valid XML documents, defined, 28
validating cross-document constraints, 336–337
validating general constraints hard-coded constraint checks for, 341–344
Schematron for, 348–360
XSLT for, 344–348
validating processors
for Relax NG, 248
XML Schema and, 325
value space (XML Schema)
constraining facets and, 121
defined, 120
values
default (Relax NG), 225
default (XML Schema), 150
fixed (Relax NG), 225–226
fixed (XML Schema), 150
normalization (XML), 102
variable notation, 35
verbs, modeling as assets, 73
version property of document node (XML), 95
versioning changes in schemata, 467–468
vertical bar (|)
in BNF notation, 29
in regular set notation, 30
views
across multiple tables with XQuery, 475–479
schema-driven view definition, 479–480
SQL, 419
visibility in OO languages, 394

W

W3C
“Canonical XML” recommendation, 101
“Semantic Web” activity, 324
“XML Information Set” recommendation, 91
XML Schema recommendation, 117
XML Schema Working Group, 117
“XML-Signature Syntax and Processing” recommendation, 101
XQuery Working Draft, 444, 475
Web sites
AOM, 48, 68
Apache, 341
Breeze XML Studio, 367
CASE tools, 337
Castor, 367
EXSLT, 344
JAXB, 367
Jaxen, 341
JaxMe, 367
KLEEN AOM modeling tool, 258
OASIS, 215, 248
products binding XML and OO structures, 367
Relax NG information and tools, 215, 248
Schematron, 348
Software AG, 433
W3C XML Schema recommendation, 117
Windows front end for Schematron, 349
Zeus, 367
well-formed XML documents, defined, 28
where clause (SQL), 416
whitespace, XML canonical form, 102
whiteSpace constraining facet (XML Schema), 130
wildcards (Relax NG). See name classes (Relax NG)
wildcards (XML Schema)
declaring, 168, 182
defined, 168
namespaces and, 182–183
processing methods for, 182
Windows front end for Schematron, 349

X

XDuce, XML data types supported by, 34
XML
bag example, 11–12
canonical form, 101–105
conceptual modeling and, 41
cross-reference example, 13
hierarchical structure example, 10
integer data types, 375
as mainstream technology, 493
meaning and, 324
mediation between databases and RDBMS, 433–444
namespaces, 90–91
OO types vs. XML types, 370–373
parsers, 28
processing model, 360–361
purchase order serialized in, 5
qualified elements, 90–91
representing RDBMS data in XML format, 396
sequential order example, 9
SGML vs., 365
storing data in relational databases, 396–397
XML Information Set, 91–101 See also canonical form (XML); XML Information Set
XML Information Set, 91–101
attributes information item, 92, 96, 100
character information item, 92, 97–98, 100
comment information item, 92, 98,
document node information item, 92, 93, 95, 100
DTD information item, 92, 98
DTD-aware parsers and, 91, 93
elements information item, 92, 95–96, 100
example, 100–101
metamodel of, 94
namespace information item, 92, 99, 101
notation information item, 92, 99
OO implementations, 366–367
processing instructions information item, 93, 97
Relax NG data model based on, 216
table of information items, 92–93
unexpanded entity reference information item, 93, 97
unparsed entity information item, 93, 98–99
W3C recommendation, 91
XML Information Set, 91–93, 94
XML Schema and, 93
“XML Information Set” recommendation (W3C), 91
XML Protocol, web services and, 4
XML Schema
annotation clause, 195–196
attribute groups, 186
attributes, 159–160
basic constructs, 139
best practice recommendations, 196–213
built-in constructed types, 131–136
built-in primitive types, 121–126
cardinality constraints, 149–150
chameleon schema components, 197–199
complex content definitions, 153–156
complex types, 142–143
constraining facets, 121
constraints, 157, 327–330
constructed types, 127–128, 131–138
default values for attributes, 150
defining schema families, 200–213
deterministic types, 176–178
element clause, 141–143
element definition types, 139
embedding Schematron into, 357–359
empty elements, 156–158
explicit type definition constructor, 34
extending simple types by list, 127–128
field element, 171, 172
fixed values for attributes, 150
fundamental facets, 120–121
global attributes, 161–162
global elements, 161–165, 184–185
global types, 160–161, 184–185
grammar-driven data models and, 492
groups, 185–186
hierarchy of built-in types, 136
hierarchy of data type definitions, 156
hierarchy of element definitions, 139
import clause, 194–195
include clause, 191
instance type overriding, 186–188
for integrating core technologies, 492
introduction of, 15
key clause, 172–173
keyref clause, 173–176
lexical representations and canonical representations, 120
local types, 160–161
as mainstream technology, 493
meaning and, 324
metamodel, 140
mixed content definitions, 150–152
model groups, 139, 143–148
namespaces, 180–184
non-terminal symbols and, 34
notation element, 195
nullability, 169–170
outlook for, 491–493
particles, 139, 142
person element example, 118–119
polymorphism and, 389
purchase order document schema example, 17–20
recursion example, 25
recursive structures using global complex types, 165–168
recursive structures using global elements, 162–165
redefine clause, 192–193
Relax NG vs., 23, 128, 246–247, 360–361
restricted types, 127, 128–131
reuse mechanisms, 184–190
root element, 139
schema clause, 190
schema composition, 190–196
Schematron vs., 360–361
selector element, 171, 172
simple content definitions, 152–153
simple data types, 120–139
simpleType example, 119
SQL compatibility, 397
substitution groups, 188–190
target Names pace declaration, 180
translation of DTDs into, 195
union types, 127, 137–138
unique clause, 170–172
usage patterns, 196–213
user-defined types, 138–139
value space vs. lexical space, 120
versioning changes in schemata, 467–468
W3C recommendation, 117
wildcards, 168–169
XML Information Set and, 93
XML processing model and, 360–361 See also DTD equivalents for XML Schema
XML Schema implementation for jazz knowledge base, 258–290
album business object, 277–280, 281
band business object, 280–282, 284
business object implementation, 271–277
business objects for, 258, 260
clusters, 284–287
conceptual model for, 259
critic business object, 287, 289
cross-references, 277–280
design options, 258
inheritance of types, 262–265
jazzMusician business object, 271–277
project business object, 280, 282–284
review business object, 284–287, 288
style business object, 289–290
substitution groups, 280–284
synopsis of steps for, 318–320
type library, complete code for, 265–270
type library, creating, 260–261
xmlns or xmlns: attributes, namespace declaration using, 90
“XML-Signature Syntax and Processing” recommendation (W3C), 101
XPath
advantages as a constraint language, 338
constraint formulation, 323, 338–341
DOM and, 341
limitations, 344
standalone processors, 341
XML Schema unique clause and, 170–171
XQuery and, 444
XQuery
Experanto for, 444
fragments embedded in schemata, 480–486
for views across multiple tables, 475–479
Working Draft, 444, 475
XSLT transformation for embedded fragments, 483–486
xs:all connector (XML Schema), 144–146
xs:any wildcards (XML Schema)
declaring, 168, 182
namespaces and, 182–183
processing methods for, 182
xs:anyAttribute wildcards (XML Schema)
declaring, 168, 182
namespaces and, 182–183
processing methods for, 182
xs:any Type built-in data type (XML Schema)
for empty elements, 157–158
as generic complex type, 142, 201
substitution groups and, 201
xs:anyURI primitive data type (XML Schema)
mapping onto OO types, 376
overview, 126
SQL equivalent function, 423
xs:attributeGroup definition (XML Schema), 186
xs:base64Binary primitive data type (XML Schema)
OO languages and, 374
overview, 126
SQL binary types and, 422
xs:boolean primitive data type (XML Schema)
mapping onto OO types, 374
overview, 122
SQL BOOLEAN type and, 422
xs:byte built-in constructed data type (XML Schema)
mapping onto OO types, 374–375
overview, 135
xs:choice connector (XML Schema)
| connector in DTD and, 146
nesting, 147–148
overview, 146–147
xs:date primitive data type (XML Schema), 124
xs:dateTime primitive data type (XML Schema)
OO languages and, 375–376
overview, 124
SQL types and, 423
xs:decimal primitive data type (XML Schema)
mapping onto OO types, 374–375
overview, 122
SQL DECIMAL type and, 422
xs:double primitive data type (XML Schema)
mapping onto OO types, 375
overview, 123
SQL FLOAT type and, 422–423
xs:duration primitive data type (XML Schema)
OO languages and, 375–376
overview, 123
SQL types and, 423
XML Schema declaration for, 138–139
xs:ENTITIES built-in constructed data type (XML Schema), 133
xs:ENTITY built-in constructed data type (XML Schema), 133
xs:field element (XML Schema), 171, 172
xs:float primitive data type (XML Schema)
mapping onto OO types, 375
overview, 122
SQL REAL type and, 422–423
xs:gDay primitive data type (XML Schema), 125
xs:gMonth primitive data type (XML Schema), 125
xs:gMonthDay primitive data type (XML Schema), 125
xs:group definition (XML Schema), 185–186
xs:gYear primitive data type (XML Schema), 125
xs:gYearMonth primitive data type (XML Schema), 124
xs:hexBinary primitive data type (XML Schema)
OO languages and, 374
overview, 126
SQL binary types and, 422
xs:ID built-in constructed data type (XML Schema)
backward compatibility and, 170
overview, 133
xs:IDREF built-in constructed data type (XML Schema)
backward compatibility and, 170
overview, 133
xs:IDREFS built-in constructed data type (XML Schema), 133
xs:int built-in constructed data type (XML Schema)
mapping onto OO types, 374–375
overview, 134
SQL INTEGER type and, 422
xs:integer built-in constructed data type (XML Schema)
mapping onto OO types, 374–375
overview, 134
xsi:schemaLocation attribute (XML Schema), 191
xsi:type attribute (XML Schema), 186–188
xs:language built-in constructed data type (XML Schema), 132
xs:long built-in constructed data type (XML Schema)
mapping onto OO types, 374–375
overview, 134
SQL BIGINT type and, 422
XSLT
applying stylesheets in XML/Java binding environment, 393
cross-document constraints using, 346–348
duration constraint using, 344–346
version 1.0 limitations, 344
XQuery and, 444
for XQuery fragments embedded in schemata, 483–486
xs:Name built-in constructed data type (XML Schema), 132
xs:NCName built-in constructed data type (XML Schema), 133
xs:negativeInteger built-in constructed data type (XML Schema), 134
xs:NMTOKEN built-in constructed data type (XML Schema), 132
xs:NMTOKENS built-in constructed data type (XML Schema), 132
xs:nonNegativeInteger built-in constructed data type (XML Schema), 135
xs:nonPositiveInteger built-in constructed data type (XML Schema), 134
xs:normalizedString built-in constructed data type (XML Schema)
overview, 131
SQL and, 421
xs:NOTATION primitive data type (XML Schema), 126
xs:positiveInteger built-in constructed data type (XML Schema), 135
xs:QName primitive data type (XML Schema)
mapping onto OO types, 376
overview, 126
SQL equivalent function, 423
xs:selector element (XML Schema), 171, 172
xs:sequence connector (XML Schema)
nesting, 147–148
overview, 143–144
xs:all connector and, 145–146
xs:short built-in constructed data type (XML Schema)
mapping onto OO types, 374–375
overview, 134
SQL SMALLINT type and, 422
xs:string primitive data type (XML Schema)
mapping onto OO types, 374
overview, 122
SQL character string types and, 421
xs:time primitive data type (XML Schema)
OO languages and, 375–376
overview, 123
SQL types and, 423
xs:token built-in constructed data type (XML Schema)
overview, 131
SQL and, 421
xs:unique clause (XML Schema), 170–172
xs:unsignedByte built-in constructed data type (XML Schema), 135
xs:unsignedInt built-in constructed data type (XML Schema), 135
xs:unsignedLong built-in constructed data type (XML Schema), 135
xs:unsignedShort built-in constructed data type (XML Schema)
mapping onto OO types, 374–375
overview, 135

Z

Zeus, 367
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.199.181