2009-04-20  Atsushi Enomoto  <atsushi@ximian.com>

	* ScriptCompilerInfo.cs, MSXslScriptManager.cs :
	  Cache compiled msxsl:script.
	  Close bug #495918. Patch by Tor Lillqvist.

2008-10-03  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTransformProcessor.cs : reduce BaseIterator dependency.

2008-10-02  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : fix dummy namespace generation. (It might be
	  extraneous change and might be reverted later.)
	* XslTransformProcessor.cs : some EvaluateXxx ()changes that may
	  be enabled later. Reduce BaseIterator dependency.
	* XslFunctions.cs : reduce bad uses of "as" operator.
	* XslKey.cs : Evaluate() result may be null now.

2008-06-03  Atsushi Enomoto  <atsushi@ximian.com>

	* XsltDebuggerWrapper.cs : allow public methods in debugger instance.

2008-01-08  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs, XslStylesheet.cs, Compiler.cs : XSLT 1.0 does not
	  prohibit more than one xsl:key with the same QName, so do not use
	  the name as a 'key' in the table for xsl:key. Fixed bug #351939,
	  patch by Tor Lillqvist.

2007-12-27  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTemplate.cs, XslTransformProcessor.cs :
	  Some disambiguation around whitespace handling (input strip/preserve
	  and output control).
	* XslStylesheet.cs : change GetPreserveWhitespace() to match the
	  actual behavior; it does not (and should not) really walk through
	  ancestors. Default whitespace handling depends on the default ("*")
	  handling. (Those changes should not affect anything.)

2007-10-30  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : added CheckExtraAttributes() to check invalid
	  attributes on stylesheet component elements.
	  Use it in xsl:sort too.

2007-09-21  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : fixed possible conflict for auto-filled
	  attribute prefixes. Fixed bug #325482.

2007-08-21  Atsushi Enomoto  <atsushi@ximian.com>

	* XslFunctions.cs : fix wrong unboxing in extension functions.
	  Fixed bug #82493.

2007-06-28  Atsushi Enomoto  <atsushi@ximian.com>

	initial attempt to hook debuggers.
	* XsltDebuggerWrapper.cs : new.
	* XslTransformProcessor.cs Compiler.cs : use above.

2007-01-09  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs : keep keytables per instance document and do not share
	  them among all.

2006-11-30  Atsushi Enomoto  <atsushi@ximian.com>

	* XslStylesheet.cs, XslTemplate.cs : added XSLT stack frame debug
	  support, based on the patch by Michael Meeks.

2006-04-07  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTransformProcessor.cs : push current node context after iterating
	  template target node. Added another NodesetMoveNext() which takes
	  explicit XPathNodeIterator to iterate and filter whitespaces out.

2006-04-07  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTransformProcessor.cs : in NodesetMoveNext() take
	  XPathContext.PreserveWhitespace() into consideration.

2006-03-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTransformProcessor.cs,
	  Compiler.cs : eliminate ExpressionStore. Now sorting is done
	  inside XslSortEvaluator.
	* XslSortEvaluator.cs : new file. It handles current node in XSLT
	  context. Fixed bug #77781.

2006-03-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTransformProcessor.cs : in PushNodeset() avoid Clone(). It saves
	  extra cost, and might avoid possible bug in for-each and current()
	  evaluation.

2006-02-22  Atsushi Enomoto  <atsushi@ximian.com>

	* ScriptCompilerInfo.cs : mbas unlike vbc references System.dll
	  etc. by default, so don't add them as references.
	  Set only local file name for #ExternalSource. Fixed bug #75789.

2006-01-13  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : When writing string, use WriteWhitespace()
	  instead of WhiteString() when its state is not Content. This fixes
	  BVTs_bvt066 case (broken after implementing strict state check in
	  XmlTextWriter).

2005-12-24  Gert Driesen  <drieseng@users.sourceforge.net>

	* XslOutput.cs: Do not report error for unknown value for "standalone"
	and "omit-xml-declaration" attributes, and extranous attributes if
	stylesheet version is not "1.0".

2005-12-24  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : pass stylesheet version to XslOutput to determine
	  "indent" value validity.
	* XslOutput.cs, HtmlEmitter.cs, GenericOutputter.cs : Reverted
	  buggy changes on "indent" attribute handling.
	  http://www.w3.org/TR/xslt#section-HTML-Output-Method

2005-12-23  Gert Driesen  <drieseng@users.sourceforge.net>

	* XslOutput.cs: Reduced indentation of cases in switch statement.

2005-12-23  Gert Driesen  <drieseng@users.sourceforge.net>

	* ScriptCompilerInfo.cs: Fixed line endings.
	* XslStylesheet.cs: Beautify error messages.
	* Debug.cs: Fixed line endings.
	* XslOutput.cs: Indent is now bool instead of string, use
	MoveToAttribute to navigate through attributes instead of using
	GetAttribute, as we also need to distinguish attributes with 
	zero-length value from attributes that are not specified for
	correct implementation of DOCTYPE. Implemented validation for 
	value of "omit-xml-declaration", "standalone" and "indent".
	We now throw a XsltCompileException for unknown attribute.
	* XmlWriterEmitter.cs: only skip WriteDocType is systemId is null.
	* HtmlEmitter.cs: XslOutput.Indent is now bool. Fixed WriteDocType
	to match MS.NET.
	* XmlDecimalFormat.cs: Beautify error messages.
	* XslTemplate.cs: Beautify error messages.
	* GenericOutputter.cs: XslOutput.Indent is now bool.
	* Compiler.cs: Beautify error messages.

