XQuery: The XML Query Language

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Paperback)
  • All (15) from $1.99   
  • New (8) from $26.11   
  • Used (7) from $1.99   

Overview

“An excellent, early look at the emerging XML Query standard. The chapters on surprises and gotchas alone are worth the price of admission!”

         —Ashok Malhotra, Architect, Microsoft

“XQuery is the most important XML standard to emerge in recent years, and is a language with which anyone using XML on a regular basis should become acquainted. Michael Brundage's accessible introduction to XQuery provides enough information on all aspects of the standard, including its dark corners, to allow any XML developer to jump right in and start coding.”

         —Damien Fisher, Kernel Team Member, Soda Technologies Pty Ltd

“This book does an excellent job of distilling the essentials of XQuery in an understandable, straightforward and easily digestable manner. This book has already become an indispensible part of my library and is a welcome addition to my XML repertoire.”

         —Dare Obasanjo, Program Manager, Microsoft Corporation

“Simply put, the emerging XQuery standard adds enormous value to XML data and this book is your key to unlocking that value. Here in one stop you will find an accessible introduction to XQuery and a complete reference. Practitioners will particularly value the sections on XQuery idioms and surprises where Michael shares his tricks of the trade.”

         —Dave Van Buren, Project Manager, Jet Propulsion Laboratory

“It’s both a stupendous reference on XQuery and a good read. Michael writes with verve, authority, and an eminently readable style. What a rare delight to discover all this, and in a technical book too! When the sequel comes along, sign me up.”

         —Howard Katz, Owner, Fatdog Software Inc., Editor, XQuery from the Experts (Addison-Wesley, 2003)

From corporate IT departments to academic institutions, XML has become the language of choice for storing and transmitting data across diverse application domains. XQuery, an XML Query Language invented by the World Wide Web Consortium, offers a powerful, standardized way to query all of that XML-encapsulated information. With its ability to integrate XML and non-XML data, XQuery seems poised to do for XML what SQL has done for relational data.

Written by the Technical Lead for XML query processing at Microsoft, XQuery: The XML Query Language is an invaluable resource for XQuery novices and experts alike. For those new to XQuery, this example-rich text serves as a tutorial that brings readers quickly up to speed on XQuery's data model, type system, and core language features. More experienced XML and database developers will find an excellent reference on the nuances of various expressions, as well as a guide to using XQuery to accomplish specific tasks.

Drawing on his experiences using XQuery, Michael Brundage offers an objective, inside look at this emerging technology. His unique perspective translates into an accessible and authoritative guide for readers using XML for documents, Web services, or databases.

Key coverage includes:

  • Data model and type system
  • Path navigation
  • Iteration, construction, arithmetic, text processing, type operators and user-defined functions
  • Information beyond the standard—such as a look at update languages, performance benchmarks, query optimization, XQuery style, and much, much more
  • Hundreds of examples
  • The future of XQuery

The appendixes provide in-depth information on XQuery's type system, core expressions, built-in functions, regular expressions, and grammar. Meanwhile, the companion Web site offers downloadable source code for all of the examples in the book, the latest on the XQuery standard, answers to readers' questions, XQuery tips and strategies, and more.

XQuery will show developers, programmers, and database administrators how a single line of this deep and powerful new language can accomplish the equivalent of hundreds of lines written in C, C#, Java, and other general-purpose programming languages.

Read More Show Less

Product Details

  • ISBN-13: 9780321165817
  • Publisher: Addison-Wesley
  • Publication date: 2/2/2004
  • Pages: 560
  • Product dimensions: 6.85 (w) x 9.05 (h) x 1.18 (d)

Meet the Author

Michael Brundage, the Technical Lead for XML query processing at Microsoft, designed the architecture for Microsoft's .NET Common Query Runtime and implemented the XML query optimizer for XPath, XSLT, and XQuery. He also implemented XPath over XML Views in SQL Server 2000, and has several patents and publications on XML query processing. Previously, he was a Senior Software Engineer at Caltech and NASA's Interferometry Science Center, where he worked on projects such as AstroVR and the search for extrasolar planets.

0321165810AB11112003

Read More Show Less

Table of Contents

List of Figures.

Foreword.

Preface.

Who Should Read This Book?

Organization.

Resources.

Acknowledgments.

I. FOUNDATIONS.

1. A Tour of XQuery.

Introduction.

Getting Started.

Notational Conventions.

Why XQuery?

Documents and Databases.

Typed and Untyped Data.

A Sample Query.

Processing Model.

Comments and Whitespace.

Prolog.

Constants.

XML.

Built-in Functions.

Operators.

Paths.

Variables.

FLWOR.

Error Handling.

