2003-11-02  Per Bothner  <per@bothner.com>

	* XMLParser.java (<init>):  Remove unneeded throws specifications.

2003-10-29  Per Bothner  <per@bothner.com>

	* AttributeType.java (isInstance, coerceOrNull):  Handle XName.
	* ElementType.java (isInstance, coerceOrNull):  Handle XName.

2003-10-16  Per Bothner  <per@bothner.com>

	* Nodes.java (getSeq, getPos):  New convenience functions.
	* IntersectNodes.java:  New class, extends Procedure2.
	* Makefile.am:  Update accordingly.

	* UnionNodes.java:  It implements Inlineable.

2003-10-08  Per Bothner  <per@bothner.com>

	* Nodes.java (get):  Fix off-by-one bug.

2003-09-24  Per Bothner  <per@bothner.com>

	* NodeConstructor.java:  New abstract class, extends CpsProcedure.
	* Makefile.am:  Update accordingly.
	* AttributeConstructor.java:  Now extends NodeConstructor.
	(apply):  Update.  (compileToNode):  New, replaces compile method.
	* DocumentConstructor.java:  Likewise.
	* ElementConstructor.java:  Likewise.  Move getReturnType up.
	* TextConstructor.java:  Use two NodeConstructor helper methods.

2003-09-18  Per Bothner  <per@bothner.com>

	* Nodes.java (root):  New static methods.

2003-09-14  Per Bothner  <per@bothner.com>

	* AncestorAxis.java:  New class, extends TreeScanner.
	* AncestorOrSelfAxis.java:  Likewise.
	* FollowingAxis.java:  Likewise.
	* FollowingSiblingAxis.java:  Likewise.
	* PrecedingAxis.java:  Likewise.
	* PrecedingSiblingAxis.java:  Likewise.

	* ChildAxis.java (scan):  Re-write to use nextMatching.
	* DescendantAxis.java (scan):  Likewise.
	* DescendantOrSelfAxis.java (scan):  Likewise.

	* NamedAttributes.java:  Removed - no longer used.
	* NamedChildren.java:  Likewise.
	* NamedDescendants.java:  Likewise.
	* Makefile.am:  Update accordingly.

2003-09-09  Per Bothner  <per@bothner.com>

	* CoerceNodes.java:  New class, extends Procedure1.
	* Nodes.java:  New class, extends Values,
	* Makefile.am (java_sources):  Update accordingly.
	* SortNodes.java (apply1, compile):  Canonicalize result.
	* SortedNodes.java:  Now extends Nodes.
	Many methods are now inherited from Nodes.

2003-09-04  Per Bothner  <per@bothner.com>

	* SortNodes.java (compile):  Fix infinite compile-time recursion.

	* Focus.java (size, contextSize):  Remove unused fields.

	* ParentAxis.java (scan):  Fix thinko.

2003-08-03  Per Bothner  <per@bothner.com>

	* SortedNodes.java (finishFragment):  Move writePosition call to
	startFragment, so consuming won't miss any final values.

	* NodeType.java (ATTRIBUTE_OK):  New constant.
	(isInstance(AbstractSequence,int,int)):  Always false if EOF_VALUE.
	Check ATTRIBUTE_OK if ATTRIBUTE_VALUE.
	* SortNodes.java (numArgs):  Remove redundant method.
	(typeSortedNodes, makeSortedNodesMethod):  Make public.

	* TreeScanner.java:  New class, extends CpsProcedure.
	* AttributeAxis.java:  New class, extends TreeScanner.
	* ChildAxis.java:  New class, extends TreeScanner.
	* DescendantAxis.java:  New class, extends TreeScanner.
	* DescendantOrSelfAxis.java:  New class, extends TreeScanner.
	* ParentAxis.java:  New class, extends TreeScanner.
	* SelfAxis.java:  New class, extends TreeScanner.
	* AttributeType.java:  New class, extends NodeType.
	* Makefile.am (java_sources):  Update accordingly.

2003-08-02  Per Bothner  <per@bothner.com>

	* ElementType.java (getImplementationType):  New method.

	* Document.java (parse):  Create a NodeTree, not a TreeList.

2003-08-01  Per Bothner  <per@bothner.com>

	* UnionNodes.java:  New class, extends Procedure2.
	* Makefile.am (java_sources):  Update accordingly.

