# Resources

Sources of additional information

More on DOMs in Python: Basic DOM processing

External encoding declarations

[XML Catalogs|http://uche.ogbuji.net/tech/akara/nodes/2004-06-12/external-encoding]

There is more coverage of the 4Suite XPath package in this Tour of 4Suite.

This slide and the following from Alexandre Fayolles' excellent EuroPython 2002 tutorial on Python/XML processing is an great introduction to XPath and XSLT processing in Python.

This XPath and 4XPath tutorial is a bit dated, but very comprehensive. Free registration is required.

You can use EXSLT's node-set extension to provide functionality much like transform chaining. FOr more details see "Tip: Multi-pass XSLT"

For more on RELAX NG in general, see The official RELAX NG tutorial.

For more on XVIF, see this follow-up by Eric.

I use 4xml's --rng option in examples in my article on Examplotron

If you want to try out online 4suite and RelaxNG, go to http://www.defuze.org/oss/tree/

This article discusses MarkupWriter

For more examples of MarkupWriter, see:

- "Another small 4Suite MarkupWriter example: XHTML 1.1"

- "XML recursive directory listing, part 2"

See this #4suite blog entry for another example of XPath extensions.

Tamito KAJIYAMA responds to a thread discussing the grouped sorting XSLT FAQ in 4XSLT, offering an extension function as a possible solution.