XSLT 2.0 and XPath 2.0 Programmer's Reference - Michael Kay

XSLT 2.0 and XPath 2.0 Programmer's Reference

(Autor)

Buch | Hardcover
1376 Seiten
2008 | 4th edition
Wrox Press (Verlag)
978-0-470-19274-0 (ISBN)
68,59 inkl. MwSt
This book is primarily a practical reference book for professional XSLT developers. It assumes no previous knowledge of the language, and many developers have used it as their first introduction to XSLT; however, it is not structured as a tutorial, and there are other books on XSLT that provide a gentler approach for beginners.
Combining coverage of XSLT 2.0 and XPath 2.0 into one book, this authoritative reference provides equal weight to the powerful new features of XSLT 2.0 and XPath 2.0 and the established capabilities of the 1.0 versions. Author Michael Kay has created his own implementation of XSLT 2.0 (Saxon), and he puts his unique knowledge to work in this detailed reference to the elements of the XSLT 2.0 language and the fundamentals of XPath, complete with syntax, practical usage advice, and examples.

The book begins by teaching the essential concepts behind the language, knowledge you need if you are going to write good code rather than just working code. You will discover how XSLT and XPath differ from other languages, and how you use them to create effective web-based applications. The central chapters provide meticulous coverage of the language features of XSLT 2.0 and XPath 2.0. You will return to this reference whenever you encounter new programming challenges. You finish with detailed case studies highlighting real applications to give you insights you would otherwise gain only from months of practical experience.

What you will learn from this book



All the XSLT elements you can use in a stylesheet and the detailed rules for the syntax and semantics of each
How Path expressions enable you to navigate around the structure of an XML document
How you can improve your stylesheets by taking advantage of the XML Schema definitions of input and output documents
How to take advantage of vendor extensions without losing portability
Techniques for taking advantage of XSLT to write real applications

Who this book is for
This book is for experienced programmers who are looking to become proficient with XSLT 2.0. Previous experience with XSLT or XPath is not necessary. However, a working knowledge of XML, HTML, and web architecture is beneficial.

Wrox Programmer's References are designed to give the experienced developer straight facts on a new technology, without hype or unnecessary explanations. They deliver hard information with plenty of practical examples to help you apply new tools to your development projects today.

Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

Michael Kay has been working in the XML field since 1997; he became a member of the XSL Working Group soon after the publication of XSLT 1.0, and took over as editor of the XSLT 2.0 specification in early 2001. He is also a member of the XQuery and XML Schema Working Groups, and is a joint editor of the XPath 2.0 specification. He is well known not only through previous editions of this book but also as the developer of the open source Saxon product, a pioneering implementation of XSLT 2.0, XPath 2.0, and XQuery 1.0. In 2004 the author formed his own company, Saxonica, to provide commercial software and services building on the success of the Saxon technology. Previously, he spent three years with Software AG, working with the developers of the Tamino XML server, an early XQuery implementation. His background is in database technology: after leaving the University of Cambridge with a Ph.D., he worked for many years with the (then) computer manufacturer ICL, developing network, relational, and objectoriented database software products as well as a text search engine, and held the position of ICL Fellow.

Introduction xxix

List of Examples xxxix

Part I: Foundations

Chapter 1: XSLT in Context 3

What Is XSLT? 3

How Does XSLT Transform XML? 7

The Place of XSLT in the XML Family 21

The History of XSL 26

XSLT 2.0 as a Language 33

Summary 40

Chapter 2: The XSLT Processing Model 41

XSLT: A System Overview 41

The XDM Tree Model 45

The Transformation Process 67

Error Handling 80

Variables and Expressions 80

Summary 88

Chapter 3: Stylesheet Structure 89

Changes in XSLT 2.0 90

The Modular Structure of a Stylesheet 90

The Element 98

The Processing Instruction 99

Embedded Stylesheets 102

Declarations 104

Instructions 108