2005-12-21  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTemplate.cs : don't check name and mode attributes on
	  non-'xsl:template' element. This should fix bug #77051.

2005-12-13  Andrew Skiba  <andrews@mainsoft.com>

	* XslDecimalFormat.jvm.cs: set correct defaults for NaN and Infinity

2005-11-30  Atsushi Enomoto  <atsushi@ximian.com>

	* ScriptCompilerInfo.cs : (VBCompilerInfo) There was a space between
	  '#' and 'ExternalResource'. bug #75789 should be fixed.

2005-11-23  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* XslKey.cs: fixed KeyIndexTable.Evaluate method, changed
	XPathNavigator given to GetNodesByValue()

2005-11-17  Atsushi Enomoto  <atsushi@ximian.com>

	* XslCompiledContext.cs : since XsltContextInfo is struct, having
	  an array of this type and setting fields of each struct didn't
	  make sense. It thus blocked expected PreserveWhitespace behavior.

2005-10-24  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : (FromString(s, hashtable)) pull default namespace
	  from the table for LRE (don't consider it as ""; spec. 7.1.2)
	  Fixed bug #76530.

2005-09-16  Atsushi Enomoto  <atsushi@ximian.com>

	* ScriptCompilerInfo.cs : Compile correct replacement result.
	  Fixed bug #76116.

2005-09-10  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : (Compile) check children only when it is the document
	  element. Fixed bug #76046.

2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>

	* ScriptCompilerInfo.cs : It should not be "#line" when the source is
	  not C#. It should fix bug #75789.

2005-08-05  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs : Fixed match pattern in xsl:key to check attribute nodes.
	  To minimize attribute iteration, use Pattern.EvaluatedNodeType.
	  Fixed bug #75709.

2005-07-29  Atsushi Enomoto  <atsushi@ximian.com>

	* XslFunctions.cs : XslTransform recovers from errors on document
	  resolution. Fixed bug #75663.

2005-06-06  Atsushi Enomoto  <atsushi@ximian.com>

	* HtmlEmitter.cs : Boolean attribute values should be omitted, but
	  only for related elements.

2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>

	* MSXslScriptManager.cs : it should ignore compiler warnings. This
	  fixes bug #74859.

2005-04-07  Andrew Skiba  <andrews@mainsoft.com>

	* XslDecimalFormat.jvm.cs : added
 
2005-03-31  Atsushi Enomoto  <atsushi@ximian.com>

	* MSXslScriptManager.cs : added TARGET_JVM switch (that does not
	  support CodeDom). Use Guid.ToString("N").

2005-03-31  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : removed extraneous using_directive.

2005-03-25  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs : the iterator does not require sorting (already sorted).
	  Removed unused code.

2005-03-23  Atsushi Enomoto  <atsushi@ximian.com>

	* XslStylesheet.cs :
	  Variables are stored per stylesheet and added to compiler after
	  all of the contents are processed (handle import precedence).
	  Imports are now processed in prior to other contents (incorrect
	  imports are now rejected). After imports, process includes to 
	  process nested imports. In-process included stylesheets are 
	  temporarily stored in including stylesheet.
	  Handle keys like variables are handled.
	  Added Compile() that is splitted from .ctor().
	* Compiler.cs :
	  Store keys in compiler and compiled stylesheet.
	  Duplicate variables in imports are now overriden as expected.
	* XsltCompiledContext.cs : use CompiledStylesheet.ResolveKey().

2005-03-22  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTransformProcessor.cs : now it looks safe to remove SetContext()
	  from each EvaluateXXX() methods.
	* MsxslScriptManager.cs : not to leave reference to stylesheet
	  navigator, pass current node to Compile().
	* XslCompiledContext.cs : Added GetNavCache() that returns reusable
	  navigator cache for each pattern, to avoid Clone() and not to leave
	  reference to already-done instance navigator.

2005-03-22  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : Now it holds XPath parser and XSLT pattern parser.
	* XslKey.cs : Use XSLT pattern parser for match.
	  UsePattern is now "Use" (it is not a pattern). 
	  Reimplemented Evaluate() to make full use of index table.
	  Added Matches() to handle shorter match evaluation. For const value
	  for key (e.g. key patterns), it could avoid Evaluate().
	* XsltCompiledContext.cs : Added MatchesKey() that just delegates to
	  new KeyIndexTable.Matches().
	* XslFunctions.cs : Added PatternMatches() that just delegates to new
	  XsltCompiledContext.MatchesKey().

2005-03-22  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : commented out warned fields.

2005-03-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs : removed last ListIterator.ctor() argument.
	  Reverted the last commit that changed internal key index change 
	  from ArrayList to Hashtable. Avoid clone in CollectIndex().
	  Sort results in Evaluate() before passing list to ListIterator.
	* XslFunctions.cs : removed last ListIterator.ctor() argument.

2005-03-14  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs,
	  XsltCompiledContext.cs,
	  XslFunctions.cs,
	  XslTransformProcessor.cs : Now dynamic context key index table is 
	  separate from XslKey static context. Added KeyIndexTable class and
	  store it into XsltCompiledContext with hash name-table mapping.
	  Cache map from statically-named key to index table.
	  Use Hashtable for internal key cache instead of ArrayList.

2005-03-14  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs : fixed node iteration on collecting key indices which
	  could have resulted in an infinite loop.

2005-03-14  Atsushi Enomoto  <atsushi@ximian.com>

	* XslDecimalFormat.cs : in some cases it does not throw format
	  exception.

2005-03-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XsltCompiledContext.cs,
	  XslStylesheet.cs : Fixed significant performance loss on whitespace
	  handling.

2005-03-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs : removed unused NeedAbsoluteMatching.
	* XslFunctions.cs : Added Peer (for peer & subtree optimization).
	  Added some missing ToString() overrides.

2005-03-09  Atsushi Enomoto  <atsushi@ximian.com>

	* XslStylesheet.cs, XslCompiledContext.cs : Fixed PreserveWhitespace()
	  to work fine with xsl:*-space attributes as expected.
	* XslTransformProcessor.cs : PreserveWhitespace() in this file is 
	  actually nothing. It should not use XsltContext.PreserveWhitespace()
	  because this method is used to control output, while the referenced
	  method is used to control source document.

2005-03-09  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTemplate.cs : First non-element content were incorrectly ignored.

2005-03-09  Atsushi Enomoto  <atsushi@ximian.com>

	* XslFunctions.cs, Compiler.cs : Eliminated XPathNavigatorNsm class
	  to reduce references to stylesheet XPathNavigator. To accomplish it,
	  IStaticXsltContext does not declare GetNsm() anymore. All xslt
	  function types now directly hold IStaticXsltContext.
	* XslStylesheet.cs : removed "Compiler c" field.
	  Removed unused properties.

2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : When WriteStartElement() requires to add
	  new namespace declaration, _currentNamespaceDecls needs to be set.

2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : for duplicate attribute in an element, no need
	  to keep previous prefix.

2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : Prefix "xml" is only allowed to the fixed XML
	  namespace. Rewrite prefix only when there is non-empty namespace.

2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>

	* XslStylesheet.cs : Now namespace aliases are collected in prior to
	  all other toplevel elements. Removed unused code.

2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : compute attribute prefix only when actual
	  emission. Fixed some cases that namespace output was missing.

2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : no need to use two collections to store
	  pending attributes. Just use ordered ListDictionary.
	  newNamespace.Add(int) causes extraneous boxing.

2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTransformProcessor.cs : renamed TryElementNamespacesOutput() to
	  OutputLiteralNamespaceUriNodes() so that everyone can understand
	  what it means and when it should be invoked.

2005-03-04  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : added another CompileTemplateContent() which is
	  requred in xsl:for-each. Commented out unused method.

2005-03-03  Atsushi Enomoto  <atsushi@ximian.com>

	* XslStylesheet.cs, XslTransformProcessor.cs : exclude-element-prefix
	  in stylesheet should be considered in TryElementNamespacesOutput().
	  ParseQNameListAttribute() is not properly working for filling
	  namespaces.

2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>

	* XslStylesheet.cs : included stylesheet could be literal result 
	  element as stylesheet (see the spec 2.6.1).

2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : On WriteStartElement(), prefix should be an
	  empty string when nsURI is empty.
	* HtmlEmitter.cs : non-HTML elements in default namespace are treated
	  unlike xml but like span, as written in the spec 16.2.

2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>

	* XslCompiledContext.cs, XslTransformProcessor.cs :
	  According to errata E25, those namespaces 1) that has the same
	  name as current element's prefix, or an empty name when current
	  element's namespace URI is empty, are not written to output.
	  So added current element information to XPathContext and added
	  prefix parameter to PushElementState(), added xsl:copy check to
	  TryElementNamespacesOutput().
	  http://www.w3.org/1999/11/REC-xslt-19991116-errata/

