ANN: Amara XML Toolkit 1.2.0.2

2007-06-23 Thread Uche Ogbuji
http://uche.ogbuji.net/tech/4suite/amara
http://cheeseshop.python.org/pypi/Amara/
ftp://ftp.4suite.org/pub/Amara/

Changes since Amara 1.2.0.1:

* Fix bindery bug with e.g. del html.head.title
* Fix bindery bug with elements named None
* Fix bindery bug when a string object gets into a binding
* Minor documentation and packaging tweaks

Amara XML Toolkit is a collection of Python tools for XML processing--
not just tools that happen to be written in Python, but tools built from
the ground up to use Python's conventions and take advantage of the many
advantages of the language.

Amara builds on 4Suite [http://4Suite.org], but whereas 4Suite offers
more on literal implementation of XML standards in Python, Amara
focuses on Pythonic idiom.  It provides tools you can trust to conform
with XML standards without losing the familiar Python feel.

The components of Amara are:

* Bindery: data binding tool (a very Pythonic XML API)
* Scimitar: implementation of the ISO Schematron schema language for
XML; converts Schematron files to Python scripts
* domtools: set of tools to augment Python DOMs
* saxtools: set of tools to make SAX easier to use in Python
* Flextyper: user-defined datatypes in Python for XML processing

There's a lot in Amara, but here are highlights:

Amara Bindery: XML as easy as py


Bindery reads an XML document and it returns a data structure of
Python objects corresponding to the vocabulary used in the XML document,
for maximum clarity.

Bindery turns the document

monty
  python spam=eggsWhat do you mean bleh/python
  python ministry=abuseBut I was looking for argument/python
/monty

Would become a set of objects so that you could write

binding.monty.python.spam

In order to get the value eggs (as a Python Unicode object) or

binding.monty.python[1]

In order to get the element object with the contents But I was looking
for argument.

There are other such tools for Python, and what makes Bindery unique is
that it's driven by a very declarative rules-based system for binding
XML to the Python data.  You can register rules that are triggered by
XPattern expressions specialized binding behavior.  It includes XPath
support and is very efficient, using SAX to generate bindings.

See the user documentation, manual.html, for more details.

Scimitar: exceptional schema language for an exceptional programming
language
-

Scimitar is an implementation of ISO Schematron that compiles a Schematron
schema into a Python validator script.  You typically use scimitar in two
phases.  Say you have a schematron schema schema1.stron and you want to
validate multiple XML files against it, instance1.xml, instance2.xml,
instance3.xml.

First you run schema1.stron through the scimitar compiler script,
scimitar.py:

scimitar.py schema1.stron

A file, schema1-stron.py, is generated in the current working directory.
If you'd prefer a different location or file name, use the -o option.
The generated file is a validator script in Python.  It checks the
schematron rules specified in schema1.stron.

Run this validator on each XML file you wish to validate:

python schema1.py instance1.xml

The validation report is generated on standard output by default, or you
can use the -o option to redirect it to a file.

The validation report is an XML external parsed entity, a format much like
a well-formed XML document, but with some restrictions relaxed.

Amara DOM Tools: giving DOM a more Pythonic face


Amara DOM Tools features pushdom, similar to xml.dom.pulldom, but easier
to use, and a function to return an XPath location for any DOM node.

Amara SAX Tools: SAX without the brain explosion


Tenorsax (amara.saxtools.tenorsax) is a framework for linerarizing SAX
logic
so it flows a bit more naturally, needing much less state machine wizardry.

License
---

Amara is open source, provided under the 4Suite variant of the Apache
license.  See the file COPYING for details.

Installation


Amara requires Python 2.4 or more recent and 4Suite-XML 1.0 or more
recent.  The easiest way to install it is:

easy_install amara

If this does not work you are probably not set up for easy_install and I
suggest you follow the simple instructions at

http://peak.telecommunity.com/DevCenter/EasyInstall

easy_install will automatically take care of installing dependencies for
you.  If you prefer not to use easy_install, grab a 4Suite-XML package more
recent than 1.0 and install that, then install the Amara package
using the usual:

python setup.py install

Or a Windows installer, or other method.

-- 
Uche Ogbuji   http://uche.ogbuji.net
Linked-in profile: http://www.linkedin.com/in/ucheogbuji
Articles: http://uche.ogbuji.net/tech/publications/

-- 
http://mail.python.org/mailman/listinfo

ANN: Amara XML Toolkit 1.2.0.1

2007-01-06 Thread Uche Ogbuji
://peak.telecommunity.com/DevCenter/EasyInstall

easy_install will automatically take care of installing dependencies for
you.  If you prefer not to use easy_install, grab a 4Suite-XML package more
recent than 1.0 and install that, then install the Amara package
using the usual:

python setup.py install

Or a Windows installer, or other method.

-- 
Uche Ogbuji   Work: The Kadomo Group, Inc.
http://uche.ogbuji.nethttp://kadomo.com
http://copia.ogbuji.net   Lead dev at http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: 4Suite XML 1.0.2

2006-12-26 Thread Uche Ogbuji
4Suite XML 1.0.2 is now available from Sourceforge and ftp.4suite.org.
Thanks to all the testers, there are a number of important fixes and
improvements
since 1.0.1, and we recommend upgrade from all previous versions.
Changes include:

* Fixed TypeError when multiple interpreters are used (should help with
mod-python)
* Memory leak fix in Saxlette: freeing any parsing contexts left on the
parser when it is freed.
* Fix bug where extension functions are not properly passed on in context
* Fix build error when Python is configured with `--enable-shared`
* Fix bug with xi:include element's orphaning element state thus causing
an error with xsl:strip-elements.
* Fix error in nodeset comparisons with booleans

4Suite consists of three separate packages:

4Suite XML - XML, XPath, XSLT, related technologies and support libraries
4Suite RDF - RDF processing libraries and stand-alone DBMS
4Suite Repository - XML and RDF repository

This is a release of only the first component.

4Suite XML is a comprehensive library for XML processing.  It is
implemented in Python and C and supports XML (SAX-like and DOM-like),
XPath, XSLT, RELAX NG, XUpdate, XInclude, XPointer, and more.

Many users will be able to use easy_install.  See the bottom of this
announcement
for more information.

General information:

http://4suite.org/
https://sourceforge.net/projects/foursuite/

Source code, Python eggs, Windows installers, and documentation:

ftp://ftp.4suite.org/pub/4Suite/ (primary)
http://sourceforge.net/project/showfiles.php?group_id=39954 (secondary)
http://cheeseshop.python.org/pypi/4Suite-XML/ (alternative)

You only need to download one distribution (source, egg, or .exe).

Installation requirements and other details:

http://4suite.org/docs/README

Installation:

You can install without any separate download using:

easy_install 4Suite-XML

For more information see:

http://peak.telecommunity.com/DevCenter/EasyInstall

Otherwise use one of the packages listed above, or one provided by your
software distributor.

Documentation:

Documentation is distributed separately from the source and eggs.
Windows installers come with documentation; no separate download needed.

The 4Suite XML core manual is included in the documentation. It can be
browsed online at

http://4suite.org/docs/CoreManual.xml

-- 
Uche Ogbuji   Work: The Kadomo Group, Inc.
http://uche.ogbuji.nethttp://kadomo.com
http://copia.ogbuji.net   Lead dev at http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: 4Suite XML 1.0.1

2006-12-10 Thread Uche Ogbuji
4Suite XML 1.0.1 is now available from Sourceforge and ftp.4suite.org.
Thanks to all the testers, there are a number of important fixes and
improvements
since 1.0, and we recommend upgrade from all previous versions.  Changes
include:

* Fixed error handling the interactive Python sys.path entry of ''
* Handle overridden default namespace properly in
Ft.Xml.Domlette.ParseFragment
* default namespace fix for Ft.Xml.Domlette.GetAllNs
* Memory leak fixes
* Documentation tweaks
* Bug fixes, including installer fixes

4Suite consists of three separate packages:

4Suite XML - XML, XPath, XSLT, related technologies and support libraries
4Suite RDF - RDF processing libraries and stand-alone DBMS
4Suite Repository - XML and RDF repository

This is a release of only the first component.

4Suite XML is a comprehensive library for XML processing.  It is
implemented in Python and C and supports XML (SAX-like and DOM-like),
XPath, XSLT, RELAX NG, XUpdate, XInclude, XPointer, and more.

Many users will be able to use easy_install.  See the bottom of this
announcement
for more information.

General information:

http://4suite.org/
http://uche.ogbuji.net/tech/4Suite/
https://sourceforge.net/projects/foursuite/

Source code, Python eggs, Windows installers, and documentation:

ftp://ftp.4suite.org/pub/4Suite/ (primary)
http://sourceforge.net/project/showfiles.php?group_id=39954 (secondary)
http://cheeseshop.python.org/pypi/4Suite-XML/ (alternative)

You only need to download one distribution (source, egg, or .exe).

Installation requirements and other details:

http://4suite.org/docs/README

Installation:

You can install without any separate download using:

easy_install 4Suite-XML

For more information see:

http://peak.telecommunity.com/DevCenter/EasyInstall

Otherwise use one of the packages listed above, or one provided by your
software distributor.

Documentation:

Documentation is distributed separately from the source and eggs.
Windows installers come with documentation; no separate download needed.

The 4Suite XML core manual is included in the documentation. It can be
browsed online at

http://4suite.org/docs/CoreManual.xml

-- 
Uche Ogbuji   Work: The Kadomo Group, Inc.
http://uche.ogbuji.nethttp://kadomo.com
http://copia.ogbuji.net   Lead dev at http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: 4Suite XML 1.0

2006-10-21 Thread Uche Ogbuji
Today we release 4Suite XML 1.0, now available from Sourceforge and
ftp.4suite.org.
Thanks to all the testers, there are a number of important fixes and
improvements
since 1.0rc4, and we strongly recommend upgrade from all previous versions.

4Suite consists of three separate packages:

4Suite XML - XML, XPath, XSLT, related technologies and support libraries
4Suite RDF - RDF processing libraries and stand-alone DBMS
4Suite Repository - XML and RDF repository

This is a release of only the first component.

4Suite XML is a comprehensive library for XML processing.  It is
implemented in Python and C and supports XML (SAX-like and DOM-like),
XPath, XSLT, RELAX NG, XUpdate, XInclude, XPointer, and more.

Many users will be able to use easy_install.  See the bottom of this
announcement
for more information.

General information:

http://4suite.org/
http://uche.ogbuji.net/tech/4Suite/
https://sourceforge.net/projects/foursuite/

Source code, Python eggs, Windows installers, and documentation:

ftp://ftp.4suite.org/pub/4Suite/ (primary)
http://sourceforge.net/project/showfiles.php?group_id=39954 (secondary)
http://cheeseshop.python.org/pypi/4Suite-XML/ (alternative)

You only need to download one distribution (source, egg, or .exe).

Installation requirements and other details:

http://4suite.org/docs/README

Installation:

You can install without any separate download using:

easy_install 4Suite-XML

For more information see:

http://peak.telecommunity.com/DevCenter/EasyInstall

Otherwise use one of the packages listed above, or one provided by your
software distributor.

Documentation:

Documentation is distributed separately from the source and eggs.
Windows installers come with documentation; no separate download needed.

The 4Suite XML core manual is included in the documentation. It can be
browsed online at

http://4suite.org/docs/CoreManual.xml

-- 
Uche Ogbuji   Fourthought, Inc.
http://uche.ogbuji.nethttp://fourthought.com
http://copia.ogbuji.net   http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


Re: ANN: Amara XML Toolkit 1.1.9

2006-09-19 Thread Uche Ogbuji
Apologies for the cross-post.  I need to post a brief correction to the
lists for the original announcement.

Uche Ogbuji wrote:
 http://uche.ogbuji.net/tech/4suite/amara
 http://cheeseshop.python.org/pypi/Amara/
 ftp://ftp.4suite.org/pub/Amara/

...

The original Windows installer EXEs posted for Amara 1.1.9 were
corrupted.  Jeremy Kloth and Luis Miguel Morillas collaborated on a
quick fix, and working EXEs are now posted at
ftp://ftp.4suite.org/pub/Amara/.  If you try and have any further
problems please post tot he 4Suite mailing list.


-- 
Uche Ogbuji   Fourthought, Inc.
http://uche.ogbuji.nethttp://fourthought.com
http://copia.ogbuji.net   http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: Amara XML Toolkit 1.1.9

2006-09-16 Thread Uche Ogbuji
http://uche.ogbuji.net/tech/4suite/amara
http://cheeseshop.python.org/pypi/Amara/
ftp://ftp.4suite.org/pub/Amara/

Changes since Amara 1.1.7:

* Add support for EasyInstall; other packaging  installer improvements
  - Note: allinone package eliminated
* Add trimxml command line utility (for running reports on XML files)
* Switch to Docbook for documentation source
* Bindery: Add support for dict-like accessors
* Tenorsax: Restore support for PySax
* Scimitar: Implement abstract rules
* Scimitar: Update Schematron namespace to ISO
* Scimitar: Implement phases
* Scimitar: Support Schematron queryBinding attribute: XPath, XSLT, EXSLT
* Add binderytools.fixup_namespaces function
* Add binderytools.quick_xml_scan function
* Fix APIs for adding comments and PIs
* Fix domtools.abs_path to be more namespace aware
* Bug fixes

Amara XML Toolkit is a collection of Python tools for XML processing--
not just tools that happen to be written in Python, but tools built from
the ground up to use Python's conventions and take advantage of the many
advantages of teh language.

Amara builds on 4Suite [http://4Suite.org], but whereas 4Suite offers
more on literal implementation of XML standards in Python, Amara
focuses on Pythonic idiom.  It provides tools you can trust to conform
with XML standards without losing the familiar Python feel.

The components of Amara are:

* Bindery: data binding tool (a very Pythonic XML API)
* Scimitar: implementation of the ISO Schematron schema language for
XML; converts Schematron files to Python scripts
* domtools: set of tools to augment Python DOMs
* saxtools: set of tools to make SAX easier to use in Python
* Flextyper: user-defined datatypes in Python for XML processing

There's a lot in Amara, but here are highlights:

Amara Bindery: XML as easy as py


Bindery turns an XML document into a tree of Python objects corresponding to
the vocabulary used in the XML document, for maximum clarity.  For example,
the document

monty
  python spam=eggsWhat do you mean bleh/python
  python ministry=abuseBut I was looking for argument/python
/monty

Becomes a data structure such that you can write

binding.monty.python.spam

In order to get the value eggs or

binding.monty.python[1]

In order to get the value But I was looking for argument.

There are other such tools for Python, and what makes Bindery unique is
that it's driven by a very declarative rules-based system for binding
XML to the Python data.  You can register rules that are triggered by
XPattern expressions specialized binding behavior.  It includes XPath
support and supports mutation.  Bindery is fairly efficient, using SAX
to generate bindings.

Scimitar: Schematron for Pytthon


Scimitar is an implementation of ISO Schematron that compiles a
Schematron schema into a Python validator script.

You typically use scimitar in two phases.  Say you have a schematron
schema schema1.stron and you want to validate multiple XML files
against it, instance1.xml, instance2.xml, instance3.xml.

First you run schema1.stron through the scimitar compiler script,
scimitar.py:

scimitar.py schema1.sch

The generated file, schema1-stron.py, can be used to validate XML instances:

python schema1-stron.py instance1.xml

Which emits a validation report.

Amara DOM Tools: giving DOM a more Pythonic face


DOM came from the Java world, hardly the most Pythonic API possible.
Some DOM-like implementations such as 4Suite's Domlettes mix in some
Pythonic idiom. Amara DOM Tools goes even further.

Amara DOM Tools feature pushdom, similar to xml.dom.pulldom, but
easier to use.  It also includes Python generator-based tools for
DOM processing, and a function to return an XPath location for
any DOM node.

Amara SAX Tools: SAX without the brain explosion


Tenorsax (amara.saxtools.tenorsax) is a framework for linerarizing SAX
logic so that it flows more naturally, and needs a lot less state
machine wizardry.

License
---

Amara is open source, provided under the 4Suite variant of the Apache
license.  See the file COPYING for details.

Installation


Amara 1.1.9 requires Python 2.3 or more recent and 4Suite-XML 1.0rc4 or more
recent.  The easiest way to install it is:

easy_install amara

If this does not work you are probably not set up for easy_install and I
suggest you follow the simple instructions at

http://peak.telecommunity.com/DevCenter/EasyInstall

easy_install will automatically take care of installing dependencies for
you.  If you prefer not to use easy_install, then grab a 4Suite-XML package
morerecent than 1.0rc4 and install that, then install the Amara package
using the usual:

python setup.py install

Or a Windows installer, or other method.


-- 
Uche Ogbuji   Fourthought, Inc.
http://uche.ogbuji.nethttp

ANN: 4Suite XML 1.0rc4

2006-09-16 Thread Uche Ogbuji
Today we release 4Suite XML 1.0 release candidate 4, now available
from Sourceforge and ftp.4suite.org.

Thanks to all the testers, there are a number of important improvements
over 1.0rc3.  Please continue to help us test 4Suite to ensure a
high-quality 1.0 final release.

4Suite is split into three separate packages:

4Suite XML - XML, XPath, XSLT, related technologies and support libraries
4Suite RDF - RDF processing libraries and stand-alone DBMS
4Suite Repository - XML and RDF repository

This is a release of only the first component.

Highlights of changes in 4Suite XML since 1.0rc3
--

* Installer improvements
* Ft/Xml/Xslt/Exslt/DateTime.py: Implemented default values for
  right-truncated date/times in format-date() Missing values from
  left-truncated date/times are now replaced by ''
* Bug fixes, documentation improvements

4Suite XML is a comprehensive library for XML processing.  It is
implemented in Python and C and supports XML (SAX-like and DOM-like),
XPath, XSLT, RELAX NG, XUpdate, XInclude, XPointer, and more.

The manual is included in the documents, or you can browse it online at

http://uche.ogbuji.net/tech/4suite/etc/CoreManual.html

For general information, see:

http://4suite.org
http://uche.ogbuji.net/tech/4Suite/

For the files, see:

ftp://ftp.4suite.org/pub/4Suite/

Mirrored on www.fourthought.com:

http://www.fourthought.com/files/4Suite/4Suite_XML-1.0rc4-py2.3-win32.egg
http://www.fourthought.com/files/4Suite/4Suite_XML-1.0rc4-py2.4-win32.egg
http://www.fourthought.com/files/4Suite/4Suite_XML-1.0rc4-py2.5-win32.egg
http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc4.tar.bz2
http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc4.tar.gz
http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc4.zip
http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc4.win32-py2.2.exe
http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc4.win32-py2.3.exe
http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc4.win32-py2.4.exe
http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc4.win32-py2.5.exe
http://www.fourthought.com/files/4Suite/4Suite-XML-docs-1.0rc4.tar.bz2
http://www.fourthought.com/files/4Suite/4Suite-XML-docs-1.0rc4.tar.gz
http://www.fourthought.com/files/4Suite/4Suite-XML-docs-1.0rc4.zip

You can also get the files on Python CheeseShop:

http://cheeseshop.python.org/pypi/4Suite-XML/

We usually upload to Sourceforge, and will do so as soon as we can, but
server errors have made it impossible for us to complete the file release
so far.

https://sourceforge.net/projects/foursuite/
https://sourceforge.net/project/showfiles.php?group_id=39954

Documentation:

In the locations specified above, with filenames of the form

4Suite-XML-docs-1.0rc4.*

Release notes
--
The current installation directory layout document tells where package files
are installed:

http://4suite.org/docs/installation-locations.xhtml


-- 
Uche Ogbuji   Fourthought, Inc.
http://uche.ogbuji.nethttp://fourthought.com
http://copia.ogbuji.net   http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: 4Suite XML 1.0b3

2005-12-15 Thread Uche Ogbuji
Today we release 4Suite XML 1.0 beta 3, now available from Sourceforge andftp.4suite.org.As of the last release (1.0b2) 4Suite is split into three separate packages:4Suite XML - XML, XPath, XSLT, related technologies and support libraries
4Suite RDF - RDF processing libraries and stand-alone DBMS4Suite Repository - XML and RDF repositoryThis is a release of just the first component.Highlights of changes in 4Suite XML since the last release
--* 4Suite now has native DTD validation for Domlette and Saxlette, implemented in C. PyXML (xmlproc) is no a requirement for validation, and thus PyXML is no longer required for any feature in 4Suite.
 For Domlette validation, simply use ValidatingReader. For Saxlette  validation, use P.setFeature(xml.sax.handler.feature_validation, True). Also new to Saxlette are: DTDHandler, DeclHandler and ErrorHandler.
* New Ft.Xml.Lib.BaseUri function, which attempts to implement the semantics of the baseURI DOM Level 3 attribute as a stop-gap until some improvements can be made directly in Domlette.* New Ft.Lib.Uri.Relativize
 function, which produces context-sensitive relative references from absolute URIs.* Platform fixes for 64-bit Intel/AMD and HP-UX* Deprecate Ft.Xml.ParsePath and Ft.Xml.Xslt.TransformPath (whose duties are
 now also taken up by Ft.Xml.Parse and Ft.Xml.Xslt.Transform)* Deprecate category metadata property for XSLT extension elements* Bug fixes, improvements to performance and documentation4Suite is a comprehensive platform for XML and RDF processing, with base
libraries and a server framework. It is implemented in Python and C,and provides Python and XSLT APIs, Web and command line interfaces.4Suite XML is the core set of XML, XPath, XSLT, related technologiesand support libraries.
The manual is included in the documents, or you can browse it online athttp://uche.ogbuji.net/tech/4suite/etc/CoreManual.htmlFor general information, see:
http://4suite.orghttp://uche.ogbuji.net/tech/4Suite/For the files, see:
ftp://ftp.4suite.org/pub/4Suite/Sources:ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b3.tar.gz
ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b3.tar.bz2ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b3.zipWindows installer:
ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b3.win32-py2.2.exe
ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b3.win32-py2.3.exeftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b3.win32-py2.4.exe
You can also get the files on Sourceforge:https://sourceforge.net/projects/foursuite/
https://sourceforge.net/project/showfiles.php?group_id=39954Documentation:In the locations specified above, with filenames of the form4Suite-XML-docs-1.0b3.*Release notes--
The current installation directory layout document tells where package filesare installed:http://4suite.org/docs/installation-locations.xhtml
For insulation from Domlette implementation changes, developers shouldalways use the generic Ft.Xml.Domlette APIs (rather than, sayFt.Xml.cDomlette).-- Uche Ogbuji Fourthought, Inc.
http://uche.ogbuji.net http://fourthought.comhttp://copia.ogbuji.net 
http://4Suite.orgArticles: http://uche.ogbuji.net/tech/publications/
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: Amara XML Toolkit 1.0

2005-08-10 Thread Uche Ogbuji
http://uche.ogbuji.net/tech/4suite/amara
ftp://ftp.4suite.org/pub/Amara/

Changes in this release:

* Bug fixes and documentation improvements
* Incorporation of prerequisites (from 4Suite) into compact allinone
  package.  You no longer need anything except for Python to install
  Amara from one package in one step.

Amara XML Toolkit is a collection of Python tools for XML processing--
not just tools that happen to be written in Python, but tools built from
the ground up to use Python idioms and take advantage of the many
advantages of Python.

Amara builds on 4Suite [http://4Suite.org], but whereas 4Suite focuses
more on literal implementation of XML standards in Python, Amara
focuses on Pythonic idiom.  It provides tools you can trust to conform
with XML standards without losing the familiar Python feel.

The components of Amara are:

* Bindery: data binding tool (a very Pythonic XML API)
* Scimitar: implementation of the ISO Schematron schema language for
XML; converts Schematron files to Python scripts
* domtools: set of tools to augment Python DOMs
* saxtools: set of tools to make SAX easier to use in Python
* Flextyper: user-defined datatypes in Python for XML processing

There's a lot in Amara, but here are highlights:

Amara Bindery: XML as easy as py


Bindery turns an XML document into a tree of Python objects
corresponding to
the vocabulary used in the XML document, for maximum clarity.  For
example,
the document 

monty
  python spam=eggsWhat do you mean bleh/python
  python ministry=abuseBut I was looking for argument/python
/monty

Becomes a data structure such that you can write

binding.monty.python.spam

In order to get the value eggs or

binding.monty.python[1]

In order to get the value But I was looking for argument.

There are other such tools for Python, and what makes Anobind unique is
that it's driven by a very declarative rules-based system for binding
XML to the Python data.  You can register rules that are triggered by
XPattern expressions specialized binding behavior.  It includes XPath
support and supports mutation.  Bindery is very efficient, using SAX
to generate bindings.

Scimitar: Schematron for Pytthon


Merged in from a separate project, Scimitar is an implementation of ISO
Schematron that compiles a Schematron schema into a Python validator
script.

You typically use scimitar in two phases.  Say you have a schematron
schema schema1.stron and you want to validate multiple XML files
against it, instance1.xml, instance2.xml, instance3.xml.

First you run schema1.stron through the scimitar compiler script,
scimitar.py:

scimitar.py schema1.stron

The generated file, schema1.py, can be used to validate XML instances:

python schema1.py instance1.xml

Which emits a validation report.

Amara DOM Tools: giving DOM a more Pythonic face


DOM came from the Java world, hardly the most Pythonic API possible.
Some DOM-like implementations such as 4Suite's Domlettes mix in some
Pythonic idiom. Amara DOM Tools goes even further.

Amara DOM Tools feature pushdom, similar to xml.dom.pulldom, but
easier to use.  It also includes Python generator-based tools for
DOM processing, and a function to return an XPath location for
any DOM node.

Amara SAX Tools: SAX without the brain explosion


Tenorsax (amara.saxtools.tenorsax) is a framework for linerarizing SAX
logic so that it flows more naturally, and needs a lot less state
machine wizardry.

License
---

Amara is open source, provided under the 4Suite variant of the Apache
license.  See the file COPYING for details.

Installation


Amara requires Python 2.3 or more recent.  If you do not have 4Suite,
grab the Amara-allinone package.  If you already have 4Suite installed,
grab the stand along Amara package.  In either case, unpack to a
convenient location and run:

python setup.py install


-- 
Uche Ogbuji   Fourthought, Inc.
http://uche.ogbuji.nethttp://fourthought.com
http://copia.ogbuji.net   http://4Suite.org
Use CSS to display XML, part 2 - 
http://www-128.ibm.com/developerworks/edu/x-dw-x-xmlcss2-i.html
XML Output with 4Suite  Amara - http://www.xml.com/pub/a/2005/04/20/py-xml.html
Use XSLT to prepare XML for import into OpenOffice Calc - 
http://www.ibm.com/developerworks/xml/library/x-oocalc/
Schema standardization for top-down semantic transparency - 
http://www-128.ibm.com/developerworks/xml/library/x-think31.html

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: Amara XML Toolkit 1.0b2

2005-04-21 Thread Uche Ogbuji
http://uche.ogbuji.net/tech/4Suite/amara
ftp://ftp.4suite.org/pub/Amara/

Changes in this release:

* More mutation API improvements (del and assignment can now be used
  with elements as well as attributes) [1][2][3]
* Slight improvements in 4Suite XSLT compatability (still some
  remaining issues)
* Bug fixes

[1] http://copia.ogbuji.net/blog/2005-04-17/Amara_gets
[2] http://copia.ogbuji.net/blog/2005-04-18/Elements_v
[3] http://copia.ogbuji.net/blog/2005-04-18/Deletion_a

Amara XML Toolkit is a collection of Python tools for XML processing--
not just tools that happen to be written in Python, but tools built from
the ground up to use Python idioms and take advantage of the many
advantages of Python.

Amara builds on 4Suite [http://4Suite.org], but whereas 4Suite focuses
more on literal implementation of XML standards in Python, Amara
focuses on Pythonic idiom.  It provides tools you can trust to conform
with XML standards without losing the familiar Python feel.

The components of Amara are:

* Bindery: data binding tool (a very Pythonic XML API)
* Scimitar: implementation of the ISO Schematron schema language for
XML; converts Schematron files to Python scripts
* domtools: set of tools to augment Python DOMs
* saxtools: set of tools to make SAX easier to use in Python
* Flextyper: user-defined datatypes in Python for XML processing

There's a lot in Amara, but here are highlights:

Amara Bindery: XML as easy as py


Bindery turns an XML document into a tree of Python objects
corresponding to
the vocabulary used in the XML document, for maximum clarity.  For
example,
the document 

monty
  python spam=eggsWhat do you mean bleh/python
  python ministry=abuseBut I was looking for argument/python
/monty

Becomes a data structure such that you can write

binding.monty.python.spam

In order to get the value eggs or

binding.monty.python[1]

In order to get the value But I was looking for argument.

There are other such tools for Python, and what makes Anobind unique is
that it's driven by a very declarative rules-based system for binding
XML to the Python data.  You can register rules that are triggered by
XPattern expressions specialized binding behavior.  It includes XPath
support and supports mutation.  Bindery is very efficient, using SAX
to generate bindings.

Scimitar: Schematron for Pytthon


Merged in from a separate project, Scimitar is an implementation of ISO
Schematron that compiles a Schematron schema into a Python validator
script.

You typically use scimitar in two phases.  Say you have a schematron
schema schema1.stron and you want to validate multiple XML files
against it, instance1.xml, instance2.xml, instance3.xml.

First you run schema1.stron through the scimitar compiler script,
scimitar.py:

scimitar.py schema1.stron

The generated file, schema1.py, can be used to validate XML instances:

python schema1.py instance1.xml

Which emits a validation report.

Amara DOM Tools: giving DOM a more Pythonic face


DOM came from the Java world, hardly the most Pythonic API possible.
Some DOM-like implementations such as 4Suite's Domlettes mix in some
Pythonic idiom. Amara DOM Tools goes even further.

Amara DOM Tools feature pushdom, similar to xml.dom.pulldom, but
easier to use.  It also includes Python generator-based tools for
DOM processing, and a function to return an XPath location for
any DOM node.

Amara SAX Tools: SAX without the brain explosion


Tenorsax (amara.saxtools.tenorsax) is a framework for linerarizing SAX
logic so that it flows more naturally, and needs a lot less state
machine wizardry.

License
---

Amara is open source, provided under the 4Suite variant of the Apache
license.  See the file COPYING for details.

Installation


Amara requires Python 2.3 or more recent and 4Suite 1.0a4 or more
recent.  Make sure these are installed, unpack Amara to a convenient
location and run

python setup.py install


-- 
Uche Ogbuji   Fourthought, Inc.
http://uche.ogbuji.nethttp://fourthought.com
http://copia.ogbuji.net   http://4Suite.org
Use CSS to display XML, part 2 - 
http://www-128.ibm.com/developerworks/edu/x-dw-x-xmlcss2-i.html
Writing and Reading XML with XIST - 
http://www.xml.com/pub/a/2005/03/16/py-xml.html
Use XSLT to prepare XML for import into OpenOffice Calc - 
http://www.ibm.com/developerworks/xml/library/x-oocalc/
Schema standardization for top-down semantic transparency - 
http://www-128.ibm.com/developerworks/xml/library/x-think31.html

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: 4Suite 1.0b1

2005-04-16 Thread Uche Ogbuji
 from Domlette implementation changes, developers should
always use the generic Ft.Xml.Domlette APIs (rather than, say
Ft.Xml.cDomlette).


-- 
Uche Ogbuji   Fourthought, Inc.
http://uche.ogbuji.nethttp://fourthought.com
http://copia.ogbuji.net   http://4Suite.org
Use CSS to display XML, part 2 - 
http://www-128.ibm.com/developerworks/edu/x-dw-x-xmlcss2-i.html
Writing and Reading XML with XIST - 
http://www.xml.com/pub/a/2005/03/16/py-xml.html
Use XSLT to prepare XML for import into OpenOffice Calc - 
http://www.ibm.com/developerworks/xml/library/x-oocalc/
Schema standardization for top-down semantic transparency - 
http://www-128.ibm.com/developerworks/xml/library/x-think31.html

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


Amara XML Toolkit 0.9.1 changes

2004-12-31 Thread Uche Ogbuji
Forgot the changes in the original announcement:

* Fixed embarrassing misinterpretation of
  sax.handler.feature_namespace_prefixes
  Now Namespace prefixes work fine with or without PyXML installed
* Add saxtools.namespace_mixin utility class
* Clean up bindery.document_base name attributes
* Add bindery.element_base.xml_remove_child and .xml_index_on_parent--
methods for easier removal of children
* tenorsax was useless due to accidental late mangling before 0.9.0
release.  Fixed.
* Use tenorsax fully in Scimitar.
  Scimitar is now a complete ISO schematron implementation in about 500
lines
  of Python code (including the skeletons for code generation)

http://lists.fourthought.com/pipermail/4suite/2004-December/013143.html


-- 
Uche OgbujiFourthought, Inc.
http://uche.ogbuji.nethttp://4Suite.orghttp://fourthought.com
Use CSS to display XML - 
http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html
Full XML Indexes with Gnosis - http://www.xml.com/pub/a/2004/12/08/py-xml.html
Be humble, not imperial (in design) - http://www.adtmag.com/article.asp?id=10286
UBL 1.0 - http://www-106.ibm.com/developerworks/xml/library/x-think28.html
Use Universal Feed Parser to tame RSS - 
http://www.ibm.com/developerworks/xml/library/x-tipufp.html
Default and error handling in XSLT lookup tables - 
http://www.ibm.com/developerworks/xml/library/x-tiplook.html
A survey of XML standards - 
http://www-106.ibm.com/developerworks/xml/library/x-stand4/
The State of Python-XML in 2004 - 
http://www.xml.com/pub/a/2004/10/13/py-xml.html

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


ANN: Amara XML Toolkit 0.9.0

2004-12-23 Thread Uche Ogbuji
http://uche.ogbuji.net/tech/4Suite/amara

Amara XML Toolkit is a collection of Pythonic tools for XML data
binding.  Not just tools
that happen to be written in Python, but tools built from the ground
up to use Python idioms and take advantage of the many advantages
of Python over other programming languages.

Amara builds on 4Suite, but whereas 4Suite focuses more on literal
implementation of XML standards in Python, Amara adds a much more
Pythonic face to these capabilities.

Amara provides tools you can trust to conform with XML standards
without losing the familiar Python feel.

The components of Amara are:

* Bindery: data binding tool (fancy way of saying: a very Pythonic XML
API)
* Scimitar: implementation of the ISO Schematron schema language for
XML;
converts Schematron files to Python scripts
* domtools: set of tools to augment Python DOMs
* saxtools: set of tools to make SAX easier to use in Python

There's a lot in Amara, but here are highlights:

Amara Bindery: XML as easy as py


Based on the retired project Anobind, but updated to use SAX rather than
DOM
to create bindings.  Bindery reads an XML document and returns a data
structure of Python objects corresponding to the vocabulary used in the
XML document, for maximum clarity.

Bindery turns the document

monty
  python spam=eggsWhat do you mean bleh/python
  python ministry=abuseBut I was looking for argument/python
/monty

Into a set of objects such that you can write

binding.monty.python.spam

In order to get the value eggs or

binding.monty.python[1]

In order to get the value But I was looking for argument.

There are other such tools for Python, and what makes Anobind unique is
that it's driven by a very declarative rules-based system for binding
XML to the Python data.  You can register rules that are triggered by
XPattern expressions specialized binding behavior.  It includes XPath
support and is very efficient, using SAX to generate bindings.

Scimitar: exceptional schema language for an exceptional programming
language
-

Merged in from a separate project, Scimitar is an implementation of ISO
Schematron that compiles a Schematron schema into a Python validator
script.

You typically use scimitar in two phases.  Say you have a schematron
schema schema1.stron and you want to validate multiple XML files
against it, instance1.xml, instance2.xml, instance3.xml.

First you run schema1.stron through the scimitar compiler script,
scimitar.py:

scimitar.py schema1.stron

A file, schema1.py is generated and can be used to validate XML
instances:

python schema1.py instance1.xml

Which emits a validation report.

Amara DOM Tools: giving DOM a more Pythonic face


DOM came from the Java world, hardly the most Pythonic API possible.
Some DOM-like implementations such as 4Suite's Domlettes mix in some
Pythonic idiom. Amara DOM Tools goes even further.

Amara DOM Tools features pushdom, similar to xml.dom.pulldom, but
easier to use.  It also includes Python generators-based tools for
DOM processing.  And a function to return an XPath location for
any DOM node.

Amara SAX Tools: SAX without the brain explosion


Tenorsax (amara.saxtools.tenorsax) is a framework for linerarizing SAX
logic
so that it flows more naturally, and needs a lot less state machine
wizardry.

License
---

Amara is open source, provided under the 4Suite variant of the Apache
license.  See the file COPYING for details.

Installation


Amara requires Python 2.3 or more recent and 4Suite 1.0a3 or more
recent.  Make sure these are installed, unpack Amara to a convenient
location and run

python setup.py install


-- 
Uche OgbujiFourthought, Inc.
http://uche.ogbuji.nethttp://4Suite.orghttp://fourthought.com
Use CSS to display XML - 
http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html
Full XML Indexes with Gnosis - http://www.xml.com/pub/a/2004/12/08/py-xml.html
Be humble, not imperial (in design) - 
http://www.adtmag.com/article.asp?id=10286UBL 1.0 - 
http://www-106.ibm.com/developerworks/xml/library/x-think28.html
Use Universal Feed Parser to tame RSS - 
http://www.ibm.com/developerworks/xml/library/x-tipufp.html
Default and error handling in XSLT lookup tables - 
http://www.ibm.com/developerworks/xml/library/x-tiplook.html
A survey of XML standards - 
http://www-106.ibm.com/developerworks/xml/library/x-stand4/
The State of Python-XML in 2004 - 
http://www.xml.com/pub/a/2004/10/13/py-xml.html

-- 
http://mail.python.org/mailman/listinfo/python-announce-list

Support the Python Software Foundation:
http://www.python.org/psf/donations.html