Simplified Stylesheets 125

Writing Portable Stylesheets 127

Whitespace 141

Summary 148

Chapter 4: Stylesheets and Schemas 151

XML Schema: An Overview 151

Declaring Types in XSLT 161

Validating the Source Document 165

Validating the Result Document 170

Validating a Temporary Document 174

Validating Individual Elements 176

Validating Individual Attributes 179

The default-validation Attribute 180

Importing Schemas 180

Using xsi:type 181

Nillability 182

Summary 183

Chapter 5: Types 185

What Is a Type System? 185

Changes in 2.0 186

Sequences 187

Atomic Values 189

Atomic Types 191

Schema Types and XPath Types 217

The Type Matching Rules 219

Static and Dynamic Type Checking 221

Summary 224

Part II: XSLT and XPath Reference

Chapter 6: XSLT Elements 227

xsl:analyze-string 230

xsl:apply-imports 237

xsl:apply-templates 240

xsl:attribute 254

xsl:attribute-set 266

xsl:call-template 271

xsl:character-map 280

xsl:choose 282

xsl:comment 285

xsl:copy 287

xsl:copy-of 292

xsl:decimal-format 298

xsl:document 303

xsl:element 306

xsl:fallback 316

xsl:for-each 322

xsl:for-each-group 326

xsl:function 344

xsl:if 353

xsl:import 357

xsl:import-schema 368

xsl:include 372

xsl:key 376

xsl:matching-substring 386

xsl:message 386

xsl:namespace 390

xsl:namespace-alias 394

xsl:next-match 399

xsl:non-matching-substring 402

xsl:number 403

xsl:otherwise 420

xsl:output 420

xsl:output-character 424

xsl:param 425

xsl:perform-sort 437

xsl:preserve-space 439

xsl:processing-instruction 442

xsl:result-document 445

xsl:sequence 452

xsl:sort 455

xsl:strip-space 465

xsl:stylesheet 465

xsl:template 483

xsl:text 492

xsl:transform 495

xsl:value-of 495

xsl:variable 500

xsl:when 515

xsl:with-param 517

Summary 519

Chapter 7: XPath Fundamentals 521

Notation 522

Where to Start 523

Expressions 524

Lexical Constructs 527

Primary Expressions 539

Variable References 540

Parenthesized Expressions 542

Context Item Expressions 543

Function Calls 544

Conditional Expressions 551

The XPath Evaluation Context 553

Summary 568

Chapter 8: XPath: Operators on Items 571

Arithmetic Operators 571

Value Comparisons 581

General Comparisons 588

Node Comparisons 593

Boolean Expressions 594

Summary 596

Chapter 9: XPath: Path Expressions 599

Examples of Path Expressions 600

Changes in XPath 2.0 601

Document Order and Duplicates 602

The Binary «⁄» Operator 602

Axis Steps 606

Rooted Path Expressions 625

The «⁄⁄» Abbreviation 626

Combining Sets of Nodes 628

Summary 632

Chapter 10: XPath: Sequence Expressions 633

The Comma Operator 634

Numeric Ranges: The «to» Operator 636

Filter Expressions 638

The «for» Expression 640

Simple Mapping Expressions 644

The «some» and «every» Expressions 646

Summary 651

Chapter 11: XPath: Type Expressions 653

Converting Atomic Values 654

Sequence Type Descriptors 668

The «instance of» Operator 677

The «treatas» Operator 678

Summary 680

Chapter 12: XSLT Patterns 681

Patterns and Expressions 681

Changes in XSLT 2.0 682

The Formal Definition 683

An Informal Definition 685

Conflict Resolution 686

Matching Parentless Nodes 688

The Syntax of Patterns 689

Summary 708

Chapter 13: The Function Library 709

A Word about Naming 710

Functions by Category 710

Notation 712

Code Samples 714

Function Definitions 714

Summary 913

Chapter 14: Regular Expressions 915