2005-02-26  Atsushi Enomoto <atsushi@ximian.com>

	* XslFunctions.cs : unparsed-entity-uri() should return SYSTEM ID
	  instead of BaseURI.

2005-02-25  Atsushi Enomoto <atsushi@ximian.com>

	* XslTemplate.cs : According to the spec 5.7, it is an error for 
	  xsl:template to have 'mode' without 'match'.

2005-02-24  Atsushi Enomoto <atsushi@ximian.com>

	* Compiler.cs : added ns lookup with nsDecls Hashtable.

2005-02-24  Atsushi Enomoto <atsushi@ximian.com>

	* XslStylesheet.cs : It should consider "#default" in namespace-alias.

2005-02-23  Atsushi Enomoto <atsushi@ximian.com>

	* GenericOutputter.cs : It should not attempt to write prefix "xml" and
	  namespace "http://www.w3.org/XML/1998/namespace".

2005-02-21  Atsushi Enomoto <atsushi@ximian.com>

	* XmlWriterEmitter.cs : PI nodes are normalized as to not contain "?>".
	* HtmlEmitter.cs : CDATA nodes are written just as text.
	* GenericOutputter.cs : custom format are treated just as XML output.

2005-02-17  Atsushi Enomoto <atsushi@ximian.com>

	* Outputter.cs,
	  TextOutputter.cs,
	  GenericOutputter.cs : removed WriteStartDocument(), WriteEndDocument()
	  and WriteState. Writing XML declaration is done inside
	  DetermineOutputMethod().

