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

	* XslForEach.cs : disabled an intelligent optimization for dotnet
	  compatibility bug, #487065.

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

	* XslVariable.cs : now XPathNodeIterator.Current is always null at
	  position 0, so reduced dependency on it.
	* XslCopy.cs : now CurrentNode property cannot be moved, so copy it
	  to a local variable.

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

	* XslVariable.cs : In XslGeneralVariable.Evaluate(), always wrap
	  custom XPathNodeIterator with XsltContext so that the iterator
	  can resolve variables. Fixed bug #316238.

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

	* XslCopyOf.cs : when the evaluated argument was RTF (it could happen
	  when variable or extensions are used), copy the node itself, not
	  only its children. Fixed bug #322551.

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

	* XslValueOf.cs : allow external elements in xsl:value-of.
	  Fixed bug #348786.

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

	* XslMessage.cs, XslText.cs, XslVariable.cs, XslNumber.cs,
	  XslElement.cs, XslIf.cs, XslFallback.cs, XslCopyOf.cs,
	  XslValueOf.cs, XslComment.cs, XslAttribute.cs, XslApplyImports.cs,
	  XslApplyTemplates.cs, XslForEach.cs, XslCallTemplate.cs,
	  XslCopy.cs, XslProcessingInstruction.cs, XslChoose.cs:
	  refactory on checking invalid attributes. Fixed bug #333806.

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

	* XslCallTemplate.cs : significant whitespace should be allowed
	  as its content. Fixed bug #82357.

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

	* XslText.cs XslMessage.cs XslVariable.cs XslNotSupportedOperation.cs
	  XslNumber.cs XslElement.cs XslIf.cs XslCopyOf.cs XslFallback.cs
	  XslValueOf.cs XslComment.cs XslAttribute.cs XslApplyImports.cs
	  XslApplyTemplates.cs XslLiteralElement.cs XslCompiledElement.cs
	  XslTemplateContent.cs XslForEach.cs XslCallTemplate.cs
	  XslCopy.cs XslProcessingInstruction.cs XslChoose.cs :
	  minimum required injection for debugger.

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

	* XslMessage.cs : added MONO_XSLT_MESSAGE_OUTPUT environment
	  variable support to switch xsl:message output ('none' and 'stderr',
	  or stdout by default).

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

	* XslForEach.cs : push current node context after iterating "selected"
	  node-set.

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

	* XslApplyTemplates.cs, XslSort.cs : use new XslSortEvaluator.cs
	  instead of XPathExpression.AddSort() to handle XSLT current node
	  context correctly.

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

	* XslVariable.cs: Beautify error messages.
	* XslElement.cs: Same.
	* XslAvt.cs: Same.
	* XslAttribute.cs: Same.
	* XslApplyTemplates.cs: Same.
	* XslTemplateContent.cs: Same.
	* XslCallTemplate.cs: Same.
	* XslCopy.cs: Same.
	* XslChoose.cs: Same.

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

	* XslVariable.cs : removed last ListIterator.ctor() argument.

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

	* XslText.cs : whitespace nodes should be written at any time, once
	  they constructed this instance.

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

	* XslVariable.cs : clone stored XPathNavigator items before storing.
	* XslAttribute.cs : tiny code reduction.

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

	* XslAttribute.cs : In Evaluate(), name strings are not computed as
	  expected especially when they are bound to non-empty namespace.

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

	* XslLiteralElement.cs : literal attributes should also consider
	  namespace aliases.

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

	* XslAttribute.cs,
	  XslLiteralElement.cs :
	  Now namespace aliases are collected in prior to template
	  evaluation, so compute expected prefix at compile time.

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

	* XslLiteralElement.cs : renamed TryElementNamespacesOutput() to
	  OutputLiteralNamespaceUriNodes() so that everyone can understand
	  what it means and when it should be invoked.
	* XslCopy.cs : So for example literal namespace URIs should not be
	  copied here ;-)

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

	* XslTemplateContent.cs : inside template, fallback is ignored.

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

	* XslNotSupportedOperation.cs : Added xsl:fallback support.

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

	* XslNotSupportedOperation.cs : added not-supported template content 
	  type. Such elements should be rejected only run-time (since there
	  could be future-version-only template content).
	* XslCompiledElement.cs : added XslCompiledElementBase type, for
	  not invoking Compile() in base .ctor() (in some types this design
	  forces us to add extraneous protected fields to the base type).
	* XslTemplateContent.cs : added "sort" element check (except for
	  xsl:for-each, it should be skipped).

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

	* XslElement.cs : reject incorrectly qualified name attribute.

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

	* XslElement.cs : name should be splitted regardless of "namespace"
	  attribute existence. Removed XPathNavigatorNsm dependency.

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

	* XslElement.cs : We throw exception when element name is resolved as
	  invalid cname, so it should not ignore such name like ":foo".
	  Fixed ambiguous error message. Removed unused code.

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

	* XslElement.cs, XslCopyOf.cs, XslLiteralElement.cs, XslCopy.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-24  Atsushi Enomoto  <atsushi@ximian.com>

	* XslAttribute.cs : reduced reference to stylesheet XPathNavigator by
	  keeping nsDecls.

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

	* XslNumber.cs : Fixed incorrect 0 padding for 1) unsupported (and thus
	  default '1') pattern and 2) suffixed pattern with non-number char(s).

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

	* XslCopy.cs, XslCopyOf.cs : copy namespace nodes in the 
	  transformation input == not limited to "local" namespace nodes.

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

	* XslNumber.cs : maybe I had better explain why I needed own Round().

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

	* XslNumber.cs : We must round double value before formatting it as
	  alphabets or roman numbers.

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

	* XslAttribute.cs : It does not have to probe prefix at run time.

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

	* XslLiteralElement.cs,
	  XslCopy.cs : Now that exclude-element-prefixes and extension-
	  element-prefixes are handled in GetNamespacesToCopy(), we could
	  just remove those collector routine. Also, literal elements were
	  still trying to output namespaces outside TryElementNamespacesOutput.

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

	* XslCopy.cs : According to the spec 7.5, namespace nodes should be
	  copied. Patch by Andrew Skiba.
	* XslLiteralElement.cs,
	  XslElement.cs : Change in sync with TryElementNamespacesOutput().
	* XslStylesheet.cs : version check was incorrectly done.
	  Should check empty string, not null.

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

	* XslMessage.cs, XslOperation.cs, XslAttribute.cs, XslComment.cs,
	  XslProcessingInstruction.cs : simplified code by using
	  XslOperation.EvaluateAsString(). It will also help optimization.

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

	* XslApplyTemplates.cs : significant whitespace should not be regarded
	  as invalid element. Patch by Andrew Skiba.

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

	* XslNumber.cs : For group size, use decimal instead of integer to allow
	  such number that is larger than int.MaxValue. patch by Andrew Skiba.

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

	* XslForEach.cs : Don't bork at <xsl:for-each/>. Patch by Andrew Skiba.

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

	* XslProcessingInstruction.cs : MS.NET recovers from invalid PI name
	  (it must be both NCName and PITarget, or must be ignored). Patch by
	  Andrew Skiba.

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

	* XslTemplateContent.cs : MS.NET recovers from incorrect non-text
	  children in attribute, PI and comments. Patch by Andrew Skiba.

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

	* XslVariable.cs : use DTMXPathDocumentWriter2.

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

	* XslVariable.cs : Local param might be overriden by XsltArgumentList.

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

	* XslElement.cs : warning removal.

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

	* XslVariable.cs,
	  XslComment.cs 
	  XslApplyImports.cs,
	  XslCompiledElement.cs : removed unused field.

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

	* XslNumber.cs : Globalization. Removed unused code.

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

	* XslCopyOf.cs : When evaluation result was result tree fragment (i.e.
	  XPathNavigator) output its content (children).
	* XslNumber.cs : Reflected CompilePattern() change.
	* XslTemplateContent.cs : Don't throw System.Exception.
	* XslVariable.cs : XslVariableInformation.Evaluate() now returns
	  XPathNavigator, not NodeSet (it should not return "children", since
	  the node pointed by XPathNavigator should be referenced as Root).

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

	* XslNumber.cs : made enum internal

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

	* XslApplyImport.cs, XslApplyTemplates.cs, XslAttribute.cs,
	  XslAvt.cs, XslCallTemplate.cs, XslComment.cs, XslCompiledElement.cs,
	  XslCopy.cs, XslCopyOf.cs, XslElement.cs, XslFallback.cs,
	  XslForeach.cs, XslIf.cs, XslLiteralElement.cs, XslMessage.cs,
	  XslNumber.cs, XslOperation.cs, XslProcessingInstruction.cs,
	  XslTemplateContent.cs, XslText.cs, XslValueOf.cs, XslVariable.cs :
	  make extra classes internal.

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

	* XslProcessingInstruction.cs : Culture independency fix.

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

	* XslVariable.cs : When evaluated variable was BaseIterator, its
	  iterated nodes must be collected in prior. Otherwise, it might be
	  evaluated later with inconsistent level of variable stack in
	  XslTransformProcessor. This fixes bug #55876.

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

	* XslApplyTemplates.cs,
	  XslAvt.cs,
	  XslCallTemplate.cs,
	  XslChoose.cs,
	  XslIf.cs,
	  XslMessage.cs,
	  XslNumber.cs,
	  XslVariable.cs :
	  Throw XsltCompileException instead of Exception.
	* XslVariable.cs : Reject invalid attributes.

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

	* XslVariable.cs : Replaced XmlNodeWriter with DTMXPathDocumentWriter.

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

	* XslIf.cs : When content is empty, skip content evaluation.

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

	* XslVariable.cs : Use new GenericOutputter.ctor() to indicate it is
	  created for variable. (It is required not to output "PI for xmldecl"
	  incorrectly.)
	* XslNumber.cs : trivial code refactoring.
	* XslCopy.cs : comment out WriteLine().

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

	* XslAttribute.cs: Removed unused variable

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

	* XslLiteralElement.cs : considering xsl:imports, we have to evaluate
	  namespace aliases at the first evaluation.
	* XslNumber.cs : Fixed incorrect "any" level numbering (and 
	  optimization), format string handling, grouping-separator.

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

	* XslLiteralElement.cs : Pretty fix for prefix.
	* XslNumber.cs : Fix for rounding value and decimal digits hack.

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

	* XslAttribute.cs, XslElement.cs, XslVariable.cs : Check name.
	* XslChoose.cs : Check content validity (xsl:when or xsl:otherwise).
	* XslComment.cs, XslCopy.cs, XslProcessingInstruction.cs, 
	  XslValueOf.cs : Check content and attributes.
	* XslCompiledElement.cs : Added ParentType to check content validity.
	* XslCopy.cs : Check attribute set existence.
	* XslCopy.cs, XslCopyOf.cs  Don't output whitspace as cdata.
	* XslLiteralElement.cs : Added extension element prefixes as 
	  namespace exclusion target. Consider namespace-aliases.
	* XslNumber.cs : level="any" should also be emptiable. MatchesCount()
	  should also consider node type. Reverted a little formatting stuff.
	* XslTemplateContent.cs : Check if content nodes are containable.
	* XslText.cs : New .ctor() argument, specifying if it is whitespace.
	  Never output whitespace as cdata.

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

	* XslNumber.cs : Fixed GetFormatNumber() not to emit number (0) in
	  case of count 0.  Improved format-string, but still wondering.

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

	* XslElement.cs, XslCopy.cs, XslCopyOf.cs, XslLiteralElement.cs :
	  Modified cdata-section-elements handling.
	* XslAttribute.cs, XslElement.cs : Fixed incorrect prefix handling.
	* XslComment.cs : In case of empty value, don't call value.Evaluate().
	* XslCopyOf.cs : Element node should consider cdata-section elements.

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

	* XslCopy.cs, XslCopyOf.cs : namespace nodes should be written.

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

	* XslAttribute.cs, XslElement.cs, XslLiteralElement.cs :
	  More precise namespace handling.
	* XslCopy.cs, XslElement.cs, XslLiteralElement.cs :
	  Added cdata-section-elements support.
	* XslNumber.cs :
	  Cases when value is NodeSet should be allowed.
	  Default output should be 1,2,3... not exception. see XSLT spec 7.7.1

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

	* XslAttribute.cs : Name verification.
	* XslElement.cs : Name verification. Consider IsEmptyElement.
	* XslCopy.cs : copy namespace nodes too.

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

	* XslAttribute.cs : namespace should be String.Empty if no specification
	  exists.
	* XslNumber.cs : default format string is "1". See XSLT spec. 7.7.1.

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

	* XslCompiledElement.cs, XslAttribute.cs, XslElement.cs :
	  Removed Clone() everywhere. Limited only to required places.

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

	* XslCompiledElement.cs : Added InputNode for namespace-prefix support.
	* XslAttribute.cs, XslElement.cs, XslLiteralElement.cs :
	  Correct Prefix support.
	* XslLiteralElement.cs : Moved xmlns output after attribute sets.
	* XslCopy.cs : Added use-attribute-sets support for Root XPath type.
	* XslCopy.cs, XslCopyOf.cs, XslLiteralElement.cs : Support for
	  IsEmptyElement (XslElement not yet. confirm what OASIS tests expect).
	* XslCopy.cs, XslElement.cs, XslLiteralElement.cs : 
	  Support for stylesheet xmlns decls emission.

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

	* XslAttribute.cs, XslElement.cs: Allow dynamically parsed names.

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

	* XslCopyOf.cs: handle attributes.

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

	* XslLiteralElement.cs: must evaluate used attr sets *BEFORE*
	children (so that they get overriden).

