This site may be down for up to an hour for network maintenance during the period
XML Tools Notes
This is a suite of tools developed for creating and using XML in a variety of environments. It is an Apache open source project. Home page is:
Currently it is broken into four separate projects:
- XML Commons - components used by all projects. This include APIs to various functions and a catalog resolver.
- Perl - XML::Xerces, a Perl library for parsing and validating (not the only one available, just uses the Xerces code, which included XML 1.1 compatibility)
- Java - same, but for Java
- C++ - same, but for C++
These run on the three major platforms. Installation is non-trivial
Part of Gnome development, but independently useful, this is an XML C parser and toolkit.
Topics to present
Describe the types of parsers and how they are used. Understand SAX vs DOM and other terminology.
Show a working programming example of at least one parser and one validator.
Show example of working command-line validator.
List the standards being used and describe each.
Terms to Define
- Java API for XML Processing. This is a package of utilities for use in Java coding that includes DOM and SAX parsers and other processing utilities.
- XML DOM
- Document Object Model. This model views the XML document as a series of nodes that together build a tree (descending from the root node). Everything is a node - text content, elements, attributes of elements, and comments. The nodes have types corresponding to their content, and the nodes are inherently ordered according to their lexical order in the file.
DOM Parser: A DOM parser works by reading an XML file into a DOM structure in memory. The program can then crawl the tree in various ways, find nodes with specific properties or content, and also create and delete nodes.
SAX Parser: (Simple API for XML) A SAX parser works sequentially through the document generating events for processing in an object-oriented program. Originally developed for use in Java, it has been generalized but not formalized.
Local PDS4 Development Topics
Pages I'm Contemplating But Haven't Created Yet
- Hitchhiker's Guide
- Hitchhiker's Guide to Designing PDS4 Labels
- Filling Out the Imaging Dictionary Classes
- Imaging Dictionary 1.6
- Filling Out the Spectral Library Dictionary Classes
- Filling Out the Nuclear Spectroscopy Dictionary Classes
- Mission Dictionary Design and Planning
- What Every ROSES Proposer Should Know About PDS4
- Notes for Migrating PDS3 (SBN) Data Sets
- Creating LIDs
- Open Source XML Tools
- Creating a Bundle
- Designing an Archive
- Setting up a New PDS4 XML Label
- How to Read a PDS4 XML Label
- How to Read a PDS4 Dictionary Schema File
- So Tell Me About Python
- PDF/A in PDS4 - A Primer
- Creating and Validating PDF/A-1 Documents
- Using the Spectral Dictionary
- PSA Dictionary
- Finding Citation Information for PDS Data