Branches and Pieces 916

Quantifiers 916

Atoms 917

Subexpressions 918

Back-References 918

Character Groups 919

Character Ranges 919

Character Class Escapes 920

Character Blocks 922

Character Categories 924

Flags 925

Disallowed Constructs 927

Summary 927

Chapter 15: Serialization 929

The XML Output Method 929

The HTML Output Method 936

The XHTML Output Method 939

The Text Output Method 940

Using the declaration 940

Character Maps 941

Disable Output Escaping 945

Summary 949

Part III: Exploitation

Chapter 16: Extensibility 953

What Vendor Extensions Are Allowed? 954

Extension Functions 955

Keeping Extensions Portable 970

Summary 971

Chapter 17: Stylesheet Design Patterns 973

Fill-in-the-Blanks Stylesheets 973

Navigational Stylesheets 976

Rule-Based Stylesheets 980

Computational Stylesheets 985

Summary 1000

Chapter 18: Case Study: XMLSpec 1001

Formatting the XML Specification 1002

Preface 1004

Creating the HTML Outline 1008

Formatting the Document Header 1012

Creating the Table of Contents 1019

Creating Section Headers 1023

Formatting the Text 1024

Producing Lists 1028

Making Cross-References 1029

Setting Out the Production Rules 1033

Overlay Stylesheets 1041

Stylesheets for Other Specifications 1044

Summary 1047

Chapter 19: Case Study: A Family Tree 1049

Modeling a Family Tree 1050

Creating a Data File 1058

Displaying the Family Tree Data 1072

Summary 1098

Chapter 20: Case Study: Knight’s Tour 1099

The Problem 1099

The Algorithm 1100

Placing the Knight 1104

Displaying the Final Board 1105

Finding the Route 1106

Running the Stylesheet 1112

Observations 1112

Summary 1113

Part IV: Appendices

Appendix A: XPath 2.0 Syntax Summary 1117

Whitespace and Comments 1118

Tokens 1118

Syntax Productions 1119

Operator Precedence 1122

Appendix B: Error Codes 1123

Functions and Operators (FO) 1124

XPath Errors (XP) 1126

XSLT Errors (XT) 1127

Appendix C: Backward Compatibility 1139

Stage 1: Backward-compatibility Mode 1140

Stage 2: Setting version=‘‘2.0’’ 1142

Stage 3: Adding a Schema 1145

Summary 1145

Appendix D: Microsoft XSLT Processors 1147

MSXML 1147

System.Xml 1158

Summary 1161

Appendix E: JAXP: The Java API for Transformation 1163

The JAXP Parser API 1164

The JAXP Transformation API 1169

Examples of JAXP Transformations 1187

Summary 1193

Appendix F: Saxon 1195

Using Saxon from the Command Line 1196

Using Saxon from a Java Application 1199

Using Saxon from a .NET Application 1203

Saxon Tree Models 1205

Extensibility 1205

Collations 1207

Extensions 1208

The evaluate() Extension 1210

Summary 1214

Appendix G: Altova 1215

Running from within XMLSpy 1215

Conformance 1216

Extensions and Extensibility 1217

The Command Line Interface 1217

Using the API 1218

Summary 1220

Appendix H: Glossary 1221

Index 1233

Erscheint lt. Verlag 3.6.2008
Reihe/Serie Wrox Programmer to Programmer
Zusatzinfo Drawings: 0 B&W, 0 Color; Screen captures: 0 B&W, 0 Color; Tables: 0 B&W, 0 Color
Sprache englisch
Maße 196 x 239 mm
Gewicht 2427 g
Themenwelt Informatik Programmiersprachen / -werkzeuge XML
ISBN-10 0-470-19274-7 / 0470192747
ISBN-13 978-0-470-19274-0 / 9780470192740
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen | Technologien| Validierung | Auswertung

von Wilfried Grupe

Buch | Softcover (2018)
MITP (Verlag)
10,00