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

