public inbox for [email protected]
help / color / mirror / Atom feedFrom: Bruce Momjian <[email protected]>
To: [email protected]
Cc: PostgreSQL-development <[email protected]>
Cc: PostgreSQL-documentation <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Subject: Re: New XML section for documentation
Date: Wed, 6 Sep 2006 20:06:08 -0400 (EDT)
Message-ID: <[email protected]> (raw)
I have added a modified version of this to the SGML documentation,
under data types.
---------------------------------------------------------------------------
bruce wrote:
> Here is an new XML section for our SGML documentation. It explains the
> various XML capabilities, if we support them, and how to use them.
>
> Comments?
>
> ---------------------------------------------------------------------------
>
>
> XML Document Support
> ====================
> XML support is not one capability, but a variety of features supported
> by a database. These capabilities include storage, import/export,
> validation, indexing, efficiency of modification, searching,
> transformating, and XML to SQL mapping. PostgreSQL supports some but
> not all of these XML capabilities. Future releases of PostgreSQL will
> continue to improve XML support.
>
> Storage
> -------
> PostgreSQL stores XML documents as ordinary text documents. It does not
> split apart XML documents into its component parts and store each
> element separately. You can use middle-ware solutions to do that, but
> once done, the data becomes relational and has to be processed
> accordingly.
>
> Import/Export
> -------------
> Because XML documents are stored as normal text documents, they can be
> imported/exported with little complexity. A simple TEXT field can hold
> up to 1 gigabyte of text, and large objects are available for larger
> documents.
>
> Validation
> ----------
> /contrib/xml2 has a function called xml_valid() that can be used in
> a CHECK constraint to enforce that a field contains valid XML. It
> does not support validation against a specific XML schema. A
> server-side language with XML capabilities could be used to do
> schema-specific XML checks.
>
> Indexing
> --------
> Because XML documents are stored as text, full-text indexing tool
> /contrib/tsearch2 can be used to index XML documents. Of course, the
> searches are text searches, with no XML awareness, but tsearch2 can be
> used with other XML capabilities to dramatically reduce the amount of
> data processed at the XML level.
>
> Modification
> ------------
> If an UPDATE does not modify an XML field, the XML data is shared
> between the old and new rows. However, if the UPDATE modifies a XML
> field, a full modified copy of the XML field must be created internally.
>
> Searching
> ---------
> XPath searches are implemented using /contrib/xml2. It processes XML
> text documents and returns results based on the requested query.
>
> Transforming
> ------------
> /contrib/xml2 supports XSL transformations.
>
> XML to SQL Mapping
> -------------------
> This involves converting XML data to and from relational structures.
> PostgreSQL has no internal support for such mapping, and relies on
> external tools to do such conversions.
>
> Missing Features
> ----------------
> o XQuery
> o SQL/XML syntax (ISO/IEC 9075-14)
> o XML data type optimized for XML storage
>
> See also http://www.rpbourret.com/xml/XMLAndDatabases.htm
>
> --
> Bruce Momjian [email protected]
> EnterpriseDB http://www.enterprisedb.com
>
> + If your life is a hard drive, Christ can be your backup. +
--
Bruce Momjian [email protected]
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
view thread (30+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: New XML section for documentation
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox