2009-09-28  N. Raghavendra  <raghu@mri.ernet.in>

	* writer.lisp: New file.

	* types.lisp ($xml-text-writer-ptr): New foreign type.
	(text-writer): New type.

	* foreign.lisp ($xml-new-text-writer, $xml-free-text-writer)
	($xml-text-writer-set-indent, $xml-text-writer-start-document)
	($xml-text-writer-start-element)
	($xml-text-writer-start-element-ns)
	($xml-text-writer-write-attribute-ns)
	($xml-text-writer-end-element, $xml-text-writer-write-comment)
	($xml-text-writer-end-document): New foreign functions.

2009-09-22  N. Raghavendra  <raghu@mri.ernet.in>

	* reader.lisp (text-reader-move-to-next-attribute)
	(text-reader-move-to-element, text-reader-empty-element-p)
	(text-reader-local-name, text-reader-namespace-name)
	(text-reader-namespace-declaration-p, text-reader-text): New
	functions.

	* parser.lisp (initialize-catalog, load-catalog): New functions.

	* foreign.lisp ($xml-text-reader-move-to-next-attribute)
	($xml-text-reader-move-to-element)
	($xml-text-reader-is-empty-element)
	($xml-text-reader-const-local-name)
	($xml-text-reader-const-namespace-uri)
	($xml-text-reader-namespace-uri)
	($xml-text-reader-is-namespace-decl)
	($xml-text-reader-const-value, $xml-initialize-catalog)
	($xml-load-catalog): New foreign functions.

2009-09-13  N. Raghavendra  <raghu@mri.ernet.in>

	* types.lisp ($xml-text-reader-ptr, $xml-reader-types): New
	foreign types.
	(text-reader): New type.

	* reader.lisp: New file.

	* libxml-clisp.c: Added `xmlreader.h' to #include.

	* foreign.lisp ($xml-reader-for-file, $xml-text-reader-read)
	($xml-free-text-reader, $xml-text-reader-node-type)
	($xml-text-reader-depth, $xml-text-reader-const-name): New foreign
	functions.

2009-09-03  N. Raghavendra  <raghu@mri.ernet.in>

	* common.lisp (*encoding-names*): New variable.
	(encoding-name): Getting the name of the encoding from
	`*encoding-names*' instead of using `ext:encoding-charset'.

2009-09-02  N. Raghavendra  <raghu@mri.ernet.in>

	Added copyright and license notices to all files.

	* tree.lisp (setf document-element): New setf function.
	(new-document, new-node-in-document): New functions.
	(with-new-document): New macro.

	* string.lisp (address-to-string): Noted that it does not work
	when the encoding is UTF-16.  To be fixed.
	(replace-entities): New function.

	* foreign.lisp ($xml-doc-set-root-element, $xml-new-doc)
	($xml-new-doc-node, $xml-new-doc-raw-node)
	($xml-encode-entities-reentrant): New foreign functions.  Also
	rearranged the contents of the file.

2009-08-30  N. Raghavendra  <raghu@mri.ernet.in>

	* types.lisp ($xml-char-encoding-handler-ptr, $xml-parser-option):
	New foreign types.

	* tree.lisp (append-child-with-text): Made CONTENT and NAMESPACE
	keyword parameter instead of optional ones.
	(document-to-file): Made INDENT a keyword parameter instead of an
	optional one.  Added the ENCODING keyword parameter.  Added a
	check for negative return value (-1), which signals an error.
	(*xml-encoding*): New variable.
	(*$xml-output-write-callback*): Replaced UTF-8 by the default XML
	encoding, `*xml-encoding*'.
	(document-writing-error): New condition.
	(write-document): Added the ENCODING and INDENT keyword
	parameters.  Replaced the call to `$xml-save-file-to' with a
	call to `$xml-save-format-file-to'.
	(attribute-value): New function.

	* string.lisp (address-to-string): Added a check for the case when
	ADDRESS is null.

	* parser.lisp (file-document-address): Removed the function.  It
	is now incorporated into `parse-file'.
	(cleanup-parser): Documentation change.
	(*parser-options*): New special variable..
	(combine-options): New function.
	(parse-file): Added the ENCODING and OPTIONS parameters.  Added
	more documentation.  Incorporated `file-document-address' into the
	body.
	(with-xml-file): Added the ENCODING and OPTIONS parameters.  Added
	more documentation.

	* foreign.lisp ($xml-save-format-file-enc): Replaced
	`$xml-save-format-file' with this.
	($xml-read-file, $xml-get-prop): New foreign functions.
	($xml-xpath-free-object, $xml-xpath-new-context)
	($xml-xpath-free-context, $xml-xpath-eval-expression): Comment
	change.
	($xml-save-format-file-to): Replaced `$xml-save-file-to' with
	this.
	($xml-output-buffer-create-io): Changed the foreign type of the
	ENCODER parameter to `$xml-char-encoding-handler-ptr'.  Added
	documentation string.

	* common.lisp (encoding-name): New function.

2009-08-28  N. Raghavendra  <raghu@mri.ernet.in>

	* xpath.lisp (xpath-expression): Documentation change.

	* tree.lisp (append-child-with-text): Documentation change, and a
	correction in checking nullity of the argument NAME.
	(write-document): Documentation change.  Return-value changed from
	nil to something more meaningful.
	(add-attribute): New function.

	* string.lisp (xml-string): Documentation change.

	* foreign.lisp ($xml-new-prop): New foreign function.

2009-08-26  N. Raghavendra  <raghu@mri.ernet.in>

	* xpath.lisp (xpath-expression, eval-xpath-expression)
	(with-xpath-value): Documentation changes.
	(node-set-map): New function.

	* types.lisp: Documentation changes.
	($xml-output-buffer-ptr, $xml-output-write-callback-function)
	($xml-output-write-callback): New foreign types.

	* tree.lisp (append-child-with-text, document-to-file)
	(write-document): New functions.

	* string.lisp (address-to-string): Made START and END keyword
	parameters instead of optional parameters.
	(xml-string-to-string): Call to `address-to-string' changed due to
	the above change.
	(xml-string): Made the parameter OBJECT an XML String designator
	instead of a string designator.
	(with-xml-string): XML-STRING is freed only if OBJECT is a string
	designator.

	* foreign.lisp ($xml-new-text-child, $xml-node-list-get-string)
	($xml-indent-tree-output, $xml-save-format-file, $xml-save-file-to)
	($xml-output-buffer-create-io): New foreign functions.

	* common.lisp (file-exists-error): New condition.
	(with-xml-output): New macro.

Copyright (C) 2009 N. Raghavendra.  All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the
   distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

$Hg: ChangeLog,v fa97b54d6d45 2009-09-28T18:22:09+05:30 raghu $
