You are previewing Querying XML.
O'Reilly logo
Querying XML

Book Description

XML has become the lingua franca for representing business data, for exchanging information between business partners and applications, and for adding structure–
and sometimes meaning—to text-based documents. XML offers some special challenges and opportunities in the area of search: querying XML can produce very precise, fine-grained results, if you know how to express and execute those queries.

For software developers and systems architects: this book teaches the most useful approaches to querying XML documents and repositories. This book will also help managers and project leaders grasp how “querying XML” fits into the larger context of querying and XML. Querying XML provides a comprehensive background from fundamental concepts (What is XML?) to data models (the Infoset, PSVI, XQuery Data Model), to APIs (querying XML from SQL or Java) and more.

* Presents the concepts clearly, and demonstrates them with illustrations and examples; offers a thorough mastery of the subject area in a single book.
* Provides comprehensive coverage of XML query languages, and the concepts needed to understand them completely (such as the XQuery Data Model).
* Shows how to query XML documents and data using: XPath (the XML Path Language); XQuery, soon to be the new W3C Recommendation for querying XML; XQuery's companion XQueryX; and SQL, featuring the SQL/XML
* Includes an extensive set of XQuery, XPath, SQL, Java, and other examples, with links to downloadable code and data samples.

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. The Morgan Kaufmann Series in Data Management Systems
  5. Copyright
  6. Dedication
  7. Foreword
  8. Preface
  9. Part I: XML: Documents and Data
    1. Chapter 1: XML
      1. 1.1 Introduction
      2. 1.2 Adding Markup to Data
      3. 1.3 XML-Based Markup Languages
      4. 1.4 XML Data
      5. 1.5 Some Other Ways to Represent Data
      6. 1.6 Chapter Summary
    2. Chapter 2: Querying
      1. 2.1 Introduction
      2. 2.2 Querying Traditional Data
      3. 2.3 Querying Nontraditional Data
      4. 2.4 Chapter Summary
    3. Chapter 3: Querying XML
      1. 3.1 Introduction
      2. 3.2 Navigating an XML Document
      3. 3.3 What Do You Know about Your Data?
      4. 3.4 Some Ways to Query XML Today
      5. 3.5 Chapter Summary
  10. Part II: Metadata and XML
    1. Chapter 4: Metadata – An Overview
      1. 4.1 Introduction
      2. 4.2 Structural Metadata
      3. 4.3 Semantic Metadata
      4. 4.4 Catalog Metadata
      5. 4.5 Integration Metadata
      6. 4.6 Chapter Summary
    2. Chapter 5: Structural Metadata
      1. 5.1 Introduction
      2. 5.2 DTDs
      3. 5.3 XML Schema
      4. 5.4 Other Schema Languages for XML
      5. 5.5 Deriving an Implied Schema from a DTD
      6. 5.6 Chapter Summary
    3. Chapter 6: The XML Information Set (Infoset) and Beyond
      1. 6.1 Introduction
      2. 6.2 What Is the Infoset?
      3. 6.3 The Infoset Information Items and Their Properties
      4. 6.4 The Infoset vs. the Document
      5. 6.5 The XPath 1.0 Data Model
      6. 6.6 The Post-Schema-Validation Infoset (PSVI)
      7. 6.7 The Document Object Model (DOM) – An API
      8. 6.8 Introducing the XQuery Data Model
      9. 6.9 A Note Regarding Data Model Terminology
      10. 6.10 Chapter Summary and Further Reading
  11. Part III: Managing and Storing XML for Querying
    1. Chapter 7: Managing XML: Transforming and Connecting
      1. 7.1 Introduction
      2. 7.2 Transforming, Formatting, and Displaying XML
      3. 7.3 The Relationships between XML Documents
      4. 7.4 Relationship Constraints: Enforcing Consistency
      5. 7.5 Chapter Summary
    2. Chapter 8: Storing: XML and Databases
      1. 8.1 Introduction
      2. 8.2 The Need for Persistence
      3. 8.3 SQL/XML’s XML Type
      4. 8.4 Accessing Persistent XML Data
      5. 8.5 XML on the Fly: Nonpersistent XML Data
      6. 8.6 Chapter Summary
  12. Part IV: Querying XML
    1. Chapter 9: XPath 1.0 and XPath 2.0
      1. 9.1 Introduction
      2. 9.2 XPath 1.0
      3. 9.3 XPath 2.0 Components
      4. 9.4 XPath 2.0 and XQuery 1.0
      5. 9.5 Chapter Summary
    2. Chapter 10: Introduction to XQuery 1.0
      1. 10.1 Introduction
      2. 10.2 A Brief History
      3. 10.3 Requirements
      4. 10.4 Use Cases
      5. 10.5 The XQuery 1.0 Suite of Specifications
      6. 10.6 The Data Model
      7. 10.7 The XQuery Type System
      8. 10.8 XQuery 1.0 Formal Semantics and Static Typing
      9. 10.9 Functions and Operators
      10. 10.10 XQuery 1.0 and XSLT 2.0 Serialization
      11. 10.11 Chapter Summary
    3. Chapter 11: XQuery 1.0 Definition
      1. 11.1 Introduction
      2. 11.2 Overview of XQuery
      3. 11.3 The XQuery Processing Model
      4. 11.4 The XQuery Grammar
      5. 11.5 XQuery Expressions
      6. 11.6 FLWOR Expressions
      7. 11.7 Error Handling
      8. 11.8 Modules and Query Prologs
      9. 11.9 A Longer Example with Data
      10. 11.10 XQuery for SQL Programmers
      11. 11.11 Chapter Summary
    4. Chapter 12: XQueryX
      1. 12.1 Introduction
      2. 12.2 How Far to Go?
      3. 12.3 The XQueryX Specification
      4. 12.4 XQueryX By Example
      5. 12.5 Querying XQueryX
      6. 12.6 Chapter Summary
    5. Chapter 13: What’s Missing?
      1. 13.1 Introduction
      2. 13.2 Full-Text
      3. 13.3 Update
      4. 13.4 Chapter Summary
    6. Chapter 14: XQuery APIs
      1. 14.1 Introduction
      2. 14.2 Alphabet-Soup Review
      3. 14.3 XQJ – XQuery for Java
      4. 14.4 SQL/XML
      5. 14.5 Looking Ahead
    7. Chapter 15: SQL/XML
      1. 15.1 Introduction
      2. 15.2 SQL/XML Publishing Functions
      3. 15.3 XML Data Type
      4. 15.4 XQuery Functions
      5. 15.5 Managing XML in the Database
      6. 15.6 Talking the Same Language – Mappings
      7. 15.7 Chapter Summary
  13. Part V: Querying and The World Wide Web
    1. Chapter 16: XML-Derived Markup Languages
      1. 16.1 Introduction
      2. 16.2 Markup Languages
      3. 16.3 Discovery on the World Wide Web
      4. 16.4 Customized Query Languages
      5. 16.5 Chapter Summary
    2. Chapter 17: Internationalization: Putting the “W” in “WWW”
      1. 17.1 Introduction
      2. 17.2 What Is Internationalization?
      3. 17.3 Internationalization and the World Wide Web
      4. 17.4 Internationalization Implications: XPath, XQuery, and SQL/XML
      5. 17.5 Chapter Summary
    3. Chapter 18: Finding Stuff
      1. 18.1 Introduction
      2. 18.2 Finding Structured Data – Databases
      3. 18.3 Finding Stuff on the Web – Web Search
      4. 18.4 Finding Stuff at Work – Enterprise Search
      5. 18.5 Finding Other People’s Stuff – Federated Search
      6. 18.6 Finding Services – WSDL, UDDI, WSIL, RDDL
      7. 18.7 Finding Stuff in a More Natural Way
      8. 18.8 Putting It All Together – The Semantic Web+
  14. Appendix A: The Example
  15. Appendix B: Standards Processes
  16. Appendix C: Grammars
  17. Index
  18. About the Authors