5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 941

INDEX

941 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 942

Index 942

Regular A Alternatives, 362 Analysis Patterns: Reusable Expression ABSENT value, 67 Object Models, 521 Symbols abstract attribute, 62, 64–66 ancestor (XPath axis), 54 of complexType element, ancestor-or-self (XPath axis), . escape character, 368, 369 247–248, 512, 719 54 . metacharacter, 361 of element element, 148–149 Annotation, 82 ? metacharacter, 361, 375 mapping to object-oriented defined, 390 ( metacharacter, 361 language, 513–514 mapping to object-oriented ) metacharacter, 361 Abstract language, 521 { metacharacter, 361 attribute type, 934 Microsoft use of term, } metacharacter, 361 defined, 58 821–822 + metacharacter, 361, 375 element type, 16, 17, 18, 934 properties of, 411 * metacharacter, 361, 375 object, corresponding to docu- annotation content option ^ metacharacter, 379 ment, 14 for schema element, 115 \ metacharacter, 361 uses of term, 238, 931–932 annotation element, 82, 83, | metacharacter, 361 Abstract character, 67 254, 260, 722, 859 \. escape character, 366 Abstract document attributes of, 118 \? escape character, 366 document information item content options for, 118–119 \( escape character, 367 view of, 62 example of use of, 117 \) escape character, 367 infoset view of, 62 function of, 116, 124, 128 \{ escape character, 367 makeup of, 59 nested, 83–84 \} escape character, 367 properties of, 66 Anonymous component, 82 \+ escape character, 367 Abstract element, 14–15 any element, 859 \- escape character, 366 properties of, 66 attributes of, 168–171 \* escape character, 366 AbstractDOMParser class content options for, 171 \^ escape character, 366 (DOM), 446 function of, 167 \\ escape character, 366 AbstractSAXParser class and relational database, \| escape character, 366 (SAX), 446 722–723 \c escape character, 368 Active Server Page (ASP), 810 specification of, 168 \C escape character, 368 address. example file, anyAttribute element, \d escape character, 368 489–491 177–179, 254, 391, 859 \D escape character, 368 address.xsd explanation, attributes of, 196–198 \i escape character, 368 117, 139–141, 164–165, content options for, 199 \I escape character, 368 174–176, 192 function of, 196 \n escape character, 366 complete listing, 890–895 and relational database, 709, \r escape character, 366 all element, 254, 859 723–724 \s escape character, 368 attributes of, 271–273, 722 anyAttributeDemo.xsd exam- \S escape character, 368 content options for, 273–274 ple file, 178–179 \t escape character, 366 function of, 271 anyURI datatype, 318 \w escape character, 368 and relational database, 709, alternatives to, 329 \W escape character, 368 720–722 constraining facets of, \[ escape character, 367 All model group, 96, 97 328–329 \] escape character, 367 AlphabeticPresentationForms and relational database, 633 - metacharacter, 377 Unicode character block, unique features of, 322 [ metacharacter, 361 372 use of, 320, 327–328 ] metacharacter, 361 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 943

Index 943

Apache attribute element, 182, 254, form of values of, 66 history of, 428 859, 934 Attribute use, 174, 193, 401 projects of, 428–429 attributes of, 182–191 properties of, 403 See also Xerces. content options for, 191–193 Attribute wildcard, 88, 174, appinfo element, 82, 859 and relational database, 709 401, 404 attributes of, 119 Attribute declaration, 403 Attribute-use group content options for, 120 of schema, 391, 935 named, 409–410 function of, 119 Attribute group definitions, reuse of, 409 Application, defined, 31, 937 of schema, 391 attributeFormDefault Arabic Unicode character Attribute information item, attribute, 80 block, 370 62, 64–66, 931 of schema element, 108, 109 ArabicPresentationForms-A basic, 421 attributeGroup content Unicode character block, default value of, 65 option for schema element, 372 PSVI, 68, 421–423 115 ArabicPresentationForms-B normalization of, 65 attributeGroup element, 88, Unicode character block, Attribute set model, 389, 401 193, 254, 724, 860 373 components in, 403–404 attributes of, 193–195 Archetype, 12 described, 402–403 content options for, 195–196 Argument description, Attribute specification, and relational database, 709 schemas for, 558–559 defined, 60, 931 Attributes interface (SAX), Armenian Unicode character Attribute type, 11, 88 444 block, 370 abstract vs. concrete, 934 Attributes property, of ele- Arrows Unicode character associations of, 389 ment information item, 63, block, 371 DTD-defined, 934 64, 66 ASBuilder Xerces sample defined, 934 AttributesImpl class (SAX), class (DOM), 433 example of, 174–176 445 ASP (Active Server Page), 810 function of, 174 Axis (XPath), 47 ASP code, 580 indications for use of, types of, 54 ASP.NET, receiving data 180–181 AxKit, Apache XML subpro- through, 801–807 instantiability of, 101 ject, 428 async property, in name of, 392 DOMDocument40, 477 namespaces and, 181–182 Attr interface (DOM), 443 prohibiting, 189–191 B Attribute, 48 properties of, 392–393 adding to simple type, qualified vs. unqualified, 181 base attribute 231–233 schema-defined, 934 of extension element, 263 constraint of, 87–88 structure of, 392 of restriction element, 212, defined, 60, 931 structure restrictions on, 392 213, 267 mapping to object-oriented structure type of, 935 Base class, 926 language, 519 value constraints on, 393 Base ten, 295 type name of, 931 Attribute type declaration, Base type, 12, 935 value of, 931–932 934 Base type definition, 394 attribute (XPath axis), 48, 54 Attribute type property, of Base URI property, of ele- attribute content option for attribute information item, ment information item, 63, schema element, 115 64, 65 64 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 944

Index 944

base64Binary datatype, 322 BoxDrawing Unicode charac- application requirements of, compatibility issues, 902–903 ter block, 371 831 constraining facets of, 327 BraillePatterns Unicode char- architecture of, 770–771, and relational database, 633 acter block, 372 836–837 use of, 326–327 Builder pattern, 528 business logic of, 847–851 Basic infoset, 929 Building Web Services with creating views of, 795–800 distinguished from PSVI, 416 Java, 762 database design for, 810–823 information items in, 417 Built-in datatypes, 89 high-level view of, 765 BasicLatin Unicode character date, time, and duration, requirements of, 759 block, 370 304–316 scalability issues, 760 Batik, Apache XML subpro- numeric, 295–304 SecurityBroker component ject, 428 oddball, 322–330 construction, 846–847 Bengali Unicode character and relational database, 598 sending form data in, 800–807 block, 370 string, 316–322 system architecture for, BLOB, SQL datatype, advan- time-line-based, 306–311 774–795 tages of, 632 built-in.xsd example file, system users in, 759–764 Block (Unicode character), 128–129 technologies for, 760–764 template queries in, 851–852 defined, 370 byte datatype, 297 block attribute, 143, 166 UIBroker component con- constraining facets of, of complexType element, 247, struction, 842–846 303–304 248–250, 720 Web tier construction of, derivation relationships of, of element element, 148, 838–842 304 150–151 XML/XSLT files of, 842 and relational database, 630 blockDefault attribute, of Canonical lexical representa- use of, 302, 303, 304 schema element, 108, tion, 202, 206–207 ByzantineMusicalSymbols 109–110 Canonical representation, Unicode character block, BlockElements Unicode char- 294 373 acter block, 372 Cardinality quantifiers, Blocking 374–377 of complex type, 96, 245 Cascading style sheets, 796 impact of, 111 C catalog.xsd explanation, methods of, 144 161–162, 183, 202–204, 216, non-inheritance of, 250 C Unicode character cate- 221–223, 234–238, 240–241, of simple type, 208 gory, 365 243–244, 260–262, 266–267, of substitution, 143–146 C++ 282–289, 675–677, 679, boolean datatype, 322 class polymorphism in, 535 690–695, 709–713 constraining facets of, 325 XML implementation using, complete listing, 878–890 in relational database, 589, 533–535 Cc Unicode character cate- 634 C# gory, 365 representation of, 634–635 and .NET Framework, 536 CDATASection interface using, 324 XML implementation using, (DOM), 443 Bopomofo Unicode character 535–539 Cf Unicode character cate- block, 372 Campus Resource and gory, 365 BopomofoExtended Unicode Scheduling System (CRSS) CHAR datatype, 598 character block, 372 case study, 758 Character categories, 364 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 945