2005-02-17  Atsushi Enomoto <atsushi@ximian.com>

	* Compiler.cs : reverted previous fix, since it should be done
	  in XslTransformProcessor with root stylesheet.
	* XslTransformProcessor.cs : In TryElementNamespacesOutput(),
	  don't output alias namespaces. And now consider null exclusions.

2005-02-17  Atsushi Enomoto <atsushi@ximian.com>

	* Compiler.cs : don't return alias namespaces in GetNamespacesToCopy().

2005-02-16  Atsushi Enomoto <atsushi@ximian.com>

	* Compiler.cs : GetNamespacesToCopy() should also find for non-local
	  namespace nodes. Patch by Andrew Skiba with some fixes.
	* XslTransformProcessor.cs : Patch by Andrew Skiba.
	  TryStylesheetNamespaceOutput() is now TryElementNamespacesOutput()
	  as to handle all namespace nodes to copy in stylesheet nodes.
	  Global parameterss are evaluated before global variables. 
	* XmlOutputter.cs : removed unused code.

	Pending items:

	* Actually variables and params should check reference recursion.
	    This patch incompletely fixes the problem.
	* Those operations that considers excluded-result-prefixes must
	  also check those attributes of its ancestors.

2005-02-10  Atsushi Enomoto <atsushi@ximian.com>

	* XmlWriterEmitter.cs : String.Replace() was insufficient for
	  sequential candidates for replacement. Patch by Andrew Skiba.

2005-02-10  Atsushi Enomoto <atsushi@ximian.com>

	* GenericOutputter.cs : don't output extraneous xml declaration.
	  fix by Andrew Skiba.

2005-02-09  Atsushi Enomoto <atsushi@ximian.com>

	* XslStylesheet.cs : MS implementation had chosen to recover from 
	  the error, in the way specified in the spec 7.7.1. Patch by Andrew
	  Skiba.

2005-02-08  Atsushi Enomoto <atsushi@ximian.com>

	* XslTemplate.cs : if input is literal result element, it could result
	  in ArgumentException. Patch by Andrew Skiba.

2005-02-08  Atsushi Enomoto <atsushi@ximian.com>

	* XslFunctions.cs : Fixed unparsed-entity-uri() that might result in
	  NullReferenceException. Patch by Andrew Skiba.

2005-02-08  Atsushi Enomoto <atsushi@ximian.com>

	* XslOutput.cs : MS.NET recovers from unknown encoding according to
	  XSLT spec 16.1. Patch by Andrew Skiba.

2005-02-08  Atsushi Enomoto <atsushi@ximian.com>

	* HtmlEmitter.cs : patch by Andrew Skiba.
	  Remove extra element prefix output. simplify attribute prefix output.
	  Attribute output might have resulted in invalid element stack peek.
	  Output specified media type if any.

2005-02-08  Atsushi Enomoto <atsushi@ximian.com>

	* Compiler.cs : Patch by Andrew Skiba.
	  wrap internal exception with XsltCompileException.
	  Raise an error for not-found document URI.
	  QName might contain sequential whitespaces and thus could be empty.

2005-02-08  Atsushi Enomoto <atsushi@ximian.com>

	* XslAttributeSet.cs : just ignore other kind of nodes than element
	  in its content. Fix by Andrew Skiba.

2005-02-08  Atsushi Enomoto <atsushi@ximian.com>

	* XslOutput.cs : for html and text output mode, just set internal
	  omitXmlDeclaration status true. Patch by Andrew Skiba.

2005-02-08  Atsushi Enomoto <atsushi@ximian.com>

	* XslFunctions.cs : fixed line ending mixture.

2005-02-03  Atsushi Enomoto <atsushi@ximian.com>

	* ScriptCompilerInfo.cs : XsltCompileException->XsltException, just
	  to make test pass.

2004-12-22  Atsushi Enomoto <atsushi@ximian.com>

	* XslFunction.cs,
	  Compiler.cs : XmlResolver.ResolveUri() may return null.

2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : XPathNavigatorNsm needed more love. Clone() does not
	  make sense here.

2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : don't create XPathNavigatorNsm for every GetNsm() call.

2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs, XslStylesheet.cs, MSXslScriptManager.cs :
	  warning elimination.