2003-07-26  Per Bothner  <per@bothner.com>

	* SortedNodes.java:  New class, extends Values.
	* SortNodes.java:  New class, extends Procedure1.
	* Makefile.am (java_sources):  Update accordingly.

	* ElementConstructor.java (compileUsingNodeTree):  Use new
	ConsumerTarget.compileUsingConsumer helper method.

2003-07-23  Per Bothner  <per@bothner.com>

	* NodeCompare.java:  New class, extends Procedure2.
	* Makefile.am (java_sources):  Update accordingly.

2003-07-10  Per Bothner  <per@bothner.com>

	* ElementConstructor.java (compileUsingNodeTree):  New static method.
	(typeNodeTree):  New static field.
	(compile):  Use compileUsingNodeTree.

2003-06-27  Per Bothner  <per@bothner.com>

	* XMLParser.java (<init>):  Re-do to deal with NamespaceResolver
	being merged into ParsedXMLToConsumer.

	* NodeType.java (isObject(Object)):  New method.
	* ElementType.java (isInstancePos):  If kind is OBJECT_VALUE, try
	isInstance(Object).  Fixes bug 6/17 by reported vizawalou@wanadoo.fr.

2003-06-13  Per Bothner  <per@bothner.com>

	* AttributeConstructor.java (apply):  Use CallContext's getNextArg
	method rather than getArgAsObject, which will be deprecated.
	* DocumentConstructor.java (apply):  Likewise.
	* ElementConstructor.java (apply):  Likewise.
	* TextConstructor.java (apply):  Likewise.

2003-05-21  Per Bothner  <per@bothner.com>

	* NamedAttributes.java (namedAttributes):  Use posToDataIndex.
	Fixes bug reported 05-18 by Seshukumar_Adiraju@infosys.com.

2003-05-04  Per Bothner  <per@bothner.com>

	* ListItems.java:  Handle non-Java2 case.
	* IteratorItems.java:  Handle non-Java2 case.

2003-05-03  Per Bothner  <per@bothner.com>

	* Focus.java.in:  Renemed to ..
	* Focus.java:   and changed to use new JAVA1/JAVA2 switching.
	* Makefile.am:  Update accordingly.

2003-05-02  Per Bothner  <per@bothner.com>

	* XMLParser.java (<init>):  New constructors automatically
	allocate a NamespaceResolver.
	* Document.java (parse):  Use new XMLParser constructor.
	Pass 'header' to SyntaxException constructor.

2003-04-30  Per Bothner  <per@bothner.com>

	* DefineNamespace.java (scanForDefinitions):  Set namespace
	Declaration's type to java.lang.String.

2003-04-14  Per Bothner  <per@bothner.com>

	* DefineNamespace.java (scanForDefinitions):  Use Translator's
	push method instead of pushBinding.

2003-03-04  Per Bothner  <per@bothner.com>

	* DocumentConstructor.java:  New class, extends CpsProcedure.
	* TextConstructor.java:  New class, extends CpsProcedure.
	* NodeName.java:  New class, extends Procedure1.
	* Makefile.am (java_sources):  Add new classes.

2003-03-02  Per Bothner  <per@bothner.com>

	* Document.java (makeUrl):  The 'url' argument can be a URL as well as
	a string, and now also takes a 'base' parameter.
	(parse, apply):  Use new new makeURL.
	(apply):  Implement specification in allowing a sequence of URLs,
	and an optional 'base' second parameter.

2003-02-13  Per Bothner  <per@bothner.com>

	* Document.java (parse):  Call writeBaseUri if a TreeList.

2003-01-09  Per Bothner  <per@bothner.com>

	* Attributes.java:  Update for gnu.lists changes.
	* ElementType.java:  Likewise.
	* NamedAttributes.java:  Likewise.
	* NamedDescendants.java:  Likewise.
	* NodeType.java:  Likewise.
	* NamedChildren.java:  Likewise.
	* NamedChildren.java (namedChildren):  Exit if no more children.
	* ListItems.java (apply):  Optimize - try using consumePosRange.

2002-11-23  Per Bothner  <per@bothner.com>

	* IteratorItems.java:  New class, extends CpsProcedure.
	* ListItems.java:  New class, extends CpsProcedure.
	* Makefile.am (java_sources):  Update accordingly.