Index 945

Character class, 869–870 CJKIdeographsExtensionB Comment declaration, 932 Character class expressions, Unicode character block, Comment interface (DOM), 377, 870 373 443 subtraction, 380 CJKRadicalsSupplement Common Object Request Character code property, of Unicode character block, Broker Architecture character information item, 372 (CORBA), 570 66 CJKSymbolsandPunctuation compact.xml example file, Character information item, Unicode character block, 77–78 62, 66 372 compact.xsd example file, Character set, 359–360 Class, 14 76–77 CharacterData interface characteristics of, 925–926 Company catalog example, (DOM), 443 derivation of, 926 20–22 Check constraints (SQL), 598 instantiable vs. non-instan- Complex content child (XPath axis), 54 tiable, 12, 926 empty content, 85 Children, of element, provision of aspects by, 925 mixed, 86–87 Class generator, 926 defined, 60, 931 nested elements, 85 Client tier, 774, 782 wildcards in, 87 Children property, 15 reusable datatypes in, Complex type, 11, 79 of element information item, 782–795 adding attributes to simple 63, 64, 66 CLOB, SQL datatype, 902 type, 231–233 choice element, 255, 860 drawbacks of, 632 annotations in, 402 attributes of, 275–277 Oracle support of, 599 blocking, 96 content options for, 277–278 CLSIDs, 473 with complex content, 92 function of, 274–275 Cn Unicode character cate- defined, 935 and relational database, gory, 365 derivation data for, 401–402 724–727 Co Unicode character cate- derivation by extension, 92–93 restrictions on, 278, 281 gory, 365 derivation by restriction, Choice model group, 96, Cocoon, Apache XML sub- 94–96 97–98 project, 428 explicitly non-instantiable, CJKCompatibility Unicode Code generation, 332 238–240 character block, 372 COLLAPSE process, 318 function of, 230 CJKCompatibilityForms COM (Component Object implicitly non-instantiable, Unicode character block, Model), 570 240–244 372 CombiningDiacriticalMarks instantiability of, 101 CJKCompatibilityIdeographs Unicode character block, longhand notation of, 245–246 Unicode character block, 370 mapping to database schema, 372 CombiningHalfMarks 709–713, 718 CJKCompatibilityIdeographsS Unicode character block, mapping to object-oriented upplement Unicode charac- 372 language, 511–517 ter block, 373 CombiningMarksforSymbols mapping supporting mixed CJKIdeographs Unicode char- Unicode character block, content to database schema, acter block, 372 371 713–718 CJKIdeographsExtensionA Comment, 83 name of, 401 Unicode character block, Comment information item, prohibiting extension of, 245 372 62 redefined, 133 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 946

Index 946

Complex type (continued) Constraining Customer list example, 22–24 and relational databases, of attributes, 87–88 Cyrillic Unicode character 708–718 of derived types, 383–384 block, 370 restriction of, 245, 249–250, of elements, 84–87 257–258 of simple content, 381–383 shorthand notation of, 245, Constraining facets 246 described, 396 D with simple content, 91 listed, 90 Data character, defined, 61, specifying attribute types, 244 of restriction element, 215 927 specifying empty content, of simpleType element, 212 Data-oriented schemas 230–231 and relational databases, complex types, 708–754 specifying mixed content, 590–597 datatypes, 588–671 237–238 of simple type, 88–89, 91, simple types, 674–706 specifying nested element 202, 205 Database types, 234–237 Content check constraints vs. triggers structure restrictions on, 401 complex, 85–87 in, 598 substitution restrictions on, of element, 59, 60, 930 design of, using XML 402 mixed, 86–87 schemas, 810–815 use in content models, 407 simple, 84–85 facet restrictions and, 590–597 complexContent element, Content model, 389, 401 mapping complex types to, 245, 255, 860 options for, 405 708–754 attributes of, 258–260 Content pattern, 12, 935 mapping schemas to, 815–823 content options for, 259–260 Content type, 401, 405 mapping simple types to, and relational database, 727 Content-Length header, 674–706 complexType content option HTTP, 565 Oracle PL/SQL functions and, for schema element, 115 Content-Type header, HTTP, 678 complexType element, 230, 565 XML datatypes and, 598–671 246, 860 ContentHandler interface XML schema design consider- attributes of, 247–253, (SAX), 444, 459–460 ations regarding, 588–590, 719–720 ControlPictures Unicode 674–675, 708–709 content options for, 254–255 character block, 371 Database data and relational database, Coordinated Universal Time, direct access of, 824 719–720 308, 310 updategrams and, 832–833 Component Object Model CORBA (Common Object Database sequence identi- (COM), 570 Request Broker fiers, support for, 899–900 Component tier, 775–776 Architecture), 570 Database tier, 776 Datatypes Components, of schema, 34 Correspond, defined, 15, 19 built-in, 89 Concatenation, of expres- Counter Xerces sample class date, time, and duration, sions, 362, 363 (DOM), 433 304–316 Concrete Crimson, XML subproject, defined, 936 attribute type, 934 428 derived, 294 defined, 58 Cs Unicode character cate- numeric, 295–304 element, 14, 15 gory, 365 oddball, 322–330 element type, 17, 18, 934 CurrencySymbols Unicode Oracle, 902–921 uses of term, 932 character block, 371 and relational databases, 598 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 947

Index 947

reusable, 782–795 DefaultHandler class (SAX), personnel for, 544 string, 316–322 445, 465 procedures for, 545–546 time-line-based, 306–311 Definition schema arising from, 546 types of, 936 defined, 933 Document element, 66 user-defined, 936 schema component as, 389 defined, 60, 931 date datatype, 89, 308 definitions element, in WDSL Document element property, constraining facets of, document, 570 of document information 642–645 DelayedInput Xerces sample item, 63 Oracle8i compatibility issues, class (SAX), 433 Document information item, 906–909 DELETE, HTTP verb, 565 33, 59, 62–63 and relational database, Derived complex type Document interface (DOM), 641–645 adding element types or 438, 443 time zones and, 641 attribute types to, 244 dateTime datatype, 306, 307 instantiability of, 239 (DOM), 428 constraining facets of, removing element types or advanced example of, 638–641 attribute types from, 244 456–458 Derived datatypes, 294 Oracle8i compatibility issues, advanced functionality in, Derived type, 12, 935 904–906 458–459 descendant (XPath axis), 54 and relational database, advantages and disadvantages descendant-or-self (XPath 637–641 of, 488 axis), 54 Daylight Savings Time, 310 based on, 28 Describe, defined, 19 decimal datatype, 84, 294, creating documents, 449–452 Deseret Unicode character 295 example file, 450–452 block, 373 alternatives to, 298 Level 3 functionality, 459 Design patterns, 527 constraining facets of, 297, recommendation for, 33 Builder pattern, 528 625–629 validation using, 492 Design Patterns: Elements of derivation relationships of, Reusable Object-Oriented Document processing 297, 302 Software, 527 editor programs for, 551 level of validation and, 625 Designated value, of importance of, 549 in relational database, 589, optional property, 67 production software for, 625 Devanagari Unicode charac- 551–553 use of, 296–297, 300 ter block, 370 XML-smart authoring tools Decimal point, 295 Developing SGML DTDs, 548 for, 549–550 Declaration Dingbats Unicode character Document structure defined, 932–933 block, 372 finding, 546 entity, 29 Document major divisions, 547 schema component as, 389 abstract vs. concrete, 58 paragraphs, 547–548 default attribute display of, 543 specialized pieces, 547 of attribute element, 182, 183 display conventions for, 550 specialized structures, 548 of element element, 148, editing of, 542–543 Document Style Semantics 151–152 as flat character string, 13 and Specification Language Default namespace, 40 parsing of, 13 (DSSSL), 552 declaring, 39 parts of, 929–932 Document type declaration using, 41, 43 Document analysis information item, 62, 932 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 948