2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>

	* XslStylesheet.cs : removed unused fields.
	* XslOutput.cs : removed members for XSLT 2.0 (won't be implemented in
	  this class).

2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs, XslTransformProcessor.cs :
	  when creating XmlTextReader, reuse XmlNameTable.

2004-11-05  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : Changes that reflects CompiledExpression changes.

2004-10-04  Atsushi Enomoto  <atsushi@ximian.com>

	* HtmlEmitter.cs : TH tag is not regarded as HTML tag.
	  This fixes bug #67390.

Thu Sep 9 07:09:11 PDT 2004 Paolo Molaro <lupus@ximian.com>

	* ScriptCompilerInfo.cs: avoid using a .cctor and fix precomp.

2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>

	* Debug.cs, HtmlEmitter.cs, MSXslScriptManager.cs,
	  ScriptCompilerInfo.cs, XslFunctions.cs, XslTemplate.cs
	  : Globalization. Removed unused code.

2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>

	* XslKey.cs : Key-value search in absolute path search was 
	  insufficient.

2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>

	* HtmlEmitter.cs : Correct URL escape implementation.

2004-06-06  Atsushi Enomoto  <atsushi@ximian.com>

	* XslTransformProcessor.cs : On document() function, close the 
	  XmlTextReader opened from uri string.

2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs,
	  GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
	  atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that 
	  should override another overload.

2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>

	* ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
	  assembly should not include the .dll extension.

2004-05-20  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs :
	  - CompilePattern() now throws XsltCompileException for invalid
	    pattern, and add error location support.
	  - In Compiler.TryGetFunction(), compare namespace URI, not prefix.
	    Now it returns MSXslNodeSet instance (for msxsl:node-set).
	* Debug.cs : don't throw System.Exception.
	* XslFunctions.cs : Added MSXslNodeSet class.
	* XslTemplate.cs : reflected CompilePattern() change.
	* XslTransformProcessor.cs : don't throw System.Exception.
	* XsltCompiledContext.cs : don't throw System.Exception.

2004-05-12  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlOutputter.cs,
	  XslOutput.cs,
	  XslStylesheet.cs : made classes/enums internal.

2004-04-24  Atsushi Enomoto  <atsushi@ximian.com>

	* Attribute.cs, Compiler.cs, Debug.cs, Emitter.cs, 
	  MSXslScriptCompiler.cs, Outputter.cs, XslAttributeSet.cs,
	  XslDecimalFormat.cs, XslKey.cs, XslStylesheet.cs, XslTemplate.cs,
	  XslTransformProcessor.cs : Make extra classes internal.

	* XslKey.cs : It should require sorting.
	* Debug.cs : Just avoid debug output. Only who want to output should
	  turn it on.

2004-04-24  Atsushi Enomoto  <atsushi@ximian.com>

	* GenericOutputter.cs : Culture-independency fix. 
	  Replaced StringCollection to ArrayList.
	* XslOutput.cs : Culture-independency fix.