Conclusion.

Further Reading.

2. Data Model and Type System.

Introduction.

An Overview of XML Data Models.

Structure of the XQuery Data Model.

Atomic Types.

Node Kinds.

Common Type Conversions.

Conclusion.

Further Reading.

3. Navigation.

Introduction.

Paths.

Navigation Functions.

Navigation Context.

Navigation Examples.

Navigation Complexities.

Conclusion.

Further Reading.

4. Functions and Modules.

Introduction.

Built-in Function Library.

Function Invocation.

Function Conversion Rules.

User-Defined Functions.

Recursion.

External Functions.

Modules.

Conclusion.

II. CORE LANGUAGE FEATURES.

5. Basic Expressions.

Introduction.

Comparisons.

Sequences.

Arithmetic.

Logic.

Query Prolog.

Conclusion.

Further Reading.

6. Iteration.

Introduction.

FLWOR.

Quantification.

Joins.

Comparing Sequences.

Sorting.

Grouping.

Conclusion.

Further Reading.

7. Constructing XML.

Introduction.

Element Nodes.

Attribute Nodes.

Text Nodes.

Document Nodes.

Comment Nodes.

Processing Instruction Nodes.

Namespace Nodes.

Composition.

Validation.

Element and Attribute Content.

Conclusion.

Further Reading.

8. Text Processing.

Introduction.

The XML Character Model.

Character Encodings.

Collations.

Text Operators.

Text Functions.

Conclusion.

Further Reading.

9. Type Operators.

Introduction.

Cast and Castable.

Type Conversion Rules.

treat as.

instance of and typeswitch.

User-Defined Types.

Conclusion.

Further Reading.

III. APPLICATION.

10. Practical Examples.

Introduction.

Style.

Idioms.

Conclusion.

Further Reading.

11. Surprises.

Introduction.

Confusion over Meaning.

Confusion over Syntax.

Conclusion.

12. XQuery Serialization.

Introduction.

XQuery Serialization.

XQueryX.

Conclusion.

13. Query Optimization.

Introduction.

Common Query Optimizations.

Barriers to Optimization.

Formal Semantics.

Conclusion.

Further Reading.

14. Beyond the Standard.

Introduction.

Potential Changes.

Standards Roadmap.

XQuery 1.1.

Data Manipulation.

Full-Text Search.

Performance Benchmarks.

Conclusion.

Further Reading.

IV. REFERENCE.

Appendix A. Data Model and Type System Reference.

Introduction.

Overview.

Node Kinds.

Atomic Types.

Primitive Type Conversions.

Built-in Atomic Types.

Appendix B. Expression Reference.

Introduction.

Appendix C. Function Reference.

Introduction.

Appendix D. Regular Expressions.

Introduction.

Overview.

Advanced Regexps.

Regexp Language.

Character Properties.

Appendix E. Grammar.

Introduction.

The XQuery Grammar.

Reserved Keywords.

Operator Precedence.

Bibliography.

Standards.

Working Drafts and Notes.

Further Reading.

Index.

Read More Show Less

Preface

XQuery is a deep and powerful new language, yet it's easy to pick up and start using productively right away. Accordingly, this book is designed as both an introduction for new XQuery users and a reference for experienced ones.

XQuery is the most complex XML standard to date, comprising well over a thousand pages of very dense and abstract implementation details. If you are creating an XQuery implementation yourself, you need to read them. Everyone else should read this book instead; it will save you a lot of time and confusion. This is the book I wanted when I first got started with XQuery, and am thrilled to have now.

I had the good fortune to become involved with the XQuery standard more than two years ago, before it even had the name. I implemented the first Microsoft XQuery prototype available at MSDN (but not later ones), prototypes of XQuery over SQL Server, and my own XQuery implementation for this book. I've also given several dozen presentations on XQuery, and wrote a chapter about it for a previous book. Currently, I'm responsible for the cross-language XML query representation and optimizer at Microsoft.

However, I've been primarily a user of XQuery rather than an implementer of it. All of this adds up to a unique perspective, which I've brought to bear in this book. I hope my experience with XQuery will benefit you greatly, whether you're using XQuery for the first time or the thousandth.

Who Should Read This Book?

This is a practical book, intended for every developer using XQuery regardless of your programming environment, whether you're a beginner or expert, or whether you're using XML for documents, Web services, databases, or other purposes.

You must be familiar already with the basics of XML 1.0. You need to understand concepts such as namespaces and qualified names, the different XML node kinds (element, attribute, and so on), and the difference between tags and elements. This book doesn't review XML or APIs for using it (like SAX and DOM).