Index 948

Document Type Definitions. constraining facets of, 300 listed, 858–865 See DTDs. in relational database, 589, overriding definition of, documentation element 632 782–783 attributes of, 120–122 use of, 298, 302 qualified vs. unqualified, 147 content options for, 122 DSSSL (Document Style removing, 161–162 function of, 120 Semantics and terminology of, 15 documentation subelement, Specification Language), type name of, 14, 15, 16, 81, 82, 860 552 389, 930 DocumentBuilder class DTD (Document Type value of, 931 (DOM), 440, 442 Definition), 8 in XML document, 58 DocumentBuilderFactory abstract, 388 element content option for class (DOM), 442 attribute type defined by, 934 schema element, 115 DocumentFragment interface compared with schema, 14, Element content whitespace (DOM), 443 388 property, of character infor- DocumentTracer Xerces sam- defined, 932 mation item, 66 ple class (SAX), 433 element type defined by, Element declaration, 17 DocumentTraversal interface 16–17, 18, 934 of schema, 391 (DOM), 444 entity-declarations-only, 31 Element declaration schema DocumentType interface validating against, 30 component, 17, 934 (DOM), 443 DTDHandler interface (SAX), element element, 147, 861, DOM. See Document Object 444 934 Model (DOM). DTD-valid document, 936 attributes of, 148–166 DOMAddLines Xerces sample duration datatype content options for, 166–167 class (DOM), 433 constraining facets of, 313 Element IDs, 103 DOMASBuilderImpl class ordering of, 314 Element information item, (DOM), 447 and relational database, 636 15, 62, 63–64 DOMBuilderImpl class use of, 311–313 basic, 418 (DOM), 447 database validation of, 636 defined, 930 DOMDocument40 Durations, 311, 315–316 PSVI, 68, 418–420 (Microsoft), 476 Element interface (DOM), creating document with, 476 438, 443 loading document with, 477 E Element type, 11, 15–16, 389 parsing errors in, 478 abstract, 16, 17, 18 reading XML with, 477–478 Editing programs, 549–550 annotations in, 400 unique properties of, 477–478 Element(s), 15, 18 associations of, 389 validation using, 492 abstract, 14–15 concrete, 17, 18 DOMException (DOM), 443 annotation of, 82–85 DTD-defined, 16–17, 18, 934 DOMImplementation inter- attributes of, 931 example of, 138 face (DOM), 443 children of, 60, 931 function of, 138 DOMParser class (DOM), 447 components of, 14 global vs. local, 138–139 DOMSerializer interface concrete, 14, 15 instantiability of, 101, (DOM), 445 constraint of, 84–87 146–147 DOMUtil class (DOM), 446 content of, 59, 60, 930 mapping to object-oriented double datatype, 295 defined, 60, 929 language, 518 alternatives to, 300 form of, 59 and namespace, 147–148 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 949

Index 949

nillable value of, 398 EntityReference interface and object-oriented languages, properties of, 398 (DOM), 443 515 referencing of, 164–165 EntityResolver interface and relational database, 745–754 schema-defined, 17, 18, 934 (SAX), 444 use of, 260 scope of, 400 enumeration constraining Extensional objects, 10 structure of, 396–397 facet, 90, 220 Extensional OO, 924 structure type of, 935 hard-coded values in, 593 Extensions, in XML, 10 substitutability of, 398, picklist table for, 594–597 399–400 and relational database, terminology of, 18, 933 592–593, 689, 706 type definition of, 397, 398 separate table for, 593–594 F value constraint on, 398 Equality, testing identity Facets, 395 Element type declaration, 18, constraints for, 342 described, 294 934 ErrorHandler interface (SAX), Factory class (Xerces), 440 Element wildcard, 87 444 FactoryConfigurationError elementFormDefault Ethiopic Unicode character (SAX), 442 attribute, 80 block, 371 field element, 862 of schema element, 108, 109 Event, 28 attributes of, 354–355 Empty content, 85–86 Event-token emitting parser, content options for, 356 specification of, 230–231 31–32 Field, in XML schema, 339 Empty-element tag, 14, 59, validation by, 32 XPaths for, 340–341 930 eXcelon Stylus Studio, 771 Final, 395 Encapsulation, 509, 510 Expressions, 358 final attribute EnclosedAlphanumerics Extensible Style Language of complexType element, 245, Unicode character block, Transform (XSLT), 552 247, 250–252, 265, 720 371 advantages of, 765 of element element, 148, EnclosedCJKLettersandMonths business uses for, 766, 767 152–153, 166 Unicode character block, characteristics of, 764–766, of simpleType element, 208, 372 800 209–210 EncodingMap class (Xerces), conversion of XML to rela- finalDefault attribute, of 446 tional data, 766, 767 schema element, 108, 109 End-tag, 14, 29 debugging templates in, 771 Finality, non-inheritance of, of concrete element, 59 HTML creation in, 795–800 252 ENTITIES datatype, 317 using System.XML classes, fixed attribute constraining facets of, 322 846 of attribute element, 182, derivation of, 321 Extensible Stylesheet 184–185 and relational database, 618 Language (XSL), 552, 553 of element element, 149, 157 ENTITY datatype, 317 Extension, of complex type, float datatype, 69, 295 constraining facets of, 322 92–93 alternatives to, 300 derivation of, 321 extension element, 260, 514, constraining facets of, 300 and relational database, 617 861 data space of, 299 Entity interface (DOM), 443 attributes of, 263–264 in relational database, 589, Entity manager, 28, 29 content options for, 264–265 631–632 Entity-declarations-only DTD, examples of use of, 746–754 use of, 298–299, 302 31 function of, 745–746 values of, 298 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 950

Index 950

following (XPath axis), 54 XML instance and, 81–82 Gurmukhi Unicode character following-sibling (XPath XML schema document and, block, 370 axis), 54 81 gYear datatype, 308 Fonts, 551 Global element type, 138 constraining facets of, FOP, XML subproject, 428 referencing, 164–165 647–650 form attribute gMonth datatype, 314, 315 Oracle8i compatibility issues, of attribute element, 182, constraining facets of, 909–911 185–187 660–663 and relational database, 590, of element element, 149, Oracle8i compatibility issues, 645–650 158–159 916–917 and time zones, 646 Form data, sending, 800–807 in relational database, 590, gYearMonth datatype, 308 Formal grammar, 30 658–663 constraining facets of, formElementDefault gMonthDay datatype, 314, 651–654 attribute, 147 315 Oracle8i compatibility issues, Fowler, Martin, 521 constraining facets of, 911–913 fractionDigits constraining 668–671 and relational database, facet, 90, 625 Oracle8i compatibility issues, 650–654 Frameworks, types of, 759 920–921 fullFeaturedSchema.xsd and relational database, example file, 107 667–671 Fundamental facets, 395 Googol, 295 H Gothic Unicode character Haines, Eric, 580 block, 373 HalfwidthandFullwidthForms G Grammar, formal, 30 Unicode character block, Greek Unicode character 373 Gamma, Erich, 527 block, 370 HangulCompatibilityJamo gDay datatype, 314, 315 GreekExtended Unicode Unicode character block, Oracle8i compatibility issues, character block, 371 372 918–919 Greenwich Mean Time, 308 HangulJamo Unicode charac- in relational database, 590, group content option for 663–666 ter block, 371 schema element, 115 GeneralPunctuation Unicode HangulSyllables Unicode character block, 371 group element, 255, 862 character block, 372 Generic identifier, 14, 930 advanced use of, 729–730 HEAD, HTTP verb, 565 GeometricShapes Unicode attributes of, 289–291 Hebrew Unicode character character block, 372 content options for, 292 block, 370 Georgian Unicode character function of, 281 hello.xml, 566, 567, 568 block, 371 and relational database, HelloApache.java, 435–437 GET, HTTP verb, 565, 567 727–730 parsing, 439–441 GetElementsByTagName reuse of, 282–289 HelloApacheDOM example Xerces sample class (DOM), use of, 728 file, 450–452 433 Groupings, of expressions, HelloApacheDOM2 example getFeature method, 482 363 file, 457–458 getProperty method, 482 Gujarati Unicode character HelloApacheSAX example Global component, 81 block, 370 file, 462–463 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 951