2004-04-12  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : When BaseURI is an empty string, it should not try to
	  create Uri instance. This will fix bug #56832, but not sure.
	* XslFunctions.cs : for XsltDocument.Resolve(), did the same.
	* HtmlEmitter.cs : Environment.NewLine was incorrectly used (it 
	  should be the TextReader's NewLine).
	* MSXslScriptManager.cs : Should raise an error when the prefix which
	  was specified by "implements-prefix" was not found.

2004-03-27  Atsushi Enomoto  <atsushi@ximian.com>

	* ScriptCompilerInfo.cs : #line directive now holds dummy filename
	  when BaseURI for msxsl:script node is not available. This fixes
	  bug #56070.
	  Don't output line number in the error message, when it is 0.

2004-03-27  Atsushi Enomoto  <atsushi@ximian.com>

	* Compiler.cs : Supply NameTable to base ctor() of XPathNavigatorNsm.

2004-03-22 Atsushi Enomoto <atsushi@ximian.com>

	* Compiler.cs, 
	  XslAttributeSet.cs,
	  XslFunctions,
	  XslTransformProcessor.cs :
	  Throw specific types of exceptions instead of Exception.
	* XslFunctions.cs, XsltCompiledContext.cs :
	  added node argument for XsltExtensionFunction ctor() etc.

2004-03-22 Atsushi Enomoto <atsushi@ximian.com>

	* ScriptCompilerInfo.cs : Modified compilation processing. Now it uses
	  CodeDom. Compilation error should be caught. This fixes bug #55875.

2004-03-13 Atsushi Enomoto <atsushi@ximian.com>

	* XslStylesheet.cs : "version" attribute is also required for embedded
	  stylesheet.

2004-03-13 Atsushi Enomoto <atsushi@ximian.com>

	* Compiler.cs,
	  XslStylesheet.cs : Reject xsl element other than stylesheet and
	  transform. Check mandatory version attribute (only for existence).

2004-03-07 Atsushi Enomoto <atsushi@ximian.com>

	* MSXslScriptManager.cs : if extension namespace was not found in
	  the script, just return null. Patch by Joshua Tauberer.

2004-03-01 Atsushi Enomoto <atsushi@ximian.com>

	* XslLiteralElement.cs : quick fix for ArgumentNullException which
	  was because of the combination of non-namespaced instances and
	  exclude-result-prefixes.

2004-02-17 Atsushi Enomoto <atsushi@ximian.com>

	* XsltCompiledContext.cs : Extracted XslFunctions and changed namespace
	  from Mono.Xml.Xsl.Functions to Mono.Xml.Xsl.
	* XslFunctions.cs : hereby Added.
	* Compiler.cs : Removed deleted usingdecl.

2004-02-16 Atsushi Enomoto <atsushi@ximian.com>

	* XslTransformProcessor.cs : Bugfix. Stored keys should be cleared.
	* XslKey.cs : Added ExprKeyContainer expression type, which is 
	  designed to be matched at any level.
	* Compiler.cs : support for ExprKeyContainer.

2004-02-16 Atsushi Enomoto <atsushi@ximian.com>

	* XslKey.cs : Now it collects key and matching nodes at the first
	  evaluation time. After that, we can just get them from the table.
	* Compiler.cs : Added KeyCompilationMode. It is used to prevent
	  prohibited key() usage in "match" and "use" attributes in xsl:key.
	  Modified accessibility of some classes.
	* GenericOutputter.cs,
	  HtmlEmitter.cs,
	  TextEmitter.cs,
	  TextOutputter.cs,
	  XmlWriterEmitter.cs : made classes internal.
	* XslOutput.cs : support line info for exception.
	* XsltCompiledContext.cs : implemented CompareDocument() - so easily.

2004-02-13 Atsushi Enomoto <atsushi@ximian.com>

	* XsltCompiledContext.cs : fixed the length of context info array.

2004-02-10 Atsushi Enomoto <atsushi@ximian.com>

	* XsltCompiledContext.cs :
	  replaced EnumeratorIterator with ListIterator

2004-02-08 Atsushi Enomoto <atsushi@ximian.com>

	* GenericOutputter.cs,
	  XslAttributeSet.cs,
	  XslStylesheet.cs,
	  XslTemplate.cs : tiny foreach elimination.

2004-01-16 Atsushi Enomoto <atsushi@ximian.com>

	* XslOutput.cs : Reverted. default encoding should be utf-8.

2004-01-14  Jackson Harper <jackson@ximian.com>

	* GenericOutputter.cs: Add constructors that do not take an
	encoding to fix build.
	
2004-01-14 Atsushi Enomoto <atsushi@ximian.com>

	* XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
	  write XML declaration. It means that output supports non document
	  entity. This fixes bug #52729.
	* Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
	  modified WriteStartDocument() signature to receive Encoding.
	* GenericOutputter.cs : 
	  - Added .ctor() which receives Encoding. (It is used for TextWriter 
	    output to get actual encoding.)
	  - Added .ctor() to take an boolean argument which indicates it is
	    variable content or not. (When variable, it does not call 
	    WriteStartDocument().)
	* XslKey.cs,
	  XsltCompiledContext.cs : comment out WriteLine().
	* XslOutput.cs : set default encoding utf-16.

2004-01-08  Nick Drochak <ndrochak@ieee.org>

	* XsltCompiledContext.cs: Remove unused variable and unreachable code.

2003-12-26 Atsushi Enomoto <atsushi@ximian.com>

	* XslDecimalFormat.cs : implemented format-number() other than number
	  grouping.
	* XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
	  catch ArgumentException which will be thrown by formatting process.

2003-12-23 Atsushi Enomoto <atsushi@ximian.com>

	* ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.

2003-12-20 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XsltCompiledContext.cs: Remove workaround now that monodoc
	is fixed.

2003-12-20 Atsushi Enomoto <atsushi@ximian.com>

	* XslStylesheet.cs : considering xsl:imports, we can't handle namespace
	  aliases at compilation time, so evaluate at the first run-time.

2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* GenericOutputter.cs : support for runtime-determined output type.
	* HtmlEmitter.cs : Fixed invalid doctype output.
	  Fixed incorrect double attribute output on non-HTML elements.
	  Improved indentation. Fixed "selected" attribute output.
	  Don't have to convert "'" to "&apos;".
	* XmlWriterEmitter.cs : Now don't output incorrect doctype.
	  Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
	* XslStylesheet.cs, XsltCompiledContext.cs :
	  space resolution consideration for import and wildcard.

2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs, XslTransformProcessor.cs :
	  Use XmlValidatingReader to support id() for external stylesheets.
	* XslKey.cs, XsltCompiledContext.cs :
	  to evaluate MatchPattern and UsePattern, SetContext() is required.
	* XslTemplate.cs : Forgot to commit. Change is below(12/16).

2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
	  Added WriteWhitespace().
	* GenericOutputter.cs, XslTemplate.cs : Call above.
	* XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
	  CurrentNode in for-each context have to be pulled at evaluation.

2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* XsltCompiledContext.cs : Temporarily allow incorrectly resolved
	  function for bugzilla #52144. It should be reverted soon.

2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not 
	  implemented yet.
	* MSMslScriptManager.cs : modified generated assembly class to be unique
	  through running AppDomain.
	* XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
	  arguments to actual argument types. Bugzilla #51450 should be fixed.

2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* HtmlEmitter.cs : Fixed incorrect character entity output.

2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Added ScriptCompilerInfo.cs.
	* MSXslScriptManager.cs : Fixed *true* author's name.
	  Implemented basic msxsl:script support.
	* Compiler.cs : Added Evidence member.

2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs : Check stylesheet recursion. Check decimal-format name.
	* GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
	  Added WriteWhitespace() to assure not writing whitespaces as cdata.
	* XslAttributeSet.cs : Error check if attribute-set contains other than
	  xsl:attribute.  Error should be XsltException.
	* XslDecimalFormat.cs : Complete equality check.  Allow just one
	  character value for some attributes.
	* XslStylesheet.cs : Made whitespace control setting overridable.
	  Added Version property (for the future compatibility mode).
	  Check unrecongnized top level element.
	* XslTemplate.cs : Check priority as a number.
	* XslTransformProcessor.cs : PushCDataState is now PushElementState, 
	  for xsl:preserve-space and xsl:strip-space support.
	* XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
	  incomplete), PushScope and Pop

