Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Copyright
Charles F. Goldfarb Series on Open Information Management
The Charles F. Goldfarb Series on Open Information Management
Foreword
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 . . .
Installing Python
Getting a Python Distribution
Installing the Software
Testing the Python Installation
Using a Python Program File
In Conclusion
Installing the XML Package
Testing the XML Package Installation
Testing the pyExpat Module
Testing SAX Support
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
Just Enough Python
Introduction
Basic Control Structures
Functions
Modules
Data Structures
Object Orientation
Design Principles
In Conclusion
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
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
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
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
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
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
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
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
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
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
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
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
An Overview of Python for Java Programmers
Comparing the Python and Java Programming Languages
An Overview of Python for Perl Programmers
About the CD-ROM
Windows
Linux
Generic Unix
Miscellaneous
Technical Support
← Prev
Back
Next →
← Prev
Back
Next →