Index 951

HelloApacheSAX2 example of attribute element, 182, 187 fields in, 339 file, 465–468 of attributeGroup element, properties of, 408–409 Helm, Richard, 527 194 and referential integrity, 343 hexBinary datatype, 322 of choice element, 275, 276 representation of, 408 compatibility issues, 902–903 of complexContent element, selectors in, 339 constraining facets of, 327 258–259 shortcuts for, 59 and relational database, of element element, 149, terminology of, 339 632–633 159–160 value equality and, 342 use of, 325–327 of extension element, and XPath support, 340–341 HighPrivateUseSurrogates 263–264 Identity-constraint table Unicode character block, of field element, 355 property, 68, 69 372 of group element, 289, 290 IdeographicDescriptionChara HighSurrogates Unicode of import element, 126 cters Unicode character character block, 372 of include element, 123 block, 372 Hiragana Unicode character of key element, 347 IDL (Interface Definition block, 372 of keyref element, 351 Language), 570 HTML of list element, 217 IDREF datatype, 317 advantages of, 552 of notation element, 130 constraining facets of, 322 creating using XSLT, 795–800 of redefine element, 134, 135 derivation of, 321 shortcomings of, 775 of restriction element, 212, and relational database, 612 HTMLSerializer class (DOM 213, 267, 268 use of, 320 and SAX), 446 of schema element, 108, 111 IDREFS datatype, 317 HTTP (Hypertext Transfer of sequence element, 278, 279 constraining facets of, 322, Protocol), 561, 563 of simpleContent element, 612 actions in, 565 256 derivation of, 321 request-response structure for, of simpleType element, 209, in relational database, 590, 564–566 210 sample request in, 565 of union element, 224 612–617 sample response in, 566 of unique element, 344, 345 single-column implementation transmission of XML id function (XPointer), 49 of, 612, 613–614 instances through, 576 ID datatype, 317 table implementation of, 612, XML and, 566–569 constraining facets of, 322 614–617 defined, 13, 937 use of, 320 derivation of, 321 VARRAY implementation of, and relational database, 612 612 I use of, 320 iexmltls.exe, 781 IBM, parsers from, 781 ID/IDREF binding, 68, 69 IIS (Internet Information id attribute, 13 properties added by, 424–425 Services)(Microsoft), 823 of all element, 272, 722 schema reference capabilities configuration of SQL 2000 to of complexType element, 247, substituted for, 408 work with, 823–829 252, 720 Identity constraint(s), 49, 101 testing of configuration, of annotation element, 118 binding, 424, 425 829–830 of any element, 168, 169 definitions, 400 using, 823–824 of anyAttribute element, enforcing uniqueness, 342 IIS Support tool, configura- 196–197 examples of, 59, 332–338 tion, 824–829 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 952

Index 952

Immediate subelement, In-scope namespaces prop- properties of, 484 defined, 60, 930 erty, of element informa- Item type definition, 395 import content option for tion item, 63, 64 itemType attribute, of list schema element, 115 Instance, 14, 925 element, 217, 218 import element, 71, 103, 571, Instantiability, 935 IVBSAXContentHandler inter- 862 of attribute type, 100 face, 479 attributes of, 126 of complex type, 101, 146 content options for, 127–128 of derived type, 239–240 of element type, 100, 146–147 purpose of, 124–125 of simple type, 101 J using, 572 Instantiable class, 12, 926 J2EE, 759 include content option for int datatype, 297 transport protocols for, 563 schema element, 115 constraining facets of, Java Development Kit (JDK), include element, 71, 102–103, 303–304 432 862 derivation relationships of, 304 Java Runtime Environment attributes of, 123 and relational database, 630 (JRE), 432 content options for, 124 use of, 302, 303, 304 java.xml.parsers package, purpose of, 122 integer datatype 442 IndentPrinter class (DOM and constraining facets of, JavaServer Page (JSP), 810 SAX), 446 301–302 Johnson, Ralph, 527 Individual character (regular) derivation of, 294, 297 expressions, 363 derivation relationships of, Inf (infinity), 295, 298 302 Infinite integers, represent- and relational database, 629 K ing, 302 use of, 298, 301 Kanbun Unicode character Information item, 33 Intensional objects, 10 block, 372 attribute, 62, 64–66, 68, Intensional OO, 924 KangxiRadicals Unicode char- 421–423 Interface Definition acter block, 372 element, 15, 62, 63–64, 68, Language (IDL), 570 Kannada Unicode character 418–420 Internet Explorer (Microsoft), block, 371 XML compatibility of, 800 terminology issues, 423 Katakana Unicode character Internet Information Services types of, 62–66, 928 block, 372 (Microsoft), 823 KeepSocketOpen Xerces sam- XML, 31 configuration of SQL 2000 to ple class, 433 Information set (infoset), 28, work with, 823–829 key element, 101, 102, 342, 31, 59 testing of configuration, 343, 408, 862 Infoset Recommendation, of 829–830 attributes of, 347–348 W3C, 8–9, 58, 59, 61 using, 823–824 content options for, 348 Inheritance, 509, 510 IPAExtensions Unicode char- example of, 346–347 in intensional technologies, 10 acter block, 370 function of, 346 mapping to object-oriented ISchema interface, 486–487 Key sequence, in XML valida- language, 514–515 getting, 486 tion, 339 Input, 557 properties of, 487 keyref element, 101, 102, Input controller, 28 ISchemaItem interface, 343, 408, 862 InputSource class (SAX), 444 484–486 attributes of, 350–352 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 953

Index 953

content options for, 352 delimited nature of, 216 Lu Unicode character cate- example of, 349–350 sample program for, 219, 221 gory, 364 function of, 349 list element, 91, 215–216, Khmer Unicode character 862 block, 371 attributes of, 216–218 constraining facets of, M 220–221, 682–689 M Unicode character cate- L content options for, 218–219 gory, 365 example of, 216 Magic string-derived L Unicode character category, and relational databases, 674, datatypes 364 678–689 constraining facets of, 322 L& Unicode character cate- single-column implementation derivation of, 321 gory, 364 of, 678, 679–680 function of, 321 Language, specifying, 113 table implementation of, 678, Malayalam Unicode character language datatype 680–682 block, 371 derivation of, 318 Ll Unicode character cate- Markup, 927 and relational database, gory, 364 Markup punctuation, 61, 927 604–608 Lm Unicode character cate- MathematicalAlphanumericS treatment of whitespace in, gory, 364 ymbols Unicode character 319 Lo Unicode character cate- block, 373 Lao Unicode character block, gory, 364 MathematicalOperators 371 Local component, 82 Unicode character block, Latin character set, 359–360 Local element type, 138, 139 371 Latin-1Supplement Unicode Local name, 13 maxExclusive constraining character block, 370 Local name property, 15 facet, 90 LatinExtendedA Unicode of attribute information item, Oracle8i compatibility issues, character block, 370 64, 66 905–906, 908, 910, LatinExtendedAdditional of element information item, 912–913, 915, 917, 919, 921 Unicode character block, 371 63 and relational database, 627, LatinExtendedB Unicode Local part, of name, 39 639, 643–644, 648, 652, character block, 370 Location path, 47 656–657, 661, 665, 669 Lax validation, 415 Location set, 51 maxInclusive constraining length constraining facet, 90, Locator interface (SAX), 444 facet, 90 220 LocatorImpl class (SAX), 445 Oracle8i compatibility issues, and relational database, 599, long datatype, 297, 302 905, 907–908, 910, 912, 682–686 constraining facets of, 915, 916–917, 919–919, LENGTHC (SQL) function, 600 303–304 920–921 LetterLikeSymbols Unicode derivation relationships of, and relational database, character block, 371 304 626–627, 638, 642–643, Lexical analyzer, 29 and relational database, 630 647, 651–652, 655–656, Lexical constraint, 84 use of, 302, 303, 304 660, 664, 668 Lexical space, 294 LowSurrogates Unicode maxLength constraining of simple type, 202, 206 character block, 372 facet, 90, 220 List Lt Unicode character cate- and relational database, 599, constrained, 221 gory, 364 687–689 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 954