2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* HtmlEmitter.cs : CloseStartElement is needed almost everywhere.

2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs : In FromListString(), it should use default ns,
	  not unqualified one.
	* GenericOutputter.cs : CheckState() - attribute's Prefix should take
	  precedence.  Doctype should be written even if SYSTEM id is absent.
	  Fixed possible multiple xmlns output.
	* HtmlEmitter.cs :
	  - Encoding output using META element.
	  - Doctype name is fixed (html).
	  - Double quotation on PUBLIC and SYSTEM missing.
	  - Fixed incorrect tag name check for IMG.
	  - '>' should not be escaped.
	* XmlWriterEmitter.cs :
	  Added newline before doctype.  In WriteComment(), "--" and tail
	  '-' are not allowed (it escapes, while XmlWriter simply rejects).
	* XslTransformProcessor.cs : cdata-section-elements should enclose
	  direct child tests only.   Added PreserveWhitespace() (incomplete).
	* XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).

2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* IdPattern.cs : This should work against multiple ids.

2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs
	* MSXslScriptManager.cs
	* XslStylesheet.cs
	* XslTransformProcessor.cs
	* XsltCompiledContext.cs: Some work on msxsl script.

2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	(in general: cdata-section-elements support, correct document() 
	base uri handling, and so on)
	* Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
	  And move to document element.  Added XslNameUtil.FromListString().
	* Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
	  Added WriteCDataSection().
	* Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
	  Added InsideCDataSection.
	* GenericOutputter.cs :
	  In .ctor(), WriteState should be succeeded from output XmlWriter.
	  WriteNamespaceDecl() now drops declaration identical to existing one.
	  Removed obsolete htmlEmulation.
	* XslOutput.cs : Added CDataSectionElements support.
	* XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
	* XslTransformProcessor.cs :
	  Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
	  now considers xsl:exclude-element-prefixes on literal element.
	  Added PushCDataState() and PopCDataState().
	* XsltCompiledContext.cs : When base uri of document() target is empty,
	  then it should use stylesheet's BaseURI, not that of current document.

2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs : Modified decimal-format comparison code.
	* Outputter.cs,
	  TextOutputter.cs,
	  GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
	  be called only when required. 
	* HtmlEmitter.cs : Improved indentation stuff.
	* XslDecimalFormat.cs : Added incomplete implementation of 
	  CheckSameAs() and FormatNumber().
	* XslStylesheet.cs,
	  XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
	  from StringDictionary to ArrayList of QName (to keep order).

2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
	  node type (i.e. attribute and namespace). Removed extraneous Clone().
	  Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.

2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs : Changed Keys from ArrayList to Hashtable.
	  XslStylesheet.cs : Added Keys support here.
	* XslTransformProcessor.cs : Should call SetContext() to expressions
	  before evaluating current nodes.
	* XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
	  xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
	  for KeyPattern. It now uses CompiledStyle.FindKeys().

2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* GenericOutputter.cs : Added HTML output support. Closer xmlns handling
	  to Xalan tests and MS.NET implementation (only for test convenience).
	* XslOutput.cs : Indent holds string rathen than bool. Its default value
	  varies in the context. When method="html", then default is "yes".
	* XslTransformProcessor.cs : Extension element prefixes should not 
	  be written as stylesheet namespaces.
	* XsltCompiledContext.cs : Return type of generate-id() is string.
	  Implemented unparsed-entity-uri().

2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs : More complete attribute set gathering.
	  GetNamespacesToCopy() should only return Local namespaces.
	* GenericOutputter.cs : Added support for indentation.
	  Added easy hack for html output.
	  More correct Prefix handling (considers already defined ones).
	  Namespace emmission is moved to CheckState().
	* Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
	  Added WriteFullEndElement(). (i.e. IsEmptyElement support)
	* GenericOutputter.cs, Outputter.cs :
	  Added CanProcessAttributes property for 
	  use-attribute-sets of xsl:copy.
	* XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
	  Added support for exclude-result-prefixes.
	* XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.

