2003-11-27 Ben Maurer * Compiler.cs * MSXslScriptManager.cs * XslStylesheet.cs * XslTransformProcessor.cs * XsltCompiledContext.cs: Some work on msxsl script. 2003-11-24 Atsushi Enomoto (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 * 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 * 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 * 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 * 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 * 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 * 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 * GenericOutputter.cs : Attribute wasn't overwritten its properties because Attribute is struct it was let to another local variable. 2003-09-28 Ben Maurer * GenericOutputter.cs: make html output a warning, because doing xml will be right most of the time. 2003-09-28 Ben Maurer * 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 * Compiler.cs: save the parser (will reduce memory allocation when Jackson's jay patch is committed). 2003-09-20 Ben Maurer * 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 * Compiler.cs: add GetNsm to main class as well. 2003-09-20 Ben Maurer * Compiler.cs (ParseAvtAttribute): Get the attribue using our internal version so we get null if the attr doesnt exist. 2003-09-17 Ben Maurer * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case where curVarScope == null 2003-09-16 Ben Maurer * Compiler.cs: - Better handling of empty attributes (vs not being specified) - Bug in handling #default 2003-09-15 Ben Maurer * 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 * GenericOutputter.cs: Output attributes in order recieved; not required by spec, but useful for running test cases. 2003-09-14 Oleg Tkachenko * 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 * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone exprs on use, pass to nav. 2003-09-13 Ben Maurer * Compiler.cs: pass satic context to Pattern ctor. 2003-08-30 Oleg Tkachenko * 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 * XslTransformProcessor.cs: evaluate variables at beginning when / is current node. 2003-08-21 Ben Maurer * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs: Fix up namespace handeling 2003-08-20 Ben Maurer * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for format-number. * XslDecimalFormat.cs: Stub for decimal-format. 2003-08-20 Ben Maurer * TextOutputter.cs: Add option to ignore element content (Oleg). 2003-08-19 Ben Maurer * Compiler.cs: Really give null for blank avt's 2003-08-19 Ben Maurer * Compiler.cs: Fixed lre/lre04. 2003-08-19 Atsushi Enomoto * 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 * XslTransformProcessor.cs: add support for resolving documents. * XsltCompiledContext: add support for document () function. 2003-08-19 Ben Maurer * 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 * 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 * Outputter.cs: Add support for namespaces. 2003-08-19 Ben Maurer * Compiler.cs, XslOutput.cs, XslStylesheet.cs, XslTransformProcessor.cs: move output logic from XslStylesheet to Compiler. 2003-08-18 Ben Maurer * XslOutput.cs: add support for encoding. 2003-08-18 Ben Maurer * *.cs: Support for xsl:output. (Oleg) 2003-08-17 Ben Maurer * Compiler.cs: handle extension and excluded namespaces. 2003-08-17 Ben Maurer * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator from the stylesheet for correct namespace resolution. 2003-08-14 Atsushi Enomoto * 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 * 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 * Compiler.cs: Add support for boolean attributes (yes/no). 2003-08-04 Ben Maurer * 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 * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging 2003-08-01 Ben Maurer * XslTransformProcessor.cs: Add EvaluateNumber method. 2003-07-31 Ben Maurer * XsltCompiledContext.cs: Implement more functions. 2003-07-31 Ben Maurer * 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 * XsltCompiledContext.cs: Hmm, maybe I should actually *enable* the functions ;-). Also wrote current (). 2003-07-31 Ben Maurer * XsltCompiledContext.cs: Remove excess conversion stuff. It is done in XPath. Add stubs for XSLT functions. 2003-07-31 Ben Maurer * 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 * 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 * 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 * Initial Checkin