Index 954

maxOccurs attribute 648–649, 653, 657, proprietary features of, 474 of all element, 272–273, 722 661–662, 665–666, 669–670 structure of, 473 of element element, 149, minLength constraining using DOM with, 476–478 160–161 facet, 90, 220 using SAX with, 478–483 of choice element, 275, 276 and relational database, 687 validation in, 488–493 of group element, 289, 290 minOccurs attribute Visual Basic and, 475 of sequence element, 278, 280 of all element, 272, 273, 722 XSLT processor in, 472 Mc Unicode character cate- of choice element, 275, 277 Multiple character escape gory, 365 of element element, 149, 162 (regular expression), Me Unicode character cate- of group element, 289, 367–368 gory, 365 290–291 examples of, 368 Member type definition, 395 of sequence element, 279, 280 MusicalSymbols Unicode character block, 373 memberTypes attribute, of Misc, of XML document, 58 Myanmar Unicode character union element, 224 MiscellaneousSymbols block, 371 message element, in WDSL Unicode character block, 372 document, 570 MiscellaneousTechnical Metacharacters, 361–362 Unicode character block, Metadata string, 61, 927 371 N Method, of object, 924 mixed attribute Microsoft Common Dialog N Unicode character cate- of complexContent element, gory, 365 Control, 493 258, 259 n-tier architecture, 775 Microsoft .NET XML Web of complexType element, 247, XML and, 776–777 Services, 762 253, 709 Name See also .NET Framework. Mixed content, 86–87, 230 defined, 39 Microsoft Windows Common mapping to database schema, of element, 14 Controls, 493 713–718 locally scoped, 79 Microsoft XML Core Services. specification of, 237–238 namespace, 390, 929 See MSXML. Mn Unicode character cate- qualified vs. unqualified, 38, 79 minExclusive constraining gory, 365 of schema-defined element facet, 90 Model group, 96–98 type, 17 i Oracle8 compatibility issues, characteristics of, 407 name attribute 906, 908, 910–911, 913, named, 410–411 of attribute element, 182, 915, 917, 919, 921 properties of, 407 187–188 and relational database, redefined, 133 of attributeGroup element, 628–629, 640–641, 645, Model group definitions, of 194–195 649–650, 653–654, 658, schema, 391 of complexType element, 247, 662–663, 666, 670–671 Mongolian Unicode charac- 253, 720 minInclusive constraining ter block, 371 of element element, 149, 163 facet, 90 msxm14.dll, 472, 473 of group element, 289, 291 Oracle8i compatibility issues, MSXML (Microsoft XML Core of key element, 347, 348 906, 908, 910, 913, 915, Services), 576, 580 of keyref element, 351 917, 919, 921 downloading, 472, 493 of notation element, 130 and relational database, example of use of, 493–503 of simpleType element, 209, 627–628, 640, 644–645, for parsing, 472 210–211 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 955

Index 955

of unique element, 344, 345 Namespace identifier (NID), use of, 302 Name datatype, 317, 937 36 Nested elements, 85 derivation of, 318, 320 registering, 37 complex type and, 234–237 and relational database, Namespace information .NET Framework, 536, 557, 608–609 item, 62 759 treatment of whitespace in, Namespace name, 390, 929 programming languages for, 319 Namespace name property 801 Named attribute use-group, of attribute information item, as replacement for COM, 770 88, 174, 193, 391, 409–410 64, 66 schema and DTD support of, example of, 176–177 of element information item, 849 function of, 410 63 transport protocols for, 563 representation of, 410 Namespace validation in, 781, 849 Named model group, 96, 98, Recommendation, of W3C, Netscape (AOL), XML com- 391, 410–411 8, 36 patibility of, 800 NamedNodeMap interface Namespace schema informa- NID (Namespace identifier), (DOM), 443 tion, added by PSVI, 424, 36 Namespace, 36 425 registering, 37 and attribute type, 181–182 Namespace URI, 39 nil attribute, 147 components of, 38 Namespace-specific string Nil PSVI property, 68, 69 declaration of, 38–39, 780, (NSS), 36 nillable attribute, 146, 398 929 NamespaceSupport class of element element, 149, 163 default, 39, 40, 41, 43, 79–80 (SAX), 445 Nl Unicode character cate- defined, 929 NaN (not a number), 295, gory, 365 element type and, 147–148 298, 631 NMTOKEN datatype, 317 qualifier of, 79 Natural numbers, 295 derivation of, 318 importance of specifying, NCHAR datatype, 598 and relational database, 107–108 NCLOB datatype, 599, 902 618–619 scoping rules for, 42 NCName datatype, 317, 937 treatment of whitespace in, specifying, 78 defined, 13 319 target, 17, 80 derivation of, 320 NMTOKENS datatype, 317 and XML instance, 80–81 derivative datatypes of, 321 derivation of, 318, 320 XPointer and, 51–52 use of, 317–318, 320 and relational database, 590, namespace attribute and relational database, 620–624 of any element, 168, 169–170 609–612 single-column implementation of anyAttribute element, treatment of whitespace in, of, 620–621 197–198 319 table implementation of, 620, of import element, 126, 127 Nd Unicode character cate- 622–624 Namespace attributes prop- gory, 365 treatment of whitespace in, erty, of element informa- Negative character ranges, 319 tion item, 63, 64 379 VARRAY implementation of, namespace (XPath axis), 54 Negative infinity (Inf-), 295, 620 Namespace declaration, 298, 631 No Unicode character cate- 38–39, 780 negativeInteger datatype, gory, 365 defined, 929 300, 302 NO VALUE value, 67 scope of, 929 and relational database, 629 Node, in XML, 339 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 956

Index 956

Node ID, 48–49 notation content option for and XML, 510–527 Node interface (DOM), 443 schema element, 116 Ogham Unicode character Node set, 47 notation datatype, 322 block, 371 use of predicates on, 47–48 constraining facets of, 339 OldItalic Unicode character NodeFilter interface (DOM), function of, 389 block, 373 444 non-instantiability of, 329 Operators, precedence of, NodeIterator interface and relational database, 633 380–381 (DOM), 444 use of, 329–330 OpticalCharacterRecognition NodeList interface (DOM), Notation declaration, 936 Unicode character block, 443 of schema, 391 371 Non-instantiable class, 12, 926 notation element, 128–129, Optional property, 67 Non-instantiable types, 862 Optional quantifiers, 375 207–208, 400, 935 attributes of, 130–132 Optional repeating quanti- explicitly, 238–240 content options for, 132 fiers, 375 Notation information item, implicitly, 240–244 OPTIONS, HTTP verb, 565 62, 932 or (regular expression) oper- mapping to object-oriented Notation interface (DOM), ator, 361, 362 language, 512–513 443 Oracle8i nonNegativeInteger NSS (Namespace-specific features not supported by, datatype, 297, 300, 302 string), 36 902–903 and relational database, 630 NumberForms Unicode char- workarounds in, 903–921 use of, 302 acter block, 371 Oracle9i Nonnegative integers, 295 Numbers column datatype support, 598 nonPositiveInteger datatype, characteristics of, 295 PL/SQL functions in, 678 297, 300, 302 as datatype, 89 XML compatibility, 588–671, and relational database, 629 treatment in relational data- 815 use of, 302 base, 589 org.apache.xerces package, Normal characters, 363 Numeric range, 376 446 Normalized value property, NVARCHAR2 datatype, 598 org.apache.xerces.parsers of attribute information package, 446–447 item, 64, 66 org.apache.xml.serialize normalizedString datatype, package, 438, 445–446 317 O org.w3c.dom package, 443 derivation of, 318, 320 Object, 14 org.w3c.dom.Document Oracle8i compatibility issues, characteristics of, 924–925 interface, 447–449 903–904 Object-oriented (OO) pro- org.w3c.dom.Element inter- and relational database, 602 gramming, 508–509 face, 453 treatment of whitespace in, described, 509 org.w3c.dom.events pack- 319 design patterns and, 527–528 age, 459 Not a number (NaN), 295, encapsulation in, 509 org.w3c.dom.htmls package, 298, 631 examples of, 529–539 459 Notation extensional vs. intensional, org.w3c.dom.Node interface, described, 411–412, 417, 936 924 454–456 properties of, 412 inheritance in, 509 org.w3c.dom.ranges pack- XML, 102 polymorphism in, 510 age, 459 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 957

