|
The Delphi listings function in Delphi 4 and up
(except for new technology introduced in later versions).
Download all the code in one go.
You will still need the
various third-party XML packages
for those projects that reference them.
Part 1 - Introduction to XML
Part 2 - The Document Object Model
Part 3 - Simple API for XML
Part 4 - Serving XML
Part 5 - Delphi XML Tools
Part 6 - XML in Use
Appendices
Part 1 - Introduction to XML
- An overview of XML, its origins and purpose. Several XML applications are highlighted including XHTML, MathML, SVG, SMIL, and RDF.
- Basic XML syntax, including elements and attributes, text and white space, processing instructions, CDATA sections, the XML prolog, and XML processors.
- DTDs describe the structure of classes of XML documents and provide the basis for their validation.
- As an alternative to DTDs, XML Schema also let you define the structure of a class of XML documents. They provide additional functionality, especially in typing data content, and are themselves XML documents.
Chapter 5 - XPath and XPointer
- XPointer enhances XLink to let you refer to parts of a resource. It builds on the XPath definition to provide a language for describing these sub-sections.
- XML is designed to encode the content for an area of interest. Presentation abilities come from XSL and XSLT. Transformations let you convert your XML data into HTML, text, or even other XML documents.
- The Extensible Linking Language (XLink) supplies abilities beyond the simple linking of HTML, including multiple paths, bi-directional paths, and fully external links.
Back to the top
Part 2 - The Document Object Model
Chapter 8 - The Document Object Model
- The DOM specification defines a standardized way of accessing or constructing an XML document. It models the hierarchical structure of a document through objects in memory.
- Microsoft's DOM provides most of the requirements of the standard DOM, while adding several essential extras. It also supports using XSLT on the document.
- Open XML's DOM provides the same basic support as the previous implementation, but adds much extra functionality in the handling of internal and external DTDs.
Open XML is a set of native Delphi classes, and is an open source project.
- Introduced in Delphi 6, there is now a common set of DOM interfaces in Delphi. Several
standard adapter units are available to allow various DOM implementations to be used through this
framework, including Microsoft's and Open XML's. Additional adapters are available here for
TurboPower's XML Partner and
CUESoft's CUEXml package.
Back to the top
Part 3 - Simple API for XML
Chapter 12 - Simple API for XML
- SAX provides an alternative way of parsing XML documents. It uses an event-based approach, calling nominated handlers at appropriate times. Thus, it does not need to hold the entire document in memory at the one time (as DOM does).
- Microsoft provides a SAX2-compliant parser with its XML package.
- An all-Pascal version
of the SAX interfaces is available as the result of an open source project.
Although this is not a standard part of the Delphi distribution it operates
with many Delphi versions, and allows you to use many SAX-based or SAX-like parsers,
including Microsoft's,
Open XML,
TurboPower's XML Partner, and
Destructor.
Back to the top
Part 4 - Serving XML
- XML is really data, formatted to be both human and machine-readable. The source of this data is often a database. Included here is the movie-watcher database for use throughout the rest of the book.
- Since XML is just text, you can easily generate it from a database as a string value.
- Normally Delphi's Web modules deliver HTML back to the client, but there is no reason not to send XML instead. Again the XML comes form the database and is sent directly to the client.
- The DOM is designed to provide full-cycle handling of XML documents, from parsing, to generation and modification. Separate programs demonstrate each DOM in turn.
- With Microsoft's XML package comes the IMXWriter interface, a content handler than generates XML. And you can drive it programmatically to create your own documents. Similarly, components in the SAX for Pascal package let you achieve the same outcome.
- XSLT lets you transform XML content into other formats, often HTML, but also including straight text and RTF. Again Microsoft's DOM is used to perform the transformations.
- Delphi 5 can use XML between a MIDAS server and client. Tie this client to a Web module and add Delphi's InternetExpress components and you have a Web front-end to your database.
Back to the top
Part 5 - Delphi XML Tools
- Data binding extends the common DOM framework to provide "real-world" objects,
complete with properties, that represent the data in your XML document. A wizard generates the
binding for you, allowing you to almost forget that the data came from an XML document.
You can both read and update the underlying XML through the binding.
- A separate tool, the XML Mapper creates transformation definitions that let you
convert an arbitrary XML document to and from the XML format used by client datasets.
Using these transformations, you can load an XML document into a dataset, modify it
using standard data-aware components, then save the changes back to the original document.
- SOAP defines a messaging framework that can be used for remote procedure calls - better known as Web services. Wizards assist in the creation of
your own Web services, and in the importing of definitions for existing Web services.
Back to the top
Part 6 - XML in Use
- A Delphi client for XML documents that define examinations.
Microsoft's DOM provides the parsing abilities,
transforming the XML into a customized object model.
- Demonstrating the separation of content from presentation, this application reuses objects from the previous version to provide a Web-based interface to the examinations. It uses XSLT to convert the basic XML into HTML for display, based on Microsoft's XSLT engine.
- Built on top of the Common DOM framework of Delphi 6 and 7, XML Building Blocks
is a suite of components that allow you to create plug-and-play XML applications.
Back to the top
- CUESoft's DOM supports most of the standard DOM too. It is a set of native Delphi classes.
- Perform mass mail-outs using information from a database. XML provides the configuration parameters and the message template. Other standards allow database access (SQL) and e-mail functionality (SMTP), while a modular approach reduces ongoing maintenance.
The Microsoft DOM provides the XML parsing abilities.
- Although XML provides a standardized way of dealing with classes of documents, frequently a customized client gives a more user-friendly interface. This Delphi application handles the movie-watcher documents using a native
SAX for Pascal parser.
Back to the top
|