XQuery from the Experts: A Guide to the W3C XML Query Language

Howard Katz, Don Chamberlin, Denise Draper, Mary Fernandez, Michael Kay, Jonathan Robie, Michael Rys, Jerome Simeon, Jim Tivy, Philip Wadler

  • 出版商: Addison Wesley
  • 出版日期: 2003-09-01
  • 售價: $2,130
  • 貴賓價: 9.5$2,024
  • 語言: 英文
  • 頁數: 484
  • 裝訂: Paperback
  • ISBN: 0321180607
  • ISBN-13: 9780321180605
  • 相關分類: XML
  • 已絕版

買這商品的人也買了...

商品描述

 

Summary

"The individual perspectives on the concepts behind the XQuery language offered by XQuery from the Experts will be of great value to those who are seeking to understand the implications, opportunities, and challenges of XQuery as they design future information systems based on XML."

—Michael Champion, Advisory Research and Development Specialist, Software AGXQuery answers the growing need for a functional XML search and transformation standard. Backed by the full weight of the World Wide Web Consortium (W3C), XQuery is being extremely well received by the IT community worldwide. The first major XML language that takes advantage of the benefits of strong typing provided by XML Schema, XQuery has the versatility to manipulate both XML and non-XML data and provides a valuable connection between the world of XML and relational databases.

In XQuery from the Experts, select members of the W3C's XML Query working group come together to discuss every facet of XQuery. From Jonathan Robie's introductory "XQuery: A Guided Tour" to Mary Mary Fernández, Jérôme Siméon, and Philip Wadler's "Introduction to the Formal Semantics," XQuery is revealed in a way that both novice programmers and industry experts can appreciate.

Edited by long-time XML expert and programmer Howard Katz, coverage ranges from strictly technical chapters to comparative essays such as Michael Kay's "XQuery, XPath, and XSLT," which explores the common ancestry of all three languages, and Don Chamberlin's "Influences on the Design of XQuery," which details the process behind XQuery's design.