Index 957

org.w3c.dom.traversal pack- properties of, 406 POST, HTTP verb, 565 age, 444, 459 Party, defined, 521 Post-schema-validation org.w3c.sax package, party.xsd example file, infoset (PSVI). See PSVI. 444–445 521–525 Potential substitution group, org.w3c.sax.helpers package, Pattern, enforcement of, 588 398 445 pattern constraining facet, Precedence of operators, org.xml example file, 90, 220, 381 380–381 525–526 use of multiple, 382–383 preceding (XPath axis), 54 Oriya Unicode character and relational database, preceding-sibling (XPath block, 370 590–592, 689, 706 axis), 54 Output, 557 use of, 382 Predicate, 47–48 Output token, 29 pattern element, within validity of, 48 OutputFormat class (DOM restriction element, 358 Prefix, 13, 38, 39 and SAX), 446 Pattern facet, 294, 302 absence of in schema, 390 Owner element property, of Pattern-constrained simple Prefix property attribute information item, type, 203 of attribute information item, 64 64 Pc Unicode character cate- of element information item, 63 gory, 365 pricing.xsd explanation, PCDATA strings, 406 176–177, 207, 230–233, Pd Unicode character cate- 238–240, 257–258, 274, P gory, 365 282–289 P Unicode character category, Pe Unicode character cate- complete listing, 895–899 365 gory, 365 Primitive, defined, 394–395 parent (XPath axis), 54 , regular expressions in, Primitive type definition, Parent property 360 394, 395 of character information item, Pf Unicode character cate- Printer class (DOM and SAX), 66 gory, 365 446 of element information item, Pi Unicode character cate- PrivateUse Unicode character 63, 64 gory, 365 block, 372, 373 parse function, in Picklist tables, 594–597 processContents attribute, of DocumentBuilder, 440–441 Po Unicode character cate- any element, 168, 170 Parser, 28–29 gory, 365 and relational database, 708, nonvalidating, 31 Point in Polygon sample 723 for SGML, 30 application, 572–583 values of, 170 syntax-driven, 31 Polymorphism, 510 processContents attribute, of for XML, 30 mapping to object-oriented anyAttribute element, 198 ParserAdaptor class (SAX), language, 515–517 infor- 445 Positive character groups, mation item, 62, 932 ParserConfigurationException, 377–379 ProcessingInstruction inter- 442 Positive infinity (Inf+), 295, face (DOM), 443 Parsing, 13 298, 631 Production software Parsing event, 31 positiveInteger datatype, formatting-markup based, Parsing-event token, 31 300, 302 552–553 Particle and relational database, 630 stylesheet-based, 551–552 described, 406 use of, 302 PROGID, 476, 477 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 958

Index 958

Prolog, of XML document, 58 as value, 40–41 check constraints vs. triggers Properties, 15 Qualifier, of namespace, 79 in, 598 of objects, 924 Quantifier, 868, 869 facet restrictions and, 590–597 values of, 67 Query types, SQL support of, mapping complex types to, propertyMethods, 59, 768–769 708–754 924–925 mapping schemas to, 815–823 Provide, defined, 925 mapping simple types to, Ps Unicode character cate- 674–706 gory, 365 R Oracle PL/SQL functions and, PSVI (Post-schema-validation range-to function (XPointer), 678 infoset), 34, 520 53 XML datatypes and, 598–671 characteristics of, 67 Rational numbers, 295 XML schema design consider- construction of, 415 Real numbers, 295 ations regarding, 588–590, described, 928 redefine content option for 674–675, 708–709 distinguished from basic schema element, 116 Repeating dates and times, infoset, 416 redefine element, 71, 862 314–315 information items added by, attributes of, 134–135 constraining facets of, 315 423–426 content options for, 135–136 REPLACE process, 318 properties of, 68–69 function of, 132–134 Request-response applica- properties added by, 418–423 ref attribute, 81 tion, 561, 562 ptinpoly.xsd sample applica- of attribute element, 182, 188, Required repeating quanti- tion, 574–575, 580–583 191 fiers, 376 pttest.htm example file, of attributeGroup element, Resource Directory 577–578 195 Description Language public attribute, of notation of element element, 149, 164 (RDDL), 38 element, 130, 131 of group element, 289, 291 Restriction PUT, HTTP verb, 565 refer attribute, of keyref ele- of complex type, 94–96 putFeature method, 482 ment, 351, 352 of simple type, 89 putProperty method, 482 Reference, entity, 29 in XML, 10 References property, of restriction element, 212, 243, attribute information item, 260, 358, 514, 863–864 Q 64, 65 attributes of, 212–213, Referential integrity, 343 267–268 QName datatype, 13, 40, 937 regexpDemo.xml online constraining facets of, 215 alternatives to, 324 example file, 359 content options for, 213–215, constraining facets of, 324 regexpDemo.xsd online 268–271 defined, 13 example file, 359 examples of use of, 739–745 and relational database, 633 Regular expressions function of, 266–267, 738 structure of, 323 constraint of simple content and object-oriented languages, unique features of, 322 using, 381–384 515 use of, 317–318, 320, 323 grammar for, 868–876 and relational database, Qualified attribute, 181 guidelines for, 359 738–745 Qualified element, 147 Perl, 360 Restrictor, 925 Qualified name, 13, 38, 39 syntax of, 361–381 Result-oriented schemas, 505 defined, 79, 937 Relational database application-oriented, 556–584 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 959

Index 959

document-oriented, 542–553 parsing errors in, 482–483 Schema document informa- object-oriented, 508–539 reading XML with, 479–482 tion, added by PSVI, 424, 426 Reusable datatypes Sc Unicode character cate- schema element, 78, 571, 864 creating, 786–789 gory, 365 attributes of, 108–114 identifying, 783–786 Scalability, 760 content options for, 115–116 XML schema support for, Schema(s) sample, 106–107 782–783 abstract vs. concrete, 58 Schema normalized value, Rich Text Format (RTF), benefits of, 6 PSVI property, 68 552–553 characteristics of, 10, 388 Schema Object Model. See Routing application, 561, combining, 840 SOM. 562, 563 compared with DTDs, 14 Schema processing, 33–34, Runic Unicode character creating, 779 414 block, 371 database design using, steps of, 415 810–823 Schema Recommendation, of data-oriented, 585–754 W3C, 9–10 S default namespace of, 114 online resources regarding, 26 for describing applications, Schema schema component, S Unicode character category, 560, 569–572 69, 388, 391 Schema value, 12–13 365 for describing arguments, Schema-defined element SAX (Simple API for XML), 558–559 types, 18 428 document-oriented, 542–553 abstract, 17 advantages and disadvantages drawbacks of, 6–7 of, 460 concrete, 18 locating components of, 125 ContentHandler interface of, name of, 17 mapping to object-oriented 459–469 schemaLocation attribute, 51 language, 518–520 SAX-compliant token, 28 of import element, 127 object-oriented, 508–536 SAX2, 478–483 of include element, 123 properties of, 69–70 validation using, 492–493 of redefine element, 134, 135 purpose of, 5 SAXContent VB class, 479 SchemaTreeForm.frm exam- reasons for using, 761, 776 SAXException, 445 ple file, 495–499 regular expressions in, 360 SAXNotRecognizedException, Schema-valid document, 936 result-oriented, 505–580 445 Schmuller, Joseph, 760 role in applications, 558 SAXNotSupportedException, Scientific notation, 295 set-valued properties of, 391 445 Scope, of component, 81 SAXParseException, 445 testing using, 764 anonymous, 82 SAXParser class (SAX), 442, validation of, 771, 780–782 global, 81–82 447, 465 for validation of data, 558 local, 82 SaxParserFactory class (SAX), WDSL and, 570–572 of namespace declaration, 929 442 Schema component, 34, 388 Scoping, 42 SAXTest.cls example file, as declaration, 389 Scripting languages, 557 500–501 defined, 933 Selector, in XML schema, 339 SAXXMLReader40 (Microsoft) as definition, 389 XPaths for, 340–341 configuration of, 482 types of, 390 selector element, 865 handler interfaces of, 479 Schema document. See XML attributes of, 353–354 handler properties of, 481–482 schema document. content options for, 354 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 960