2002-11-20  Per Bothner  <bothner@bothner.com>

	* NamespaceEnv.java (get):  Handle "class:" namespaces.

2002-11-16  Per Bothner  <per@bothner.com>

	* NamespaceEnv.java (NAMESPACE_PREFIX):  Moved to Interpreter.
	(get):  Update acordingly.
	* DefineNamespace.java (scanForDefinitions):  Likewise.

	* AttributeConstructor.java, ElementConstructor.java, ElementType.java,
	NamedAttributes.java:  Use gnu.mapping.Symbol instead of gnu.xml.QName.

2002-07-28  Per Bothner  <per@bothner.com>

	* NodeType.java:  Also implement TypeValue.
	(toString):  New method.
	(emitCoerceOrNullMethod, emitTestIf, emitIsInstance):  New methods.
	* ElementType.java (emitTestIf, emitIsInstance):  Moved up to NodeType.
	(emitCoerceOrNullMethod):  New protected method, overrides NodeType.

2002-07-21  Per Bothner  <per@bothner.com>

	* MakeUnescapedData.java (inline):  Take extra ExpWalker parameter.

2002-07-02  Per Bothner  <per@bothner.com>

	* HttpPrinter.java (addHeader):  Use Vector's addElement rather
	than add method, which is not in JDK 1.1.

2002-06-26  Per Bothner  <per@bothner.com>

	* XMLParser.java:  Share buffer with LineBufferedReader.
	(fill):  New method, to synchronize and read from LineBufferedReader.
	(error, getName, getLineNumber, getColumnNjmber):  New methods.

2002-06-24  Per Bothner  <per@bothner.com>

	* XMLParser.java:  New class, extends gnu.xml.XMLParserChar.
	* Makefile.am (java_sources);  Add new file.
	* Document.java (document):  Rename static helper methods to 'parse'.
	Inline ParsedXMLToConsumer.parse, which is now gone.
	Allocate new XMLParser instance.

2002-06-10  Per Bothner  <per@bothner.com>

	* NamedDescendants.java:  Support descdendant-or-self.

	* NodeType.java (coerceOrForce):  Better exception message.

2002-05-19  Per Bothner  <per@bothner.com>

	* ElementType.java (coerceOrNull):  Test coerceOrNull result for null.

2002-05-06  Per Bothner  <per@bothner.com>

	* Focus.java.in:  New class, moved from gnu/xquery/util.
	* Makefile.am (Focus.java):  New rule.

	* NamedChildren.java (namedChildren):  Use TreePosition push/pop.

2002-04-07  Per Bothner  <per@bothner.com>

	* NamedAttributes.java:  Take single QName argument.

	* ElementType.java (coerceOrNull):  Use NodeType's coerceOrNull.
	* NamedDescendants.java:  Accept general NodePredicate rather than
	just a GroupRedpcate.  Should rename class!
	* NamedChildren.java:  Likewise.
	(namedChildren):  Use nextNodeIndex.

	* NodeType.java:  Implement NodePredicate and Externalizable.
	(writeExternal, readExternal):  New methods.
	(TEXT_OK, GROUP_OK):  New constants.
	(kinds):  New field.
	(<init>):  Set kinds field.
	(emitCoerceFromObject):  Also push value of kinds.
	(coerceFromObject):  Cal ceorceForce instead of coerce.
	(isInstance):  New methods.
	(coerceOrNull, ceorceForce):  New methods.
	(coerce):  Remove method.

2002-03-07  Per Bothner  <per@bothner.com>

	* ElementType.java:  New constructor.
	(getNamespaceURI, getLocalName):  New accessor methods.
	(isInstance):  Check that argument triple is actually a group.
	(coerceOrNull):  Likewise.

	* NamedDescendants.java (apply, namedDescendants):  Take a single
	GroupPredicate argument instead of a namespaceURL+localName pair.
	* NamedChildren.java (namedChildren, apply, getNamedChild):  Likewise.
	(getNamedChild):  Use predicate's isInstance method.
	(numArgs):  Takes 2 instead of 3 arguments.
	(compile):  Update accordingly.  Update for new SeriesTarget semantics.
	Can now safely pushScope/popScope.

