XQuery: The XML Query Language

Naslovnica
Addison-Wesley Professional, 2004 - Broj stranica: 505

"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.



 

Sadržaj

A Tour of XQuery
3
13 Notational Conventions
4
14 WhyXQuery?
5
142 XQuery Versus XPath XSLT and SQL
6
15 Documents and Databases
9
16 Typed and Untyped Data
10
162 The Types You Need
11
163 The Types You Dont Need
13
68 Conclusion
152
Constructing XML
153
721 Direct Element Constructor
154
73 Attribute Nodes
155
732 Computed Attribute Constructors
156
74 Text Nodes
157
75 Document Nodes
158
76 Comment Nodes
159

17 A Sample Query
14
18 Processing Model
15
110 Prolog
16
111 Constants
17
1112 String Constants
18
1114 Other Constants
19
113 Builtin Functions
22
114 Operators
23
1141 Logic Operators
24
1142 Arithmetic Operators
25
1144 Comparison Operators
27
115 Paths
28
116 Variables
30
117 FLWOR
31
118 Error Handling
33
119 Conclusion
34
Data Model and Type System
35
221 Two Examples
36
222 The Document Object Model DOM
37
223 The XPath 10 Data Model
38
225 The PostSchemaValidation Infoset PSVI
39
226 The XQuery Data Model
40
232 Atomic Values
41
24 Atomic Types
42
243 Numeric Types
43
244 String Types
46
246 Qualified Name Type
50
247 Other Types
51
251 Kind Identity and Order
52
252 Hierarchy
53
253 Node Name
54
254 Node Type and Values
55
255 Other Node Properties
56
261 Atomization
57
263 Sequence Type Matching
58
264 Subtype Substitution
59
27 Conclusion
60
28 Further Reading
61
Navigation
63
321 Beginnings
64
322 Axes
65
323 Node Tests
66
324 Other Axes
68
325 Predicates
69
33 Navigation Functions
71
34 Navigation Context
72
343 Variable Declarations
74
345 Function Declarations
75
36 Navigation Complexities
81
362 Node Identity
84
363 Other Context Information
85
38 Further Reading
86
Functions and Modules
87
43 Function Invocation
88
44 Function Conversion Rules
89
45 UserDefined Functions
90
46 Recursion
92
47 External Functions
93
49 Conclusion
94
Basic Expressions
97
52 Comparisons
98
522 General Comparisons
100
523 Node Comparisons
103
524 Sequence and Tree Comparisons
104
53 Sequences
105
532 Processing Sequences
108
54 Arithmetic
110
55 Logic
115
56 Query Prolog
117
564 Default Collation Declaration
119
566 Global Variable Declarations
121
568 Schema Imports and Validation Declaration
122
57 Conclusion
123
58 Further Reading
124
Iteration
125
621 Compared to SQL
126
622 Compared to XSLT
127
623 Introducing Variables
128
624 Tuples
129
63 Quantification
133
64 Joins
134
65 Comparing Sequences
142
652 Memberwise Comparison
143
653 Universal Comparison
145
66 Sorting
146
67 Grouping
149
77 Processing Instruction Nodes
160
79 Composition
161
710 Validation
163
7112 Whitespace
164
7113 Content Sequence
166
712 Conclusion
168
Text Processing
169
822 Code Points
170
823 Normalization
171
83 Character Encodings
172
84 Collations
174
85 Text Operators
175
88 Further Reading
177
Type Operators
179
92 Cast and Castable
180
93 Type Conversion Rules
181
931 Converting Up and Down the Type Hierarchy
182
94 treat as
186
95 instance of and typeswitch
187
96 UserDefined Types
188
961 Schema Imports
189
963 Validation
190
97 Conclusion
192
Practical Examples
195
1022 Spaces
196
1023 Braces
198
1024 Slice
199
103 Idioms
200
1032 Navigation Idioms
203
1033 Sequence Idioms
209
1034 Type Idioms
212
1035 Logic Idioms
215
1036 Arithmetic Idioms
217
104 Conclusion
224
105 Further Reading
225
Surprises
227
1122 Predicates Index Sequences Not Strings
228
1124 Arithmetic Isnt Associative
229
1125 Predicates + Abbreviated Axes Confusion
230
1127 No SubTree Pruning
231
1128 Type Conversions
232
1129 Whats in a Name?
233
11210 FLWOR Doesnt Move the Current Context
234
11211 Nested FLWOR Is Different
235
113 Confusion over Syntax
237
1131 Punctuation Is Tricky
238
1134 Wacky Paths
239
XQuery Serialization
241
1221 Sequences of Values
242
1223 Serialization Parameters
243
124 Conclusion
244
Query Optimization
245
1322 Early Evaluation
246
1332 Sequence Order
247
1333 Error Preservation
249
134 Formal Semantics
250
Beyond the Standard
251
1421 Namespaces
252
1424 Simplify Simplify
253
1425 Builtin Functions
254
1432 Tomorrow
255
145 Data Manipulation
256
1452 SiXDML
257
1453 XUpdate
258
147 Performance Benchmarks
259
149 Further Reading
260
Data Model and Type System Reference
263
A3 Node Kinds
266
A4 Atomic Types
268
A5 Primitive Type Conversions
271
A6 Builtin Atomic Types
274
Expression Reference
305
Function Reference
391
Regular Expressions
455
D3 Advanced Regexps
459
D4 Regexp Language
460
D5 Character Properties
461
Grammar
463
E3 Reserved Keywords
469
E4 Operator Precedence
470
Standards
473
Working Drafts and Notes
474
Further Reading 475
475
Index
479
Autorska prava

Ostala izdanja - Prikaži sve

Uobičajeni izrazi i fraze

O autoru (2004)

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

Bibliografski podaci