Index 960

self (XPath axis), 54 constraining facets of, 88–89, Single character escape (reg- sequence element, 255, 865 205 ular expression), 366–367 attributes of, 278–280, 731 custom, 89 examples of, 367 content options for, 280–281 defined, 935 Sinhala Unicode character examples of use of, 731–738 derivation data of, 394 block, 371 function of, 278, 731 derivation from token Sk Unicode character cate- and relational database, datatype, 202–203 gory, 365 731–738 derivation from user-derived Skip validation, 415 Sequence model group, 96, 98 simple type, 204 Sm Unicode character cate- sequence.xsd explanation, derivation by restriction, 89 gory, 365 153–156, 241–243 examples of, 202–204, 207 SmallFormVariants Unicode complete listing, 899–900 functions of, 407 character block, 373 Serializer classes, 439 global vs. local, 208 So Unicode character cate- Serializer interface (DOM), instantiability of, 101, 240 gory, 365 445 lexical space of, 202, 206 SOAP (Simple Object Access SGML, 8, 29 list in, 91 Protocol), 557 characteristics of, 405 mapping to database schema, references on, 762 ISO 8879 standard for, 14, 30 675–677 sample of, 762–763 parsing, 30 mapping to object-oriented XML subproject, 428 short datatype, 297 language, 520 SoftModeler (Softera), 24 constraining facets of, name of, 394 SOM (Schema Object Model), 303–304 non-instantiable, 207–208 474 derivation relationships of, pattern-constrained, 203 advantages and disadvantages 304 redefined, 133 of, 488 and relational database, 630 and relational databases, creating schemas using, 488 use of, 302, 303, 304 674–677 interfaces of, 483–488 Sign, of number, 295 structure of, 204 structure of, 485 Simple attribute values, 87 union in, 91, 690–697 source attribute Simple content, 84, 405, 408 value space of, 202, 205–206 of appinfo element, 119–120 and attribute types, 85 Simple-API-for-XML (SAX)- of documentation element, constraint with regular expres- compliant token, 28 121 sions, 381–384 simpleContent element, 244, Sovereign application, 561 lexically constrained values, 245, 255, 865 SpacingModifierLetters 84 attributes of, 256 Unicode character block, Simple Object Access content options for, 256–258 370 Protocol (SOAP), 557 and relational database, 738 Specials Unicode character references on, 762 simpleSchema.xsd example block, 373 sample of, 762–763 file, 106 Specified property, of Simple type, 11, 79, 358, 936 simpleType content option attribute information item, adding attributes to, 231–233 for schema element, 116 64 annotations in, 396 simpleType element, 84, 208, SQL 2000, 767 anonymous, 208 865 template-based queries in, 769 base type definition of, attributes of, 208–211 XML support in, 768, 815 394–395 constraining facets of, 212 SQL XML View Mapper, blocking of, 208 content options for, 211 816–819 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 961

Index 961

SQLXML3 (Microsoft), 815, Subelement sequence, 52 T 818, 819 substGroup.xsd example file, Configure IIS Support tool in, 142–143, 144–146 Tags Unicode character block, 824–829 Substitution group, 99–100, 373 Standard Time, 310 139, 389, 398 Tamil Unicode character Start-tag, 14, 29, 930 in derived type, 142–143 block, 370 of concrete element, 59 of element type, 398 Target namespace, 17, 80 Target node set, in XML vali- STL (Standard Template examples of, 139–141, Library), 534 dation, 339 153–156 strict keyword, importance targetNamespace attribute, features of, 141 of, 632 42, 80 potential, 398 Strict validation, 415 of schema element, 108, 112 substitution value, in String Teach Yourself UML in 24 blockDefault attribute, 109 as datatype, 89 Hours, 760 substitutionGroup attribute length of, 589 TEX-based systems, 552–553. of element element, 149, treatment in relational data- Telugu Unicode character base, 589 166 block, 370 string datatype, 89 Subtraction, character class, Template files, 824 alternatives to, 317 380 use of, 845, 846 constraining facets of, 317 Superclass, 12 Template-based queries, 769, datatypes derived from, SuperscriptsandSubscripts 824 317–322 Unicode character block, implementation of, 851–952 derivation relationships of, 371 Terminology, questions of, 317 Supporting Database 11–12 use of, 316–317 Sequence Schema explana- Testing, using schemas, 764 String datatypes, 316 tion, 153–156, 241–243 TestShapeTrue.xml example constraining facets of, 317, complete listing, 899–900 file, 578–579 320 Supporting Pricing Schema Text editors, 24 derivation relationships of, Document explanation, Text interface (DOM), 443 317, 320 176–177, 207, 230–233, TextSerializer class (DOM and treatment in relational data- 238–240, 257–258, 274, SAX), 446 base, 589 Thaana Unicode character 282–289 use of, 316–317 block, 370 complete listing, 895–899 string-derived datatypes, Thai Unicode character block, Syriac Unicode character 318–319 371 block, 370 alternatives, 320 Thematic Address Schema SYS.AnyData Oracle type, constraining facets of, 320 Document. See address.xsd. 903 derivation relationships of, Thematic Catalog Schema SYS.AnyData type database 320 Document. See catalog.xsd. magic, 321–322 mapping, 702–705 Tibetan Unicode character Structure type, 11, 66, 935 column inserts in, 704 block, 371 element type and, 138 column retrieval in, 705 time datatype, 913–915 Stylesheet, 551 SYS.UriType Oracle type, 903 constraining facets of, 655–658 Subelement, 930 system attribute, of notation and relational database, immediate, 60, 930 element, 130, 132 6654–658 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 962

Index 962

Time line, 304–305 defined, 389 constraining facets of, 227, Time zones, 308–310, 902 types of, 11, 926, 935 706 treatment in relational data- See also Complex type; content options for, 226 base, 590, 641, 646 Simple type. of enumerations, 690–694 Time-line-based datatypes type attribute, 81, 84 examples of, 221–223, constraining facets of, 310 of attribute element, 182, 188 225–226, 227 derivation relationships of, of element element, 149 multiple column database 311 Type generator, 926 mapping of, 697–702 integralization of, 307–308 Type name, 396 and relational databases, 675, ordering of, 310, 311 of attribute, 931 690–706 syntax of, 306 of element, 14, 15, 16, 81, single column database map- time zones and, 308–310 389, 930 ping of, 696–697 using, 306–307 types element, 571 of single-valued simple types, TIMESTAMP datatype, 637, 694–696 902 SYS.AnyData type mapping Token, 28 of, 702–705 output, 29 U unionExamples.xsd example parsing-event, 31 UIBroker, 842 file, 225–226, 227 token datatype, 84, 317 function of, 842, 845–846 unique element, 101, 342, derivation of, 318, 320 implementation of, 842, 343, 408, 865 and relational database, 843–844 attributes of, 344–345 603–604 UML (Unified Modeling content options for, 345–346 simple type derived from, Language), 760 example of, 344 202–203 component model of, 837 function of, 343–344 treatment of whitespace in, UML-style editing tools, 24 Uniqueness 319 Unexpanded entity prefer- aspects of, 343 use of, 320, 329 ence information item, 62 enforcing with identity con- tokenAttribute attribute, 85, Unicode Regular Expression straints, 342 88 Guidelines, 359 UNISTR function, 903 tokenElement element, 85, Unicode Standard, 359, Unparsed entity declaration, 88 873–876 321 totalDigits constraining character blocks in, 370–373 Unparsed entity information facet, 90, 625 character references in, 374 item, 62 TRACE, HTTP verb, 565 Unified Modeling Language Unqualified Transport protocols, 563–569 (UML), 760 attribute, 39, 181 for input and output, 557 component model of, 837 element, 147 TreeView Xerces sample UnifiedCanadianAboriginalS name, 38, 79 class, 433 yllabics Unicode character unsignedByte datatype, 302 TreeWalker interface (DOM), block, 371 constraining facets of, 444 Uniform Record Locator. See 303–304 Triggers URL. derivation relationships of, vs. check constraints, 598 Uniform Resource Name, 36, 304 for picklist table, 595–597 37 and relational database, 631 Type union element, 91, 221, 865 use of, 302, 303, 304 avoiding use of term, 66 attributes of, 223–226 unsignedInt datatype, 297, 302 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 963