Key coverage includes:

  • Denise Draper on "Mapping Between XML and Relational Data"
  • Michael Rys exploring "Integrating XQuery and Relational Database Systems"
  • Jim Tivy's analysis of "A Native XML DBMS"
  • Mary Mary Fernández, Jérôme Siméon, and Philip Wadler, presenting "Static Typing in XQuery"
  • Information presented in both a tutorial and a reference framework for use by XML professionals of any level
  • For IT managers, professionals, programmers, or anyone involved with XML, XQuery from the Experts is an invaluable resource.  

    Table of Contents

    Preface.


    Contributors.


    Acknowledgments.

    I. BASICS.

    1. XQuery: A Guided Tour.


     

    Sample Data: A Bibliography.

    Data Model.

    Literals and Comments.

    Input Functions.

    Locating Nodes: Path Expressions.

    Creating Nodes: Element, Attribute, and Document Constructors.

    Combining and Restructuring Nodes.

    FLWOR Expressions.

    Quantifiers.

    Conditional Expressions.

    Operators.

    Arithmetic Operators.

    Comparison Operators.

    Sequence Operators.

    Built-in Functions.

    User-Defined Functions.

    Variable Definitions.

    Library Modules.

    External Functions and Variables.

    Types in XQuery.

    Introduction to XQuery Types.

    Schemas and Types.

    Sequence Types.

    Working with Types.

    Summary.

    II. BACKGROUND.

    2. Influences on the Design of XQuery.


     

    The Need for an XML Query Language.

    Basic Principles.

    The Query Data Model.

    Related Languages and Standards.

    XML and Namespaces.

    XML Schema.

    XPath.

    Other Query Languages.

    Watershed Issues.

    Issue 1: Handling of Untyped Data.

    Issue 2: Unknown and Inapplicable Data.

    Issue 3: What Is a Type?

    Issue 4: Element Constructors.

    Issue 5: Static Typing.

    Issue 6: Function Resolution.

    Issue 7: Error Handling.

    Issue 8: Ordering Operators.

    Conclusion.

    3. XQuery, XPath, and XSLT.


     

    XSLT: A Quick Introduction.

    XPath 1.0.

    Why Was a New Query Language Needed?

    Differing Requirements.

    Differing Cultures.

    Convergence: XPath 2.0.

    XSLT and XQuery Compared.

    XML-Based Syntax.

    Semantics of Element Construction.

    Functions and Named Templates.

    FLWOR Expressions.

    Template Rules.

    Axes.

    Type Strictness.

    Optimization Techniques.

    Where Does the Time Go?

    Internal Coding Efficiency.

    Pipelining and Lazy Evaluation.

    Expression Rewriting.

    Using Type Information.

    Conclusion.

    III. FORMAL UNDERPINNINGS.

    4. Static Typing in XQuery.


     

    The Benefits of Static Typing.

    An XQuery Programming Scenario.

    Debugging.

    Validation.

    Static Typing.

    Getting Started with Types.

    XML Schema and XQuery Types.

    Values.

    Sequence Types.

    Schema Import.

    Relating Values and Types.

    Literals and Operators.

    Variables.

    Functions.

    Conditionals.

    Path Expressions.

    Predicates.

    FLWOR Expressions.

    Element Construction.

    Validation Context.

    Validation Mode.

    A Final Example: Grouping.

    Conclusions.

    5. Introduction to the Formal Semantics.


     

    The Benefits of a Formal Semantics.

    Getting Started with the Formal Semantics.

    Dynamic Semantics.

    Environments.

    Matching Values and Types.

    Errors.

    Static Semantics.

    Type Soundness.

    Evaluation Order.

    Normalization.

    Finishing Getting Started.

    Learning More about XQuery.

    Values and Types.

    Matching and Subtyping.

    FLWOR Expressions.

    Path Expressions.

    Implicit Coercions and Function Calls.

    Node Identity and Element Constructors.

    The Forest through the Trees.

    IV. DATABASES.

    6. Mapping between XML and Relational Data.


     

    Framing the Problem.

    Processing Models.

    Application Types.

    Sources of XML Data.

    LOB or Compose?

    Composition Techniques: Common Concepts.

    Generation of XML Structure through Hierarchical Joins.

    Generation of XML Structure through Hierarchical Grouping.

    Composition Techniques: Examples.

    Default Mapping.

    Extended SQL.

    Annotated XML Template.

    Additional Mapping Languages.

    Shredding.

    Creation of the Database.

    Adding Extra Information to the Composition.

    Inlining and Consolidation.

    Support of Full XML.

    Schema-Independent Representation.

    Implementation Concepts.

    Emitting XML Documents.

    Querying and Updating XML Documents.

    Conclusion.

    7. Integrating XQuery and Relational Database Systems.


     

    Getting Started.

    Relational Storage of XML: The XML Type.

    Logical Models for the XML Datatype.

    Physical Models for the XML Datatype.

    Encodings and Collations.

    Typing an XML Datatype.

    Other Aspects of the XML Datatype.

    Integrating XQuery and SQL: Querying XML Datatypes.

    XQuery Functionality in SQL.

    Augmenting the XQuery Static Context.

    Providing Access to SQL Data inside XQuery.

    Adding XQuery Function Libraries.

    A Note on the XQuery Data Modification Language.

    Physical Mappings of XQuery.

    Issues of Combining SQL, XML Datatype, and XQuery.

    Top-Level XQuery.

    XML Document (Fragment) Collections.

    XML Views over Relational Data.

    Conclusion and Issues.

    8. A Native XML DBMS.


     

    What Is XML Data?

    XML as Text.

    XML Data Model.

    Interfaces to a Native XML Database.

    Interoperability.

    Data-Definition Interfaces.

    Update Interfaces.

    Database Configuration Interfaces.

    A Database Command Language.

    Collections and Storage.

    XQuery Client APIs.

    Full-Text Search in a Native XML Database.

    Sample Applications.

    Invoice Archive.

    A Content Management Application.

    Conclusion.

    References.


     

    Glossary.


     

    Index. Preface.


    Contributors.


    Acknowledgments.

    I. BASICS.

    1. XQuery: A Guided Tour.

    Sample Data: A Bibliography.

    Data Model.

    Literals and Comments.

    Input Functions.

    Locating Nodes: Path Expressions.

    Creating Nodes: Element, Attribute, and Document Constructors.

    Combining and Restructuring Nodes.

    FLWOR Expressions.

    Quantifiers.

    Conditional Expressions.

    Operators.

    Arithmetic Operators.

    Comparison Operators.

    Sequence Operators.

    Built-in Functions.

    User-Defined Functions.

    Variable Definitions.

    Library Modules.

    External Functions and Variables.

    Types in XQuery.

    Introduction to XQuery Types.

    Schemas and Types.

    Sequence Types.

    Working with Types.

    Summary.

    II. BACKGROUND.

    2. Influences on the Design of XQuery.

    The Need for an XML Query Language.

    Basic Principles.

    The Query Data Model.

    Related Languages and Standards.

    XML and Namespaces.

    XML Schema.

    XPath.

    Other Query Languages.

    Watershed Issues.

    Issue 1: Handling of Untyped Data.

    Issue 2: Unknown and Inapplicable Data.

    Issue 3: What Is a Type?

    Issue 4: Element Constructors.

    Issue 5: Static Typing.

    Issue 6: Function Resolution.

    Issue 7: Error Handling.

    Issue 8: Ordering Operators.

    Conclusion.

    3. XQuery, XPath, and XSLT.

    XSLT: A Quick Introduction.

    XPath 1.0.

    Why Was a New Query Language Needed?

    Differing Requirements.

    Differing Cultures.

    Convergence: XPath 2.0.

    XSLT and XQuery Compared.

    XML-Based Syntax.

    Semantics of Element Construction.

    Functions and Named Templates.

    FLWOR Expressions.

    Template Rules.

    Axes.

    Type Strictness.

    Optimization Techniques.

    Where Does the Time Go?

    Internal Coding Efficiency.

    Pipelining and Lazy Evaluation.

    Expression Rewriting.

    Using Type Information.

    Conclusion.

    III. FORMAL UNDERPINNINGS.

    4. Static Typing in XQuery.

    The Benefits of Static Typing.

    An XQuery Programming Scenario.

    Debugging.

    Validation.

    Static Typing.

    Getting Started with Types.

    XML Schema and XQuery Types.

    Values.

    Sequence Types.

    Schema Import.

    Relating Values and Types.

    Literals and Operators.

    Variables.

    Functions.

    Conditionals.

    Path Expressions.

    Predicates.

    FLWOR Expressions.

    Element Construction.

    Validation Context.

    Validation Mode.

    A Final Example: Grouping.

    Conclusions.

    5. Introduction to the Formal Semantics.

    The Benefits of a Formal Semantics.

    Getting Started with the Formal Semantics.

    Dynamic Semantics.

    Environments.

    Matching Values and Types.

    Errors.

    Static Semantics.

    Type Soundness.

    Evaluation Order.

    Normalization.

    Finishing Getting Started.

    Learning More about XQuery.

    Values and Types.

    Matching and Subtyping.

    FLWOR Expressions.

    Path Expressions.

    Implicit Coercions and Function Calls.

    Node Identity and Element Constructors.

    The Forest through the Trees.

    IV. DATABASES.

    6. Mapping between XML and Relational Data.

    Framing the Problem.

    Processing Models.

    Application Types.

    Sources of XML Data.

    LOB or Compose?

    Composition Techniques: Common Concepts.

    Generation of XML Structure through Hierarchical Joins.

    Generation of XML Structure through Hierarchical Grouping.

    Composition Techniques: Examples.

    Default Mapping.

    Extended SQL.

    Annotated XML Template.

    Additional Mapping Languages.

    Shredding.

    Creation of the Database.

    Adding Extra Information to the Composition.

    Inlining and Consolidation.

    Support of Full XML.

    Schema-Independent Representation.

    Implementation Concepts.

    Emitting XML Documents.

    Querying and Updating XML Documents.

    Conclusion.

    7. Integrating XQuery and Relational Database Systems.

    Getting Started.

    Relational Storage of XML: The XML Type.

    Logical Models for the XML Datatype.

    Physical Models for the XML Datatype.

    Encodings and Collations.

    Typing an XML Datatype.

    Other Aspects of the XML Datatype.

    Integrating XQuery and SQL: Querying XML Datatypes.

    XQuery Functionality in SQL.

    Augmenting the XQuery Static Context.

    Providing Access to SQL Data inside XQuery.

    Adding XQuery Function Libraries.

    A Note on the XQuery Data Modification Language.

    Physical Mappings of XQuery.

    Issues of Combining SQL, XML Datatype, and XQuery.

    Top-Level XQuery.

    XML Document (Fragment) Collections.

    XML Views over Relational Data.

    Conclusion and Issues.

    8. A Native XML DBMS.

    What Is XML Data?

    XML as Text.

    XML Data Model.

    Interfaces to a Native XML Database.

    Interoperability.

    Data-Definition Interfaces.

    Update Interfaces.

    Database Configuration Interfaces.

    A Database Command Language.

    Collections and Storage.

    XQuery Client APIs.

    Full-Text Search in a Native XML Database.

    Sample Applications.

    Invoice Archive.

    A Content Management Application.

    Conclusion.

    References.

    Glossary.

    Index.