用Java处理XMLPDF电子书下载
- 电子书积分:27 积分如何计算积分?
- 作 者:(美)阿兰编著
- 出 版 社:北京:科学出版社
- 出版年份:2004
- ISBN:7030124650
- 页数:1072 页
Part Ⅰ XML 1
Chapter 1 XML for Data 3
Motivating XML 3
A Thought Experiment 4
Example 1.2 An XML Document That Indicates an Order for 12 Birdsong Clocks,SKU 244 5
List of ExamplesExample 1.1 A Plain Text Document That Indicates an Order for 12 Birdsong Clocks,SKU 244 5
Example 1.3 A Document That Indicates an Order for 12 Birdsong Clocks, SKU 244 6
Robustness 6
Example 1.4 Still an Order for 12 Birdsong Clocks, SKU 244 7
Extensibility 9
Example 1.5 An XML Document That Indicates an Order for Multiple Products Shipped to Multiple Addresses 10
Ease-of-Use 11
XML Syntax 13
XML Documents 13
ContentsList of Examples 13
XML Applications 15
Elements and Tags 16
Text 19
Attributes 21
XML Declaration 22
List of Figures 23
Comments 23
Processing Instructions 24
Preface 25
Entities 25
Who You Are 27
What You Need to Have 28
What You Need to Know 28
Namespaces 28
How to Use This Book 29
Some Grammatical Notes 30
Example 1.7 An XML Document That Uses Two Default Namespaces 30
Example 1.6 An XML Document That Uses a Default Namespace 30
The Online Edition 30
Contacting the Author 32
Validity 32
DTDs 32
Acknowledgments 33
Example 1.8 A DTD for Order Documents 35
Schemas 37
Example 1.9 order.xsd: A Schema for Order Documents 38
Example 1.10 order.sct: A Schematron Schema for Order Documents 41
Schematron 41
The Last Mile 43
Stylesheets 43
CSS 44
Example 1.11 A CSS Stylesheet for Order Documents 45
Associating Stylesheets with XML Documents 45
List of FiguresFigure 1.1 The Clock Order, Styled Using CSS 46
XSL 46
Example 1.12 An XSLT Stylesheet for Order Documents 48
Example 1.13 An XSL-FO Document for the Clock Order 51
Figure 1.2 The PDF Version of the Clock Order Produced by XSL 51
Summary 53
Chapter 2 XML Protocols: XML-RPC and SOAP 57
XML as a Message Format 58
Envelopes 58
Data Representation 59
Example 2.1 An XML Document That Labels Elements with Schema Simple Types 63
HTTP as a Transport Protocol 64
How HTTP Works 65
Figure 2.1 Slashdot Headlines in XML 66
HTTP in Java 68
Example 2.2 URLGrabber 69
Example 2.3 URLGrabberTest 72
RSS 73
Example 2.4 An RSS 0.91 Document 73
Example 2.5 An RSS 1.0 Document 75
Customizing the Request 77
Query Strings 77
Figure 2.2 NASDAQ Stock Data Retrieved via a Query String 79
How HTTP POST Works 81
XML-RPC 82
Example 2.6 An XML-RPC Request Document 83
Example 2.7 POSTing an XML-RPC Request Document 84
Example 2.8 An XML-RPC Response 84
Data Structures 85
Example 2.9 An XML-RPC Request That Passes an Array as an Argument 86
Example 2.10 An XML-RPC Response Document That Returns an Array 87
Example 2.11 An XML-RPC Request That Passes a Struct as an Argument 88
Example 2.12 An XML-RPC Fault 89
Faults 89
Validating XML-RPC 90
Example 2.13 A DTD for XML-RPC 90
Example 2.14 A Schema for XML-RPC 92
SOAP 96
A SOAP Example 97
Example 2.16 A SOAP Response 97
Example 2.15 A SOAP Document That Requests the Current Stock Price of Red Hat 97
Posting SOAP Documents 98
Example 2.17 A SOAP Request for the Current Stock Price of Red Hat 98
Example 2.18 A SOAP Document That Returns the Current Stock Price of Red Hat 99
Faults 100
Encoding Styles 102
Example 2.19 A SOAP Fault Response 102
Example 2.20 A SOAP Document That Specifies the Encoding Style 103
Example 2.21 A Schema That Assigns Type to Elements in the http://namespaces.cafeconleche.org/xmljava/ch2/Namespace 103
SOAP Headers 112
Example 2.22 A SOAP Request with a Digital Signature in the Header 113
Example 2.23 A SOAP Request with Two Header Entries 114
Example 2.24 A SOAP Request with a mustUnderstand Attribute 115
SOAP Limitations 116
Validating SOAP 117
Example 2.25 A Master Schema for SOAP Trading Documents 117
Custom Protocols 118
Summary 119
Chapter 3 Writing XML with Java 121
Fibonacci Numbers 122
Example 3.1 A Program That Calculates the Fibonacci Numbers 123
Writing XML 124
Example 3.2 The First Ten Fibonacci Numbers in an XML Document 124
Example 3.3 A Program That Outputs the Fibonacci Numbers as an XML Document 125
Better Coding Practices 125
Example 3.4 Using Named Constants for Element Names 126
Example 3.5 A Java Program That Writes an XML Document Which Uses Attributes 127
Attributes 127
Producing Valid XML 128
Example 3.6 A Java Program That Generates a Valid Document 128
Namespaces 130
Example 3.7 A MathML Document That Contains Fibonacci Numbers 130
Example 3.8 A Java Program That Generates a MathML Document 131
Output Streams, Writers, and Encodings 132
Example 3.9 A Java Program That Writes an XML File 133
A Simple XML-RPC Client 139
Example 3.10 Connecting an XML-RPC Server with URLConnection 140
A Simple SOAP Client 142
Example 3.11 Connecting to a SOAP Server with URLConnection 143
Servlets 145
Example 3.12 A Servlet That Generates XML 146
Summary 149
Chapter 4 Converting Flat Files to XML 151
The Budget 152
The Model 154
Figure 4.1 The List of Maps Data Structure for the Budget 155
Input 156
Example 4.1 A Class That Parses Comma-Separated Values into a List of HashMaps 157
Determining the Output Format 159
Example 4.2 Naively Reproducing the Original Budget Table Structure in XML 160
Validation 165
Example 4.3 A Schema for the XML Budget Data 166
Attributes 169
Example 4.4 Converting to XML with Attributes 170
Building Hierarchical Structures from Flat Data 174
Example 4.5 A Hierarchical Arrangement of the Budget Data 174
Figure 4.2 A UML Diagram for the Budget Class Hierarchy 178
Example 4.6 The Budget Class 179
Example 4.7 The Agency Class 181
Example 4.8 The Bureau Class 184
Example 4.9 The Account Class 186
Example 4.10 The Subfunction Class 188
Example 4.11 The Driver Class That Builds the Data Structure and Writes It Out Again 189
Alternatives to Java 191
Example 4.12 An XSLT Stylesheet That Converts Flat XML Data to Hierarchical XML Data 193
Imposing Hierarchy with XSLT 193
The XML Query Language 196
Example 4.13 An XQuery That Converts Flat Data to Hierarchical Data 200
Relational Databases 201
Example 4.14 A Program That Connects to a Relational Database UsingJDBC and Converts the Table to Hierarchical XML 203
Summary 208
Chapter 5 Reading XML 211
Example 5.1 A Response from the Fibonacci XML-RPC Server 211
InputStreams and Readers 211
Example 5.2 Reading an XML-RPC Response 214
XML Parsers 216
Choosing an XML API 218
Choosing an XML Parser 222
Available Parsers 226
SAX 229
Example 5.3 A SAX-Based Client for the Fibonacci XML-RPC Server 230
Example 5.4 The ContentHandler for the SAX Client for the Fibonacci XML-RPC Server 232
DOM 234
Example 5.5 A DOM-Based Client for the Fibonacci XML-RPC Server 235
JAXP 238
Example 5.6 A JAXP-Based Client for the Fibonacci XML-RPC Server 239
JDOM 242
Example 5.7 A JDOM-Based Client for the Fibonacci XML-RPC Server 243
dom4j 246
Example 5.8 A dom4j-Based Client for the Fibonacci XML-RPC Server 246
ElectricXML 248
Example 5.9 An ElectricXML-Based Client for the Fibonacci XML-RPC Server 249
XMLPULL 251
Example 5.10 An XMLPULL-Based Client for the Fibonacci XML-RPC Server 252
Summary 254
Part Ⅱ SAX 257
Chapter 6 SAX 259
What Is SAX? 259
Parsing 260
Example 6.1 A SAX Program That Parses a Document 262
Callback Interfaces 264
Example 6.2 The SAX ContentHandler Interface 264
Implementing ContentHandler 265
Example 6.3 A SAX ContentHandler That Writes All #PCDATA onto a java.io.Writer 266
Using the ContentHandler 267
Example 6.4 The Driver Method for the Text Extractor Program 268
Example 6.5 A Subclass of DefaultHandler That Writes All #PCDATA onto a java.io.Writer 270
The DefaultHandler Adapter Class 270
Receiving Documents 271
Example 6.6 A ContentHandler Interface That Resets Its Data Structures Between Documents 272
Receiving Elements 273
Example 6.7 A ContentHandler Class That Builds a GUI Representation of an XML Document 275
Figure 6.1 The Swing-Based TreeViewer 278
Handling Attributes 279
Example 6.8 The SAX Attributes Interface 279
Example 6.9 A ContentHandler Class That Spiders XLinks 281
Receiving Characters 284
Example 6.10 A SAX Client for the Fibonacci XML-RPC Server 285
Receiving Processing Instructions 288
Example 6.11 A ContentHandler That Prints Processing Instruction Targets and Data on System.out 290
Receiving Namespace Mappings 291
Example 6.12 The NamespaceSupport Class 292
Example 6.13 A Document That Uses Ignorable White Space to Prettify the XML 295
"Ignorable White Space" 295
Receiving Skipped Entities 296
Example 6.14 An XML Document Containing a Potentially Skipped Entity Reference 296
Receiving Locators 298
Example 6.15 The SAX Locator Interface 299
Example 6.16 Determining the Locations of Events 300
What the ContentHandler Doesn't Tell You 303
Summary 304
Building Parser Objects 305
Chapter 7 The XMLReader Interface 305
InputSource 309
Input 309
Example 7.1 The SAX InputSource Class 310
EntityResolver 312
Example 7.2 The EntityResolver Interface 313
Example 7.3 An XHTML EntityResolver 313
Exceptions and Errors 315
SAXExceptions 316
Example 7.4 The SAXException Class 316
Example 7.5 The SAXParseException Class 318
Example 7.6 A SAX Program That Parses a Document and Identifies the Line Numbers of Any Well-Formedness Errors 319
The ErrorHandler Interface 321
Example 7.7 The ErrorHandler Interface 321
Example 7.8 A SAX Program That Reports All Problems Found in an XML Document 322
Features and Properties 325
Getting and Setting Features 325
Getting and Setting Properties 326
Required Features 327
Standard Features 330
Example 7.9 A SAX Program That Validates Documents 331
Standard Properties 335
Example 7.10 A SAX Program That Echoes the Parsed Document 336
Example 7.11 The LexicalHandler Interface 339
Example 7.12 An Implementation of the LexicalHandler Interface 340
Example 7.13 The DeclHandler Interface 343
Example 7.14 A Program That Prints Out a Complete DTD 344
Xerces Custom Features 347
Example 7.15 Making Maximal Use of Xerces' Special Capabilities 350
Xerces Custom Properties 353
Example 7.16 The DTDHandler Interface 355
DTDHandler 355
Example 7.17 A Caching DTDHandler 356
Example 7.18 A Notation Utility Class 357
Example 7.19 An UnparsedEntity Utility Class 359
Example 7.20 A Program That Lists the Unparsed Entities and Notations Used in an XML Document 362
Summary 365
Chapter 8 SAX Filters 367
The Filter Architecture 367
Figure 8.2 XML Parsing with a Filter 368
Figure 8.1 The XML Parsing Process 368
Figure 8.3 XML Parsing with Multiple Filters 369
The XMLFilter Interface 370
Example 8.2 A Filter That Blocks All Events 370
Example 8.1 The XMLFilter Interface 370
Example 8.3 A Filter That Filters Nothing 373
Example 8.4 A Filter That Times All Parsing 378
Example 8.5 Parsing a Document through a Filter 382
Content Filters 384
Filtering Tags 384
Example 8.6 A ContentHandler Filter 385
Example 8.7 A Filter That Substitutes Its Own ContentHandler 388
Example 8.8 A Program That Filters Documents 390
Figure 8.4 How Data Flows through the RDDLStripper Program 393
Filtering Elements 393
Example 8.9 A ContentHandler Filter That Throws Away Non-XHTML Elements 394
Example 8.10 The Attributeslmpl Helper Class 397
Filtering Attributes 397
Filters That Add Content 399
Example 8.11 Changing One Element into Another 401
Filters versus Transforms 405
Figure 8.5 The End of the RDDL Specification as Normally Presented 406
The XMLFilterlmpl Class 407
Figure 8.6 The End of the RDDL Specification after Small Tables Have Replaced rddl:resource Elements 407
Example 8.12 A Subclass of XMLFilterImpl 409
Parsing Non-XML Documents 411
Example 8.13 Accessing Databases through SAX 412
Example 8.14 A Very Simple User Interface for Extracting XML Data from a Relational Database 418
Multihandler Adapters 420
Example 8.15 Attaching Multiple Handlers of the Same Type to a Single Parser 422
Summary 428
Part Ⅲ DOM 431
Chapter 9 The Document Object Model 433
The Evolution of DOM 434
DOM Modules 435
Example 9.1 Which Modules Does Oracle Support? 437
Application-Specific DOMs 439
Trees 440
Document Nodes 442
Example 9.2 An XML-RPC Request Document 442
Element Nodes 443
Attribute Nodes 444
Leaf Nodes 445
Nontree Nodes 447
What Is and Isn't in the Tree 449
DOM Parsers for Java 452
Parsing Documents with a DOM Parser 455
Example 9.3 A Program That Uses Xerces to Check Documents for Well-Formedness 456
Example 9.4 A Program That Uses the Oracle XML Parser to Check Documents for Well-Formedness 457
JAXP DocumentBuilder and DocumentBuilderFactory 458
Example 9.5 A Program That Uses JAXP to Check Documents for Well-Formedness 459
Example 9.6 A Program That UsesJAXP to Check Documents for Well-Formedness 463
DOM3 Load and Save 466
Example 9.7 A Program That Uses DOM3 to Check Documents for Well-Formedness 466
Example 9.8 The Node Interface 468
The Node Interface 468
Node Types 470
Example 9.9 Changing Short Type Constants to Strings 471
Node Properties 472
Example 9.10 A Class to Inspect the Properties of a Node 473
Navigating the Tree 475
Example 9.11 Walking the Tree with the Node Interface 475
Modifying the Tree 478
Example 9.12 A Method That Changes a Document by Reordering Nodes 479
Utility Methods 481
The NodeList Interface 482
Example 9.13 The NodeList Interface 482
JAXP Serialization 483
Example 9.14 Using JAXP to Read and Write an XML Document 484
Example 9.15 The DOMException Class 486
DOMException 486
Choosing between SAX and DOM 489
Summary 492
Chapter 10 Creating XML Documents with DOM 493
DOMImplementation 493
Example 10.1 The DOMImplementation Interface 494
Locating a DOMImplementation 495
Implementation-Specific Class 495
JAXP DocumentBuilder 496
DOM3 DOMImplementa?ionRegist ry 497
Example 10.2 The DOMImplementationRegistry Class 497
The Document Interface as an Abstract Factory 499
Example 10.3 The DOMImplementationSource Interface 499
Example 10.4 The Document Interface 499
Example 10.5 Using DOM to Build an SVG Document in Memory 502
Example 10.6 A DOM Program That Outputs the Fibonacci Numbers as an XML Document 506
Example 10.8 A DOM Program That Outputs the Fibonacci Numbers as a MathML Document 509
Example 10.7 A Valid MathML Document That Contains Fibonacci Numbers 509
Example 10.9 A Valid MathML Document That Uses Prefixed Names 512
The Document Interface as a Node Type 513
Getter Methods 513
Example 10.10 The Properties of a Document Object 515
Finding Elements 517
Example 10.12 An XML-RPC Response Document 518
Example 10.11 An XML-RPC Request Document 518
Example 10.13 A DOM-Based XML-RPC Servlet 519
Example 10.14 A DOM-Based SOAP Servlet 527
Transferring Nodes between Documents 533
Normalization 534
Summary 538
The Element Interface 539
Chapter 11 The DOM Core 539
Example 11.1 The Element Interface 540
Extracting Elements 541
Example 11.2 Extracting Examples from DocBook 543
Attributes 548
Example 11.4 A DOM Program That Adds Attributes 549
Example 11.3 A Document That Uses Attributes 549
The NamedNodeMap Interface 551
Example 11.5 The NamedNodeMap Interface 551
Example 11.6 An XLink Spider That Uses DOM 553
The CharacterData Interface 558
Example 11.7 The CharacterData Interface 559
Example 11.8 Rot-13 Encoder for XML Documents 560
The Text Interface 563
Example 11.9 The Text Interface 564
Example 11.10 Printing the Text Nodes in an XML Document 565
The CDATASection Interface 568
Example 11.11 The CDATASection Interface 568
Example 11.12 Merging CDATA Sections with Text Nodes 569
Example 11.13 The EntityReference Interface 571
The EntityReference Interface 571
Example 11.14 Inserting Entity References into a Document 572
The Attr Interface 573
Example 11.15 The Attr Interface 574
Example 11.16 Specifying All Attributes 575
The ProcessingInstruction Interface 576
Example 11.17 The ProcessingInstruction Interface 577
Example 11.18 Reading PseudoAttributes from a ProcessingInstruction 578
The Comment Interface 581
Example 11.19 The Comment Interface 581
Example 11.20 A DOM Program That Prints Comments 582
The DocumentType Interface 584
Example 11.21 The DocumentType Interface 585
Example 11.22 The Entity Interface 586
The Entity Interface 586
Example 11.23 Listing Parsed Entities Used in the Document 587
The Notation Interface 590
Example 11.24 The Notation Interface 590
Example 11.25 Listing the Notations Declared in a DTD 591
Summary 594
NodeIterator 597
Chapter 12 The DOM Traversal Module 597
Example 12.1 The NodeIterator Interface 598
Constructing NodeIterators with DocumentTraversal 599
Example 12.2 The DocumentTraversal Factory Interface 600
Example 12.3 Using a NodeIterator to Extract All of the Comments from a Document 601
Liveness 603
Example 12.4 Using a NodeIterator to Retrieve the Complete Text Content of an Element 604
Filtering by Node Type 604
NodeFilter 605
Example 12.5 The NodeFilter Interface 606
Example 12.6 An Implementation of the NodeFilter Interface 607
Example 12.7 The TreeWalker Interface 610
TreeWalker 610
Example 12.8 The ExampleFilter Class 612
Example 12.9 Navigating a Subtree with TreeWalker 613
Summary 616
Xerces Serialization 617
Chapter 13 Output from DOM 617
OutputFormat 619
Example 13.1 Using Xerces' OutputFormat Class to "Pretty Print" XML 619
Example 13.2 Using Xerces' OutputFormat Class to "Pretty Print" MathML 624
DOM Level 3 627
Example 13.3 The DOM3 DOMWriter Interface 628
Example 13.5 Serializing with DOMWriter 630
Example 13.4 The DOM3 DOMErrorHandler Interface 630
Creating DOMWriters 632
Example 13.6 The DOM3 DOMImplementationLS Interface 632
Example 13.7 An Implementation-lndependent DOM3 Program to Build and Serialize an XML Document 633
Serialization Features 635
Filtering Output 636
Example 13.9 Filtering Everything That Isn't XHTML on Output 637
Example 13.8 The DOMWriterFilter Interface 637
Example 13.10 Using a DOMWriterFilter 639
Summary 640
Part Ⅳ JDOM 641
Chapter 14 JDOM 643
What ls JDOM? 644
Creating XML Elements with JDOM 647
Creating XML Documents with JDOM 649
Writing XML Documents with JDOM 651
Example 14.1 AJDOM Program That Produces an XML Document Containing Fibonacci Numbers 652
Document Type Declarations 656
Example 14.2 A Fibonacci DTD 656
Example 14.3 A JDOM Program That Produces a Valid XML Document 657
Namespaces 659
Example 14.4 A MathML Document Containing the First Three Fibonacci Numbers 659
Example 14.5 A JDOM Program That Uses Namespaces 660
Reading XML Documents with JDOM 664
Example 14.6 A JDOM Program That Uses the Default Namespace 66?Example 14.7 A JDOM Program That Checks XML Documents for Well-Formedness 665
Example 14.8 A JDOM Program That Validates XML Documents 667
Navigating JDOM Trees 668
Example 14.9 A JDOM Program That Lists the Elements Used in a Document 669
Example 14.10 A JDOM Program That Lists the Nodes Used in a Document 672
Talking to DOM Programs 675
Talking to SAX Programs 676
Configuring SAXBuilder 676
Example 14.11 A JDOM Program That Schema Validates Documents 677
SAXOutputter 679
Example 14.12 AJDOM Program That Passes Documents to a SAX ContemHandler 679
Java Integration 681
Serializing JDOM Objects 681
Synchronizing JDOM Objects 681
Testing Equality 681
Hash Codes 682
What JDOM Doesn't Do 683
Cloning 683
String Representations 683
Summary 684
Chapter 15 The JDOM Model 687
The Document Class 688
Example 15.1 TheJDOM Document Class 688
The Element Class 690
Constructors 693
Example 15.2 Inspecting Elements 694
Navigation and Search 694
Example 15.3 An XML-RPC Request Document 700
Example 15.5 The JDOM ContentFilter Class 705
Example 15.4 The JDOM Filter Interface 705
Example 15.6 TheJDOM ElementFilter Class 708
Example 15.7 A Filter for xml-stylesheet Processing Instructions in the Prolog 709
Example 15.8 Moving Elements between Documents 712
Attributes 714
Example 15.9 Searching for RDDL Resources 716
The Attribute Class 719
Example 15.10 The JDOM Attribute Class 720
The Text Class 724
Example 15.11 The JDOM Text Class 724
Example 15.12 JDOM-Based Rot-13 Encoder for XML Documents 726
Example 15.13 The JDOM CDATA Class 729
The CDATA Class 729
The ProcessingInstruction Class 730
Example 15.14 The JDOM ProcessingInstruction Class 731
Example 15.15 The JDOM Comment Class 733
The Comment Class 733
Example 15.16 Printing Comments 734
Namespaces 736
Example 15.17 The JDOM Namespace Class 736
Example 15.18 An XML Document That Uses Namespace Prefixes in Attribute Values 738
The DocType Class 739
Example 15.19 The JDOM DocType Class 740
Example 15.20 Validating XHTML with the DocType Class 743
The EntityRef Class 745
Example 15.21 The JDOM EntityRef Class 745
Summary 748
Part Ⅴ XPath/XSLT 751
Chapter 16 XPath 753
Example 16.1 Weather Data in XML 754
Queries 754
The XPath Data Model 756
Figure 16.1 XPath Explorer 756
Example 16.2 A SOAP Response Document 758
Location Paths 759
Figure 16.2 An XPath Data Model 759
Example 16.3 An XML-RPC Request Document 760
Axes 761
Example 16.4 A SOAP Request Document 762
Node Tests 764
Predicates 766
Compound Location Paths 768
Absolute Location Paths 769
Abbreviated Location Paths 770
Combining Location Paths 772
Expressions 772
Literals 773
Operators 774
Functions 774
XPath Engines 778
XPath with Saxon 781
XPath with Xalan 785
Example 16.5 The Xalan XPathAPI Class 786
DOM Level 3 XPath 789
Example 16.6 The XPathEvaluator Interface 790
Example 16.7 The XPathResult Interface 792
Namespace Bindings 794
Example 16.8 An XML Document That Contains Namespace Bindings and an XPath Search Expression 795
Snapshots 797
Example 16.9 The DOM3 XPathExpression Interface 798
Compiled Expressions 799
Jaxen 804
SummaryChapter 17 XSLT 805
XSL Transformations 805
Template Rules 806
Example 17.1 An XSLT Stylesheet for XML-RPC Request Documents 807
Stylesheets 808
Example 17.2 An XSLT Stylesheet That Echoes XML-RPC Requests 809
Example 17.3 An XML-RPC Request Document 810
Example 17.4 An XML-RPC Response Document 810
Taking the Value of a Node 811
Applying Templates 812
The Default Template Rules 813
Selection 815
Example 17.5 An XSLT Stylesheet That Calculates Fibonacci Numbers 820
Calling Templates by NameTrAX 822
Thread Safety 824
Example 17.6 A Servlet That Uses TrAX and XSLT to Respond to XML-RPC Requests 826
Locating Transformers 827
The xml-stylesheet Processing Instruction 828
Features 831
Example 17.7 Testing the Availability of TrAX Features 832
XSLT Processor Attributes 834
Example 17.9 A URIResolver Class 836
Example 17.8 The TrAX URIResolver Interface 836
URI Resolution 836
Error Handling 837
Example 17.11 An ErrorListener That Uses the Logging API 838
Example 17.10 The TrAX ErrorListener Interface 838
Passing Parameters to Stylesheets 840
Output Properties 842
Example 17.12 The TrAX OutputKeys Class 844
Sources and Results 845
Example 17.14 The TrAX DOMResult Class 846
Example 17.13 The TrAX DOMSource Class 846
Example 17.15 The TrAX SAXSource Class 847
Example 17.16 The TrAX SAXResult Class 848
Example 17.17 The TrAX StreamSource Class 849
Example 17.18 The TrAX StreamResult Class 850
Extending XSLT with Java 850
Example 17.19 A Java Class That Calculates Fibonacci Numbers 851
Extension Functions 851
Example 17.20 The Xalan ExpressionContext Interface 862
Extension Elements 862
Example 17.21 A Stylesheet That Uses an Extension Element 863
Summary 865
Part Ⅵ Appendixes 867
SAX 869
Appendix A XML API Quick Reference 869
org.xml.sax 870
org.xml.sax.ext 880
org.xml.sax.helpers 882
DOM 891
The DOM Data Model 892
org.w3c.dom 894
org.w3c.dom.traversal 908
JAXP 912
javax. xml.parsers 912
javax.xml.transform 917
TrAX 917
javax.xml.transform.stream 924
javax.xml.transform.dom 926
javax.xml.transform.sax 927
org.jdom 930
JDOM 930
org.jdom.filter 947
org.jdom.input 950
org.jdom.output 957
org jdom.transform 962
org.jdom.xpath 964
XMLPULL 964
org.xmlpull.vl 965
Appendix B SOAP 1.1 Schemas 969
The SOAP 1.1 Envelope Schema 969
The SOAP 1.1 Encoding Schema 973
W3C Software Notice and License 986
Appendix C Recommended Reading 989
Books 989
Specifications 990
Index 993
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《烧结法处理非常规含铁资源研究》王哲著 2018
- 《无机元素原子光谱分析样品预处理技术》吴瑶庆 2019
- 《农村生活污水处理工艺与技术应用》李灵娜著 2019
- 《中国人民大学研究报告系列 中国水处理行业可持续发展战略研究报告 膜工业卷 3》(中国)郑祥,魏源送,王志伟 2019
- 《工业废水处理工艺与设计》高永编著 2019
- 《工业水处理技术》(中国)赵文玉,林华,许立巍 2019
- 《污水处理PPP项目实施方案编制实务》王雁然,方俊,朱立冬 2019
- 《图像处理与图形界面(GUI)设计案例教程》李娜,张丽君 2019
- 《辽河流域制药废水处理与资源化技术》曾萍,宋永会编著 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《中医骨伤科学》赵文海,张俐,温建民著 2017
- 《美国小学分级阅读 二级D 地球科学&物质科学》本书编委会 2016
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《强磁场下的基础科学问题》中国科学院编 2020
- 《小牛顿科学故事馆 进化论的故事》小牛顿科学教育公司编辑团队 2018
- 《小牛顿科学故事馆 医学的故事》小牛顿科学教育公司编辑团队 2018
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019