Index 963

constraining facets of, V files, 824 303–304 using, 571–572 derivation relationships of, Valid document, 936 Web tier, 775 304 validateOnParse property, in construction of, 838–842 and relational database, 630 DOMDocument40, 478 views of, 840 use of, 302, 303, 304 Validation, 414, 849–850 Well-formed XML document, unsignedLong datatype, 297, catching errors in, 851 defined, 929 302 defined, 389 Whitespace character constraining facets of, of list element, 683, 685, 686 in strings, 318–319 in MSXML, 488–493 303–304 treatment of, 67 results of, 416 derivation relationships of, treatment in relational data- schemas for, 558 304 base, 589 and relational database, 630 types of, 414–415 whiteSpace constraining use of, 302, 303, 304 Validation root, 414, 415 facet, 90, 220 unsignedShort datatype, 297, Validator, 30, 32, 332 characteristics of, 317 302 Value, defined, 931 and relational database, 597 constraining facets of, Value constraint, 389 Wildcard 303–304 on attribute type, 393 attribute, 88, 174 derivation relationships of, on element type, 397 element, 87, 407 304 Value model, 389 properties of, 404 and relational database, 631 Value space, 294 use of, 302, 303, 304 of simple type, 202, 205–206 uses of, 407 Updategrams, 832–833 VARCHAR datatype, 902 Wildcard escape (regular URI, 36 VARCHAR2 datatype, 598, expressions), 369, 377 creating, 37 599 Wilson, Flip, 550 namespace, 39 use of, 600 Consortium URI class (Xerces), 446 Variety, of simple type, 395 (W3C) URL (Uniform Record VBScript, 581 Infoset Recommendation of, Locator), 36 version attribute, of schema 8–9, 58, 59, 61 to locate schema and compo- element, 108, 112–113 Namespace Recommendation nents, 103 Visual Basic of, 8,36 RFCs about, 37 use with MSXML, 475 Schema Recommendation of, using RDDL with, 37–38 XML implementation using, 9–10, 26 URL Schema Validation 530–533 World Wide Web Consortium Service, 771 Visual Studio .NET, 770, 788 (continued) URN (Uniform Resource table creation using, 811–812 XML Recommendation of, Web page views of, 840 Name), 36 7–8 Vlissides, John, 527 RFCs about, 37 XPath Recommendation of, 9, use attribute, of attribute 46 element, 182, 189 Writer Xerces sample class values for, 189–190 W (SAX), 433 UTF-8, 598, 902 UTF-16, 598, 902 Web Services Definition UTL_ENCODE PL/SQL pack- Language (WDSL), 569 age, 902 described, 570 X 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 964

Index 964

Xalan, Apache XML subpro- and object-oriented program- validating, 24–25 ject, 428 ming, 508–539 XML Parser 4.0 (Microsoft), Xang, Apache XML subpro- parsing, 30 576, 580. See also MSXML ject, 428 reduced versions of, 474 (Microsoft XML Core XDR (XML Data Reduced), and SQL 2000, 767–770 Services). Microsoft, 474, 811 subprojects of, 428 XML Recommendation, of schemas, 818 XSLT and, 766, 767 W3C, 7–8 Xerces, 781 XML application XML representation, defined, Xerces Java XML parser, 428 architecture of, 556 19 content handler interface of, business logic of, 557 XML schema. See Schema; 459–469 described using schemas, 560, XML schema document. document interface of, 569–572 XML schema document, 5 447–449 client code in, 575–580 characteristics of, 70–71 downloading, 430–431 defined, 937 creating, 24–25 element interface of, 452–454 example of, 572–583 defined, 34 exceptions in, 441 input and output for, 557 documenting, 82–83 role of schemas in, 558 package contents, 431–432 editing, 24 running, 432–435 scripting languages and, 557 element IDs for, 103 sample classes in package, server code in, 580–583 elements of, 70 433 structure of, 561–563 examples of, 76–77, 106 versions of, 429 transport protocols and, imports and includes in, Xerces Native Interface (XNI), 563–569 102–103 429 XML document locating, 103 XHTMLSerializer class (DOM defined, 927 notations in, 102 and SAX), 446 DTD-valid, 936 processing, 34 XLink Recommendation, 38 insertion of bit strings into, validating, 18, 24–25 :arcrole attribute, 38 325–327 XML Spy (Altova), 24, 771 xlink:href attribute, 38 schema-valid, 936 sample creation facility of, XML structure of, 32–33 794–795 characteristics of, 4–5 valid, 936 context-based markup, 542 well-formed, 929 table creation using, 812–814 conversion to, 763–764 XML document information validation using, 780, 788 Data Reduced (XDR), item, 31 XDR mapping schemas using, Microsoft, 474, 811, 818 XML information set 818 declarations in, 8 (infoset), 33 XML validator, 12, 936 document analysis for, characteristics of, 61, 66–67 xml:lang attribute 544–548 defined, 928 of documentation element, document processing in, importance of, 61 121, 122 548–553 structure of, 61 of schema element, 108, 113 documents in, 542–544 XML instance, 12 XMLFilter interface (SAX), DTDs, 932–936 defined, 927–928 444 mapping to relational data- example of, 77–78 XMLFilterImpl class (SAX), bases, 815–823 namespace and, 80–81 445 Microsoft compatibility of, quantity of elements in, 276, XMLHTTP object, 576–577 472–504 279 xmlns attribute, 79 5241_index_0939-0964.qxd 29/08/02 5.30 pm Page 965

Index 965

of schema element, 108, to locate schemas, 53 Z 113–114 and namespaces, 51–52 XMLReader interface (SAX), XPointer Recommendation, 46 444 xsd.exe, 536 Z Unicode character category, XMLReaderAdaptor class xsi:type attribute, 240, 244 (SAX), 445 XSL (Extensible Stylesheet XMLReaderFactory class Language), 552, 553 (SAX), 445 365 XSL Transformations (XSLT), XMLSerializer class (DOM), 552 438, 446 XNI (Xerces Native Interface), advantages of, 765 zip format, 431 429 business uses for, 766, 767 XPath characteristics of, 764–766, Zl Unicode character cate- defined, 937 800 evaluation of, 46, 48 conversion of XML to rela- and identity constraints, tional data, 766, 767 gory, 365 49–50, 340 debugging templates in, 771 to locate schemas, 53 HTML creation in, 795–800 location paths of, 47 using System.XML classes, 846 Zp Unicode character cate- XPointer extensions to, 53 attribute, of field ele- ment, 355–356 gory, 365 XPath queries, executing, 824 Y XPath Recommendation, of W3C, 9, 46 YiRadicals Unicode character Zs Unicode character cate- XPointer, 46, 51 block, 372 examples of, 55 YiSyllables Unicode character function of, 47 block, 372 gory, 365