2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs : It is not important, but attribute order became closer
	  to MS.NET and Xalan (assuming from OASIS tests).

2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* GenericOutputter.cs : Attribute wasn't overwritten its properties
	  because Attribute is struct it was let to another local variable.

2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>

	* GenericOutputter.cs: make html output a warning, because doing
	xml will be right most of the time.

2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
	here for a long time and it hurts thread safty and memory
	allocation.

2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: save the parser (will reduce memory allocation when
	Jackson's jay patch is committed).

2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Attribute.cs: Change to struct. Remove QName class.
	* GenericOutputter.cs: use an Attribute [] rather than an
	ArrayList. Allows us not to allocate Attributes, which is great
	for speed. Roll our own allocation.

2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: add GetNsm to main class as well.

2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs (ParseAvtAttribute): Get the attribue using our
	internal version so we get null if the attr doesnt exist.

2003-09-17 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
	where curVarScope == null

2003-09-16 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: 
	- Better handling of empty attributes (vs not being specified)
	- Bug in handling #default
	
2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: Off by one when parsing localname of QName 
	* XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
	children (so that they get overriden)

2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>

	* GenericOutputter.cs: Output attributes in order recieved; not
	required by spec, but useful for running test cases.

2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>

	* GenericOutputter.cs - fix bug with outputting state.
	* Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs, 
	* TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.	

2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
	exprs on use, pass to nav.

2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: pass satic context to Pattern ctor.

2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>

	* New files: 
	GenericOutputter.cs - generic Outputter implementation,
	Attribute.cs - represents outputted attribute,
	Emitter.cs - abstract output emitter,
	TextEmitter.cs - text emitter,
	XmlWriterEmitter.cs - emitter to XmlWriter.
	* Checking of duplicating attributes is done in GenericOutputter.
	* Namespace outputting logic is implemented in GenericOutputter.
	* Outputter.cs: Writing namespace declarations is delegated to 
	derived classes (GenericOutputter).
	* XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).			
	 
2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XslTransformProcessor.cs: evaluate variables at beginning
	when / is current node.

2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
	Fix up namespace handeling

2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
	format-number.
	* XslDecimalFormat.cs: Stub for decimal-format.

2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>

	* TextOutputter.cs: Add option to ignore element content (Oleg).

2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: Really give null for blank avt's

2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: Fixed lre/lre04.

2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
	  won't have default namespace. See http://www.w3.org/TR/xslt#qname

2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XslTransformProcessor.cs: add support for resolving documents.
	* XsltCompiledContext: add support for document () function.

2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
	of the abstract methods in Outputter, making them call other
	functions with default values, remove impl's in derived classes.

2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Outputter.cs: s/Close/Done
	* TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
	* XslTransformProcessor.cs: Flush output when popping, pop at end.

2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Outputter.cs: Add support for namespaces.

2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs, XslOutput.cs, XslStylesheet.cs,
	XslTransformProcessor.cs: move output logic from XslStylesheet to
	Compiler.

2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XslOutput.cs: add support for encoding.

2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>

	* *.cs: Support for xsl:output. (Oleg)

2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: handle extension and excluded namespaces.

2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
	from the stylesheet for correct namespace resolution.

2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>

	* Compiler.cs : 1) Changed public .ctor() to receive Evidence argument 
	  introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.

2003-08-07 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XslTransformProcessor.cs: Add a table to detect when an object
	is busy.
	* XslAttributeSet.cs: Use the above table. Dont throw nullref
	exception when no use-attribute-sets are specified.

2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: Add support for boolean attributes (yes/no).

2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: Add method LocalNameOf, to get the local name of a
	string.
	* XslTransformProcessor.cs: Support for setting the XmlResolver.

2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs, XslAttributeSet.cs: Handle attribute set merging

2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XslTransformProcessor.cs: Add EvaluateNumber method.

2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XsltCompiledContext.cs: Implement more functions.

2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: Add support for key, utility function to parse
	QName's from the XsltContext. Store keys in the CompiledStyle, not
	in the Stylesheet.
	* XslKey.cs: Real implementation
	* XslStylesheet.cs: Move the keys to CompiledStyle.
	* XsltCompiledContext.cs: Implement the key function

2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
	the functions ;-). Also wrote current ().

2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XsltCompiledContext.cs: Remove excess conversion stuff. It is
	done in XPath. Add stubs for XSLT functions.

2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs: To resolve a variable you now need to pass the
	processor, so that it can be passed to IsEvaluated. A local will
	only be resolved if it has already been evaluated.
	* XsltCompiledContext.cs: Pass along the processor.
	
2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
	variable values in the XslTransformProcessor.
	* XsltCompiledContext.cs: If the scope is null, don't look there!
	* Debug.cs: New method Assert

2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
	* XslTransformProcessor.cs: Use strongtyped evaluation, using new
	internal methods in XPathNavigator. Remove verbose debugging messages.

2003-07-29 Ben Maurer  <bmaurer@users.sourceforge.net>

	* Initial Checkin

