Always Learning

Definitive XML Application Development
Lars Marius Garshol

ISBN-10: 0130889024
ISBN-13:  9780130889027

Publisher:  Prentice Hall
Copyright:  2002
Format:  Paper; 1216 pp
Published:  05/15/2002
Status: Out of Print


We're sorry, this product is no longer available.
Please contact your Pearson rep if you are using this product and need instructor resources.


Print this content

In this section:


Description

For students in any course on XML-based software development.

As XML technologies move into the mainstream, students need a sophisticated understanding of the key XML tools and technologies for enterprise development. Definitive XML Application Development is the solution. World-renowned open source XML developer Lars Garshol combines practical insight into SAX, DOM, XSLT, and other advanced XML technologies, and example-rich coverage of XML application construction using Java and Python—today's most sophisticated and productive object-oriented languages.


Features

  • CD-ROM full of tools, code, applications, and frameworks—The accompanying CD-ROM contains an extensive library of tools to simplify XML programming, plus complete, thoroughly annotated XML applications and frameworks.
    • Gives students a single, convenient source for virtually all the XML development resources they need.

  • XML development with both Java and Python—Offers practical coverage of two of today's most popular and productive object-oriented languages.
    • Serves the needs of a far wider range of students, and enables students to work successfully in a wider range of development environments.

  • Comprehensive, expert coverage—Includes in-depth coverage of the XML processing model; document views; both SAX and DOM; XSLT; architectural forms; schemas; and much more.
    • Helps students with an exceptionally broad cross-section of the XML development challenges they are likely to encounter.

  • By one of the leaders of the global XML development community—Author Lars Marius Garshol co-edited the ISO Topic Map Query Language standard, and has long been active in the XML and topic map communities as a speaker, consultant and developer. He is widely known for his Free XML Tools web site, his translation of SAX to Python, and his xmlproc validating XML parser.
    • Students benefit from an authoritative, insider's look at state-of-the-art XML development.

  • Detailed coverage of the best Java and Python XML tools—Introduces the RSS Development Kit, the tabproc framework, and other powerful resources.
    • Introduces students to powerful tools for streamlining XML development and building richer, more robust XML applications.


Table of Contents

I. WORKING WITH XML.

1. XML and Information Systems.

Representing Data Digitally. XML and Digital Data. Information Systems. XML and Information Systems.

2. The XML Processing Model.

A Bit of XML History. An Introduction to XML namespaces. Documents and Parsers. The Result of Parsing.

3. Views of Documents.

Documents Viewed as Events. Documents Viewed as Trees. Virtual Views. Virtual Documents.

4. Common Processing Tasks.

Serialization and Deserialization. Transformation. Validation. Modification. Information Extraction.

5. Characters—The Atoms of Text.

Terminology. Digital Text. Important Character Standards. Characters in Programming Languages. Further Problems.

II. EVENT-BASED PROCESSING.

6. Event-Based Processing.

Benefits and Disadvantages. Writing Event-based Applications. Tools for Event-based Processing. RSS: An Example Application.

7. Using The XML Parsers.

Xmlproc. Pyexpat. Xmllib. Xerces-C/Pirxx. Working in Jython. Choosing a Parser.

8. SAX: An Introduction.

Background and history. Introduction. The SAX classes. Two Example Applications. Python SAX Utilities.

9. Using SAX.

An Introduction to XBEL. Thinking in SAX. Application-specific data representations. Example Applications. Tips and Tricks. Speed.

10. Advanced SAX.

The Advanced Parts of the API. Parser filters. Working with Entities. Mapping non-XML data to XML.

III. TREE-BASED PROCESSING.

11. DOM: An Introduction.

Tree-based Processing. Getting to Know DOM. A DOM Overview. Fundamental DOM Interfaces. A Simple Example Application. Extended DOM Interfaces.

12. Using DOM.

Creating DOM trees. DOM Serialization. Some Examples. An Example: A Tree Walker.

13. Advanced DOM.

Other DOM Implementations. The HTML Part of the DOM. DOM Level 2. Future Directions for DOM. DOM Performance.

14. Other Tree-Based APIs.

qp_xml. Groves.

IV. DECLARATIVE PROCESSING.

15. XSLT: Introduction.

Declarative Processing. XSLT Background. Introducing XSLT. Two Complete XSLT Examples.

16. XSLT in More Detail.

Xpath in Detail. Advanced XSLT Topics. Advanced XSLT Examples. XSLT Performance.

17. Using XSLT In Applications.

The XSLT Processor APIs. Larger Examples of XSLT Programming. Using Xpath in Software. The Future of XSLT.

18. Architectural Forms.

