# Expression DB XML Test Suite

## Pre-requisites

File dbxml.py must be installed. Unofficial Debian packages are available. You can add `deb http://www.lesdeveloppementsdurables.org/debian /` to your source.list.

You must have a sample test.dbxml file in this directory. create_test_dbxml.py can create it for you.

## Tests

- test.dbxml lists the container's contents.
- test.dbxml/1 displays document 1 contents (nothing, see explanations below).
- test.dbxml/3 displays document 4 (an article => rendered as an article).
- test.dbxml/3/edit to edit the article in place.
- test.dbxml/new-yep-article displays an article creation form. The article is then stored in the container.
- test.dbxml/docSelect/%2F%2Ftitle lists all documents that match xpath expression "//title".
- test.dbxml/docSelect/%2F%2Fyep%3Atitle lists all documents that match xpath expression "//yep:title".
- test.dbxml/nodeSelect/%2F%2Ftitle lists all nodes that match xpath expression "//title".
- test.dbxml/nodeSelect/%2F* lists all nodes that match xpath expression "/*".

## Observations

When displaying arbitrary XML code, Expression used to show them raw. But currently it skips them (XSLT bug ?). Therefore you won't see the documents that are not known by Expression (= no description associated to the element name). In the default test.dbxml, only articles will show. Same problem with nodes.

However, when you append /unstyled to the URI, you can see the invisible XML code in the generated HTML page source.

nodeSelect now displays the "listItem" description page component of known elements, when available. See xml/misc/description/Article.xml for an example.