However, you don't need to know XML Schema, XPath, XSLT, SQL, or any of the other technologies that are mentioned throughout this book. You can safely skip sections that compare XQuery to technologies you don't already know.

Organization

This book is organized into four major sections.

Part I introduces XQuery. Chapter 1 briefly touches on the reasons to use XQuery and then gives an overview of the entire language, pointing to later chapters for additional details. Chapters 2 to 4 cover the background material required throughout the rest of the book, starting with the XQuery Data Model and type system. You may want to skim over parts of these chapters and refer back to them later.

Part II drills into the details of XQuery expressions, from arithmetic to XML construction and everything in between.

Part III goes beyond the standards, exploring XQuery expressions whose behavior may surprise you and how to use XQuery to accomplish certain common tasks. Chapter 14 looks at features that might appear in future versions of XQuery.

Finally, Part IV is a comprehensive reference to the entire XQuery language, including appendices on the type system (Appendix A), core expressions (Appendix B), built-in functions (Appendix C), regular expressions (Appendix D), and grammar (Appendix E). These appendices are heavily cross-referenced among one another and the other chapters in the book for your convenience.

Resources

This book isn't tied to any particular implementation of XQuery, and I endeavored to test the examples on several different ones.

XML/Query, the public Web site of the W3C XML Query Working Group, you'll find a list of many freely and commercially available XQuery implementations.

At this book's Web site, http://www.qbrundage.com/xquery, you will find updates and errata to the book as they become available. Additional resources can be found in the Bibliography at the end of this book.

I also encourage you to e-mail your questions and comments to me directly at xquery@comcast.net.

Although I am employed by Microsoft, this book is completely unrelated to Microsoft and its products. Except where noted previously, I played no role in any of Microsoft's XQuery implementations. Or, as the lawyers put it, this book is an independent publication and is not affiliated with, nor has it been authorized, sponsored, or otherwise approved by Microsoft Corporation.

0321165810P04192004

Read More Show Less

Introduction

XQuery is a deep and powerful new language, yet it's easy to pick up and start using productively right away. Accordingly, this book is designed as both an introduction for new XQuery users and a reference for experienced ones.

XQuery is the most complex XML standard to date, comprising well over a thousand pages of very dense and abstract implementation details. If you are creating an XQuery implementation yourself, you need to read them. Everyone else should read this book instead; it will save you a lot of time and confusion. This is the book I wanted when I first got started with XQuery, and am thrilled to have now.

I had the good fortune to become involved with the XQuery standard more than two years ago, before it even had the name. I implemented the first Microsoft XQuery prototype available at MSDN (but not later ones), prototypes of XQuery over SQL Server, and my own XQuery implementation for this book. I've also given several dozen presentations on XQuery, and wrote a chapter about it for a previous book. Currently, I'm responsible for the cross-language XML query representation and optimizer at Microsoft.

However, I've been primarily a user of XQuery rather than an implementer of it. All of this adds up to a unique perspective, which I've brought to bear in this book. I hope my experience with XQuery will benefit you greatly, whether you're using XQuery for the first time or the thousandth.

Who Should Read This Book?

This is a practical book, intended for every developer using XQuery regardless of your programming environment, whether you're a beginner or expert, or whether you're using XML for documents, Web services, databases, or otherpurposes.

You must be familiar already with the basics of XML 1.0. You need to understand concepts such as namespaces and qualified names, the different XML node kinds (element, attribute, and so on), and the difference between tags and elements. This book doesn't review XML or APIs for using it (like SAX and DOM).

However, you don't need to know XML Schema, XPath, XSLT, SQL, or any of the other technologies that are mentioned throughout this book. You can safely skip sections that compare XQuery to technologies you don't already know.

Organization

This book is organized into four major sections.

Part I introduces XQuery. Chapter 1 briefly touches on the reasons to use XQuery and then gives an overview of the entire language, pointing to later chapters for additional details. Chapters 2 to 4 cover the background material required throughout the rest of the book, starting with the XQuery Data Model and type system. You may want to skim over parts of these chapters and refer back to them later.

Part II drills into the details of XQuery expressions, from arithmetic to XML construction and everything in between.

Part III goes beyond the standards, exploring XQuery expressions whose behavior may surprise you and how to use XQuery to accomplish certain common tasks. Chapter 14 looks at features that might appear in future versions of XQuery.

Finally, Part IV is a comprehensive reference to the entire XQuery language, including appendices on the type system (Appendix A), core expressions (Appendix B), built-in functions (Appendix C), regular expressions (Appendix D), and grammar (Appendix E). These appendices are heavily cross-referenced among one another and the other chapters in the book for your convenience.

Resources

This book isn't tied to any particular implementation of XQuery, and I endeavored to test the examples on several different ones.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)