Introduction to Architectural Forms. Uses of Architectural Forms. Architectural Forms Software. An Example.

V. XML DEVELOPMENT IN JAVA.

19. SAX in Java.

XML and Java. Java XML Parsers. The Java Version of SAX. JAXP. Java SAX APIs. Java SAX Examples.

20. DOM in Java.

JAXP and the DOM. The Java DOM APIs. Using Some Java DOMs. JDOM.

21. Using XSLT In Java Applications.

Using JAXP. The Saxon XSLT Processor. The Xalan XSLT Processor.

VI. XML PROCESSING IN DEPTH.

22. Other Approaches to Processing.

Pull APIs. RXP. Hybrid Event/Tree-based Approaches. Simplified Approaches.

23. Schemas.

Schemas and XML. Validating Documents. DTD Programming.

24. Creating XML.

Creating XML from HTML. Creating XML from SGML. Creating XML from Other Document Formats. Creating XML from Data Formats.

25. The Tabproc Framework.

Input Handling. Generating XML from Tables. A SAX XMLReader Output. Examples of Use.

26. The RSS Development Kit.

The RSS Object Structure. The Client Kit. The Config Module. The RSS email client. The GUI RSS client. The RSS editor.

VII. APPENDICES.

Appendix A. A Lightning Introduction to Python.

A Quick Introduction. Basic Building Blocks. An Example Program. Classes and Objects. Various Useful APIs.

Appendix B. Glossary of Terms.

CDATA Marked Sections. Character Data. Character References. Document Element. Document Entity. Document Order. Mixed Content. Processing Instruction. Replacement Text. Standalone Declaration. Text. Text Declaration. XML Declaration.

Appendix C. The Python XML Packages.

The Python Interpreter. The Python XML-SIG package. 4Suite. Sab-pyth. RXP. Pysp. The Easy Ones. Java Packages.

Index.



Back to top

Print this content

In this section:


Sample Chapter

View a Sample Chapter PDF:/samplechapter/0130889024.pdf


Author Bios

LARS MARIUS GARSHOL is a leading XML developer. He created xmlproc, a complete validating XML processor, helped design SAX and translated it to Python, and runs the Free XML Tools Web site, www.garshol.priv.no/download/xmltools/. He is co-founder of Ontopia, a company that provides knowledge management solutions based on XML Topic Maps (XTM) and related technologies.

About the Series Editor

Charles F. Goldfarb is the father of XML technology. He invented SGML, the Standard Generalized Markup Language on which both XML and HTML are based. You can find him on the Web at www.xmlbooks.com


Backcover Copy

  • Complete developer's guide to XML programming by a leading XML developer
  • Teaches core concepts using Python for examples
  • Shows how to apply concepts in Java(tm)
  • DOM, SAX, XSLT, XPath, schemas, and much more
  • Plus a quick Python introduction for experienced developers

The start-to-finish guide to XML development for every experienced developer!

In this book, leading XML developer Lars Marius Garshol covers every essential aspect of XML programming, from basic principles through advanced techniques, utilizing DOM, SAX, XSLT, XPath, schemas, and other key XML standards. Garshol presents scores of code examples based on Python, a cross-platform language that is exceptionally well suited for XML development. Garshol also presents new insights into XML application design and optimization, as well as complete sample applications. Coverage includes:

  • XML for programmers: the XML processing model, namespaces, parsing, document views, and more
  • Serialization/deserialization, translation, validation, modification, and information extraction
  • SAX event-based processing: basic techniques, data structures, sample applications, tips, tricks, optimization, and advanced APIs
  • Event-based alternatives to SAX: native XML parser APIs of Pyexpat, xmlproc, xmllib, and XP
  • DOM tree-based processing: fundamental and extended interfaces, serialization, DOM Level 2, performance techniques, and more
  • Tree-based alternatives to DOM: qp_xml, groves, and JDOM
  • Declarative processing with XSLT and XPath, including advanced XSLT topics: combining multiple stylesheets, precedence, cross-references, messages, and more
  • Embedding XSLT engines in applications and writing XSLT and XPath extensions
  • XML development in Java with SAX, DOM, JDOM, and XSLT engines
  • Processing in depth: schemas, DTD programming, creating XML from HTML and SGML, RSS, and more

You'll even find a quick introductory course in Python and an XML developer's glossary.

Whatever your application-from content management through enterprise application integration-Developing XML Applications gives you the resources, skills, insights, and example code you need to build it right.

"The range of XML application domains is growing dramatically, but there are common strategies and techniques for XML development that apply to all of them. This book provides a systematic and thorough grounding—and a real understanding—that will make you productive quickly."

—Charles F. Godfarb

Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top