2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
	
	* XslCopyOf.cs - WriteAttributeString instead of 
	WriteStartAttribute/WriteString/WriteEndAttribute.

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

	* XslLiteralElement.cs: reduce enumerator allocation.

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

	* XslAttribute.cs: output is now done to TextOutputter, which outputs 
	to a StringWriter.
	* XslVariable.cs: output is done to GenericOutputter.

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

	* XslVariable.cs : use newly introduced XmlNodeWriter.ctor(false) to
	  support for tree fragment, not only for single element.

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

	* XslComment.cs, XslMessage.cs, XslProcessingInsturction.cs:
	Ignore element contnet, per spec. (Oleg)

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

	* XslNumber.cs: Better support for formatting.

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

	* XslNumber.cs: Support for multiple level numbering

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

	* XslNumber.cs: Initial support.

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

	* XslCopyOf.cs, XslLiteralElement: Use namespace support in Outputter.

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

	* XslVariable.cs: sync to API changes.

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

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

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

	* XslCopyOf.cs: handle default ns
	* XslFallback.cs: implement
	* XslLiteralElement.cs: copy namespaces that were declared.
	* XslTemplateContent.cs: handle ext elements
	
2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>

	* XslComment.cs, XslTemplateContent.cs: remove dead variables.

2003-08-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* XslComment.cs: patch by BenM that implements Evaluate.

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

	* XslCallTemplates.cs : Forgot to commit ;-)

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

	* XslApplyTemplates.cs,
	  XslCallTemplate.cs : Should accept other than element content such
	  as comment and PI.
	* XslNumber.cs : In Compile(), 'value' might not exist. (Think about 
	  it later if how it should be.)
	* XslTemplateContent.cs : "comment" and "number" support. (I know they
	  are still incomplete.)

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

	* Added XslComment.cs.

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

	* XslVariable.cs: Fix up how variables are evaluated.

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

	* XslMessage.cs: Implement.

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

	* XslText.cs: I can make that parsing simpler!
	* XslText.cs, XslValueof.cs: support for disable-output-escaping.

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

	* XslElement.cs, XslAttribute.cs: Better support for namespaces.
	* XslAvt.cs: When precalculating, if the AVT is null (ie, the
	attribute was not specified), just return null, that will be the
	result.

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

	* XslNumber.cs: More stubbing.

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

	* XslNumber.cs: Stub for parsing xsl:number.

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

	* XslVariable.cs: Add IsEvaluated.

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

	* XslApplyTemplates.cs, XslCallTemplate.cs, XslCompiledElement.cs,
	XslTemplateContent.cs, XslVariable.cs:
	Store variable values in the XslTransformProcessor


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

	* XslAvt.cs, XslCopyOf.cs, XslIf.cs, XslText.cs, XslValueOf.cs,
	XslVariable.cs:
	Use new strong typed methods, remove verbose debugging messages.


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

	* Initial Checkin

