XML Processing with Python
PLEASE PROVIDE COURSE INFORMATION PLEASE PROVIDE
- Mixed media product | 556 pages
- 177.8 x 233.68 x 35.56mm | 839.14g
- 13 Jun 2000
- Pearson Education (US)
- Prentice Hall
- Upper Saddle River, United States
- w. figs.
About Sean McGrath
SEAN McGRATH is a leading XML/SGML expert and active member of the XML developer's community. He served as an invited expert for the W3C special interest group that standardized XML. He is Chief Technology Officer of Propylon (www.propylon.com), developers of mobile portal software. His books include XML by Example: Building eCommerce Applications and ParseMe.1st: SGML for Software Developers (Prentice Hall PTR). About the Series Editor CHARLES F. GOLDFARB is the father of markup languages, a term that he coined in 1970. He is the inventor of SGML, the International Standard on which both XML and HTML are based. You can find him on the Web at www.xmltimes.com
Table of contents
1. Introduction. Purpose of This Book. The Pyxie Open Source Project. Prerequisites. How to Read This Book. A Note about Platforms. Structure of Code Samples. And Finally.2. Installing Python. Getting a Python Distribution. Installing the Software. Testing the Python Installation. Using a Python Program File. In Conclusion.3. Installing the XML Package. Testing the XML Package Installation. Testing the pyExpat Module. Testing SAX Support.4. Tools of the Trade. The xmln and xmlv Parsing Utilities. Simple XML-Processing Tasks with xmln and xmlv. The GetURL Utility-A Web Resource Retriever in Python. The PYX2XML Utility: Converting PYX to XML. The C3 Utility: An XML Document Editor/Viewer in Python. In Conclusion.5. Just Enough Python. Introduction. Basic Control Structures. Functions. Modules. Data Structures. Object Orientation. Design Principles. In Conclusion.6. Some Important Details. Dealing with Long Lines. Using the dir Function. Working with Docstrings. Importing Modules. Executing Python Programs. Using the Special Object None. Memory Management. Copying Objects. Determining Object Identity. Handling Errors. The Dynamic Nature of Python. Named Parameters. The Pass Statement. Packages.7. Processing XML with Regular Expressions. Command-Line Arguments. A Module Test Harness for xgrep. What If There Are No Command-Line Parameters? Adding Support for Wildcards. Parsing Command-Line Options. A Pattern-Matching Dry Run. Introducing Regular Expressions. Using Escape Sequences in Regular Expressions. Compiling Regular Expressions. Adding Regular Expressions to xgrep. xgrep in Action. Parsing XML with Regular Expressions. Cautionary Tales. Avoiding False Positive Matches. Shallow Parsing XML with Python Regular Expressions. Current Implementation of xgrep.8. Event-driven XML Processing. Making xgrep XML-Aware. Invoking xmln from xgrep. Adding PYX Support for xgrep. Adding XML Search Features to xgrep. Using Long Option Names in getopt. Using "Bit Twiddling" to Handle the Many Options Available. The Match Printing Function. Some Examples. Generalizing the Idea of Event-Based XML Processing. A Standardized Event-Driven Processing Model. Advantages and Disadvantages of Event-Driven Processing. In Conclusion.9. Tree-driven XML Processing. Modelling a Node. Navigating a Tree. Building xTree Structures. Building an xTree By Using PYX. A Test Harness for Pyxie. Handling Line Ends. A Syntax for Tree Processing with xgrep. Adding Support for Attributes. Some Utility Bits and Pieces. Implementing XMLGrepTree. A Standardized Tree-Driven XML Processing Model. Advantages and Disadvantages of Tree-Driven XML Processing. Some Examples. Bringing It All Together.10. Just Enough SAX. History. The Concept of an "Interface". Overview of the SAX Specification. The HandlerBase Class. The DocumentHandler Interface. The AttributeList Interface. The ErrorHandler Interface. A SAX Inspection Application. SAX as a Source of PYX. Switching SAX Parsers.11. Just Enough DOM. History. DOM Support in Python. The DOM Architecture. Accessing an XML File with pyDOM. Navigating a DOM Tree. Walking a DOM Tree. Accessing Attributes. Manipulating Trees. Accessing an HTML File with pyDOM. Printing the Text of an HTML Document. Changing Data Content in a DOM Tree. Creating a Tree Programmatically. Converting HTML to PYX by Using DOM. Using PYX as a DOM Data Source.12. Pyxie: An Open Source XML- Processing Library for Python. What Is Pyxie? Design Goals. PYX Notation Processing. Event-driven Processing. Tree-driven Processing. Tree Navigation. Tree Cut-and-Paste. Node Lists. Tree Walking. Hybrid Event- or Tree-driven Processing. The Invoice Printing Problem Solved Three Ways. The Complete Source Code for the Pyxie Library.13. xFS: Filesystem Information in XML. A Simple XML DTD for Filesystem Information. Some Python Features Used in the xFS Application. Viewing xFS Data with the C3 XML Editor/Viewer. Performing Filesystem Queries with xgrep. Source Code for xFS.14. xMail: E-mail as XML. The rfc822 Module. A Simple DTD for E-mail. An Example of an E-mail Message in XML. Processing a Eudora Mailbox. Processing a Linux Mailbox. Processing an E-mail Message by Using the rfc822 Module. Sending E-mail by Using xMail. Source Code for the SendxMail Application. Source Code for the xMail Application.15. xMySQL: Relational Database Harvesting with Python SAX. Installing MySQL. Testing the MySQL Installation. Installing the Python Interface to MySQL. Testing the Python Interface to MySQL. Mapping Relational Data to XML. The Python SAX Driver Interface. Implementing a SAX Driver for MySQL. A Template for SAX Drivers. The MySQL SAX Driver. Some Examples.16. xTract: A Query-By-Example XML Retrieval System. Expressing XML Queries. The xTract.py Utility in Action. xTract Version 1 Source Code. Handling Large XML Files with xTract. Source Code for the xTract1 Utility.17. The C3 XML Editor/Viewer. Developing wxPython Applications. A "Hello World" wxPython Application. Converting an xTree to a wxTree, and Vice Versa. Dynamic Module Loading. The Complete Source Code for C3.Appendix A: An Overview of Python for Java Programmers. Comparing the Python and Java Programming Languages.Appendix B: An Overview of Python for Perl Programmers. Index.