2002-03-02  Per Bothner  <per@bothner.com>

	* HttpPrinter.java (beginData):  Write out and clear sbuf buffer.
	(writeObject):  If value is Consumable but not UnescapedData (e.g. a
	TreeList containing response-header attributes), consume it.
	(write):  New method.

2002-02-14  Per Bothner  <per@bothner.com>

	* HttpPrinter.java (sawContentType):  Make protected, for used
	by ServletPrinter.

2002-02-13  Per Bothner  <per@bothner.com>

	* ElementConstructor.java (apply): Check if body object is Consumable.

2002-02-05  Per Bothner  <per@bothner.com>

	* NamedChildren.java:  Moved from gnu.xquery.util.
	* NodeType.java  Moved from gnu.xquery.util.
	* ElementType.java  Moved from gnu.xquery.util.
	* NamedDescendants.java:  New class, extends CpsProcedure.
	* Makefile.am:  Update accordingly.

	* NamedChildren.java:  Implement Externalizable.
	(writeExternal, readExternal):  New methods.

	* NamedChildren.java:  Implement GroupPredicate.
	(isInstance):  New methods, needed for GroupPredicate.
	(<init>):  New constructor.

	* package.html:  New file, for javadoc.

2002-01-29  Per Bothner  <per@bothner.com>

	* WriteTo.java (writeTo):  Disambiguate XMLPrinter constructor.

2002-01-23  Per Bothner  <per@bothner.com>

	* HttpPrinter.java (beginData):  New method.
	(beginGroup):  Call beginData.
	(writeObject):  New method, calls beginData.

2002-01-21  Per Bothner  <per@bothner.com>

	* Document.java:  Moved form gnu.xquery.util.
	(document):  Use ParsedXMLToConsumer.parse.  Remove 1 overload.
	* MakeUnescapedData.java: New class, extends Procedure1.
	* Makefile.am:  Update accordingly.

	* Document.java:  Moved from gnu.xquery.util.

2002-01-19  Per Bothner  <per@bothner.com>

	* Write.java:  Moved from gnu.kawa.functions.
	* Makefile.am:  Update accordingly.

2002-01-13  Per Bothner  <per@bothner.com>

	* HttpPrinter.java:  New class, extends FilterConsumer,
	* MakeResponseHeader.java:  new class, extends CpsProcedure.
	* Makefile.am (java_sources):  Update accordingly.

2001-11-24  Jim White <jim@pagesmiths.com>

	* Attributes.java:  Fix/update 'package' declaration.

2001-11-24  Per Bothner  <per@bothner.com>

	* ElementConstructor.java (compile):  Use compileWithPosition.

	* NamespaceEnv.java (get):  Recognize ':name' as no namespace.

2001-11-18  Per Bothner  <per@bothner.com>

	* DefineNamespace.java:  New class, moved and renamed from
	kawa.standard.define_namespace.

2001-11-12  Per Bothner  <per@bothner.com>

	* ElementConstructor.java (compile):  Fix off-by-one error.

	* ElementConstructor.java (getmlName,getQName, getnNmespaceURI,
	getLocalName, getPrefix, toString):  New helper methods.
	* AttributeConstructor.java:  New class, extends CpsProcedure.
	* Makefile.am (java_sources):  Add AttributeConstructor.java.

	* NamespaceEnv.java (NAMESPACE_PREFIX):  New constant.
	(get):  Use NAMESPACE_PREFIX.

2001-11-06  Per Bothner  <per@bothner.com>

	* OutputAsXML.java:  New class, extends CpsProcedure.

2001-11-01  Per Bothner  <per@bothner.com>

	* NamedAttributes.java:  Fixed wrong "package" specifier.  Oops.

2001-10-19  Per Bothner  <per@bothner.com>

	* NamespaceEnv.java:  New class extends Environment.
	* Makefile.am:  Update accordingly.

2001-10-17  Per Bothner  <per@bothner.com>

	New package.  XML-related Procedures and other classes.
	* Attributes.java:  New class, extends CpsProcedure.
	* ElementConstructor.java:  New class, extends CpsProcedure.
	* NamedAttributes.java:  New class, extends CpsProcedure.
	* Makefile.am: New file.
