A persistent Repository driver using Berkeley (BSD) database files
Requires pybsddb (http://pybsddb.sourceforge.net/bsddb3.html), which is
the standard bsddb module in Python 2.3 and up. However, even if you are
using Python 2.3 up, it is possible that you won't have a functioning
bsddb at all, or it may be wrapping the db185 Berkeley DB C libraries.
If necessary, update your C libs (db-4.3.27 preferred for compatibility with
Berkeley DB XML). And if possible, upgrade or install pybsddb (this is
mandatory on Python 2.2, if you want this driver to work).
You can determine your pbsddb3 version this way:
Type "help", "copyright", "credits" or "license" for more information.
>>> from bsddb3 import db
>>> db.version()
(4, 3, 27)
This driver can also store XML content in a heirarchy of Berkeley DB XML (2.0.9) Containers
see:
* http://www.sleepycat.com/xmldocs/gsg_xml/cxx/containers.html
* http://www.sleepycat.com/xmldocs/gsg_xml/cxx/xquery.html
* http://www.sleepycat.com/xmldocs/gsg_xml/cxx/examineresults.html
* http://www.sleepycat.com/xmldocs/gsg_xml/cxx/indices.html
Documents are stored as Whole Documents (not individual nodes) unless the
'OneMBDocuments' driver property is set to true (it's false by default).
When the 'DbXml' driver property is 'true', the following containers are setup
XML Databases (containers which key resources by their reposository paths)):
- ftss_metadata_xml.dbxml ('path' --> content) Metadata Documents
- ftss_repo_xml.dbxml ('path' --> content) Repsitory XML Documents
- ftss_user_all.dbxml ('path' --> content) User, non-repository Documents
o used when 'DataStoreContainers' driver property is 'false' (by default)
Repository Documents are:
Servers,Users,Groups,Containers,Document Definitions, RDF Documents,Commands, and Aliases
Non-XML content is stored in the following databases
nonXML Databases (Berkeley DB databases keyed by their repository paths):
- ftss_content.db ('path' --> content)
o stores XML content here as well when 'DbXml' driver property is 'false' (default)
- ftss_cache.db ('path --> cache)
- ftss_session.db ('path' --> session)
- ftss_types.db ('path' -> ResourceType) (an index of resource types)
- ftss_metadata_strings.db ('path' --> metadata document string)
o used when 'DbXml' driver property is 'false' (default)
Copyright 2005 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/
Functions
join(list [,sep]) -> string
Return a string composed of the words in list, with
intervening occurrences of sep. The default separator is a
single space.
(joinfields and join are synonymous)
Recursively remove an entire directory tree. Any errors are ignored
(apart from being reported to stdout if 'verbose' is true).
split(
s,
sep=None,
maxsplit=-1)
split(s [,sep [,maxsplit]]) -> list of strings
Return a list of the words in the string s, using sep as the
delimiter string. If maxsplit is given, splits at no more than
maxsplit places (resulting in at most maxsplit+1 words). If sep
is not specified, any whitespace string is a separator.
(split and splitfields are synonymous)
Fields
The default non-validating reader instance, created from
NonvalidatingReaderBase() with no constructor arguments.
Uses the default InputSource factory. If you need to change it,
reassign the inputSourceFactory attribute, or, preferably, just
create a new NonvalidatingReaderBase instance.
g_rdfResourceTypes = {1: 'http://schemas.4suite.org/4ss#container', 2: 'http://schemas.4suite.org/4ss#alias', 3: 'http://schemas.4suite.org/4ss#rawfile', 4: 'http://schemas.4suite.org/4ss#xmldocument', 5: 'http://schemas.4suite.org/4ss#xsltdocument', 6: 'http://schemas.4suite.org/4ss#schematrondocument', 7: 'http://schemas.4suite.org/4ss#user', 8: 'http://schemas.4suite.org/4ss#group', 9: 'http://schemas.4suite.org/4ss#xpathdocumentdefinition', 11: 'http://schemas.4suite.org/4ss#xsltdocumentdefinition', ...}
g_resourceTypeFromRdf = {'http://schemas.4suite.org/4ss#alias': 2, 'http://schemas.4suite.org/4ss#command': 14, 'http://schemas.4suite.org/4ss#container': 1, 'http://schemas.4suite.org/4ss#documentdefinition': 13, 'http://schemas.4suite.org/4ss#group': 8, 'http://schemas.4suite.org/4ss#meta_data': 16, 'http://schemas.4suite.org/4ss#rawfile': 3, 'http://schemas.4suite.org/4ss#rdfdocument': 12, 'http://schemas.4suite.org/4ss#schematrondocument': 6, 'http://schemas.4suite.org/4ss#server': 15, ...}