Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

573 lines
19 KiB
Plaintext

2010-07-06 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : implement some writer methods.
2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : add support for WriteRaw().
Patch by Adriaan van Kekem, closing bug #560838.
2009-11-17 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : WriteAttributeString() is allowed on
an appended child on .NET, though IMHO incorrectly.
Fixed bug #554845.
2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : LookupNamespace() in XmlReader from
ReadSubtree() should work correctly on text nodes.
2008-09-10 Atsushi Enomoto <atsushi@ximian,com>
* XPathEditableDocument.cs : added some overrides.
2008-06-04 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : fixed bug #378239.cs. Merge
sequential text nodes in correct way, say, whitespace entities
inside text should be merged (while they should be discarded around
CDATA).
2008-04-02 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : it should not expect ParentNode for
OwnerElement. Fixed bug #376210.
2008-03-17 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : allow document fragment as XmlReader
input. Fixed bug #324606.
2007-07-02 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : do not bork at non-document element
in XmlReader. Fixed bug #81932.
2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : supply prefix when it was not passed.
2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathNavigator2.cs : cosmetic performance improvement.
2007-01-05 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : fixed incorrect namespace node links
which happened to following siblings of a node with namespaces.
2006-12-05 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : those writers should lookup prefix when
WriteStartElement/WriteStartAttribute are passed null prefix.
Removed nodeStack in XmlDocumentInsertionWriter, since nodes are
always added to current node immediately.
2006-11-10 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : removed node type restriction on
initialization. Fixed bug #79874, when tied to XPathNavigator fix.
2006-10-11 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : (XmlDocumentEditableNavigator)
implement CanEdit to return true.
2006-09-11 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : DocumentFragment should also be allowed
to have a child.
2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : fill String.Empty for null ns in
WriteStartElement() and WriteStartAttribute().
2006-09-01 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : MoveToFirstAttribute() should return
true when current node is an attribute (including namespace node).
2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : use String.Empty instead of null for
localName for those nodes which does not have a name.
2006-04-10 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : Read() did not compute Depth correctly.
It caused bug #78067.
2006-02-21 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathNavigator2.cs : removed valueBuilder field (create
StringBuilder dynamically).
2006-02-16 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocument2.cs, DTMXPathNavigator2.cs :
Do not store mutable XPathDocument fields in every navigators.
It saves memory a lot.
2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : oh, so it used to compile under 1.x.
2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : several fixes.
- Unless ReadState is Interactive, all name stuff should return "".
- Refactored Read() to work fine when input navigator is Root.
- Fixed all MoveTo*Attribute() methods match with other XmlReaders.
- Namespace nodes were not handled fine in MoveTo*Attribute().
2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : added UnderlyingObject.
2005-12-14 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : added 2.0 SchemaInfo.
2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : implement ReplaceSelf() here.
2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs :
- Now it does not append "written" nodes until Close() is invoked.
- Use XmlDocumentFragment to store incomplete tree fragment.
- Implemented DeleteRange() and ReplaceRange().
- Added "Closed" event for ReplaceRange() to "not remove until
Close() is called."
2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs :
- Removed almost all redundant code in XPathEditableDocument,
which is based on .net 1.2 XPathDocument functionality.
- It was always doing AppendChild even if the operation is
InsertBefore or InsertAfter.
2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs :
XmlDocumentInsertionWriter.WriteFullEndElement() should set IsEmpty
of the element before pop.
2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
* XPathDocument2.cs, XPathDocument2Editable.cs,
XPathDocument2Navigator.cs : garbage cleanup.
2005-08-05 Atsushi Enomoto <atsushi@ximian.com>
* Pattern.cs, IdPattern.cs, LocationPathPattern.cs, UnionPattern.cs :
added bool EvaluatedNodeType property (used in XslKeyTable).
2005-05-05 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : sync with updated 2.0 API.
2005-03-22 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : use index for string pool.
2005-03-22 Atsushi Enomoto <atsushi@ximian.com>
* IdPattern.cs, LocationPathPattern.cs :
Use XsltCompiledContext.GetNavCache() that returns reusable
navigator cache for each pattern, to avoid Clone() and not to leave
reference to already-done instance navigator.
2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
* Pattern.cs : Pattern.Compile() now uses XSLT pattern parser instead
of XPath parser.
* KeyPattern.cs : Matches() now just delegates to XsltKey.MatchesKey().
2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder.cs,
DTMXPathDocumentWriter.cs,
DTMXPathNavigator.cs,
DTMXPathNode.cs : updated to be equivalent to DTMXPathNavigator2.
* DTMXPathDocumentBuilder2.cs :
String pool is now under index based management. For nonAtomicIndex
string, don't try all the entries the pool holds. It causes
significant performance loss for large documents.
* DTMXPathDocument.cs,
DTMXPathDocument2.cs : removed unused fields (warning elimination).
2004-03-16 Atsushi Enomoto <atsushi@ximian.com>
* Pattern.cs : fixed incorrect optimization.
2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : skip only Read() internally called
xmlReader.Read(). Simplify loop a bit.
2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : Eliminated Depth as well as -builder.
* DTMXPathNode2.cs, DTMXPathDocumentBuilder2.cs :
Eliminated Depth at all.
2004-03-15 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : Eliminating Depth. Store parent index
stack instead of depending on Depth.
Just use hasAttributes and hasLocalNs instead of indices.
* DTMXPathNavigator2.cs : (get_Value) Check empty element earlier.
2004-03-14 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathNavigator2.cs : Eliminating Depth. (To completely eliminate,
we also have to eliminate them from builder and writer).
2004-03-07 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : When there was an empty element and
namespace declarations, the next element namespace index was
incorrectly pointing to that of empty element.
2004-02-21 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : whitespace node values were not added
to Value.
2004-02-14 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : in some cases, significant whitespace
is incorrectly regarded as Text. Patch by Andrew Skiba.
2005-02-09 Atsushi Enomoto <atsushi@ximian.com>
* LocationPathPattern.cs : Wildcard name is held as "", so we should
also check "" for wildcard. Patch by Andrew Skiba.
2005-01-25 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : eliminating "throw new Exception".
2004-12-17 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : added CanReadBinaryContent and
CanReadValueChunk. Call Binary.Reset() to enable them.
2004-12-16 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : added SchemaInfo.
2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathNavigator.cs : added more constant fields to utility class.
2004-12-04 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocument2.cs,
DTMXPathNavigator2.cs,
DTMXPathDocumentBuilder2.cs,
DTMXPathDocumentWriter2.cs,
DTMXPathNode2.cs : added new implementation that uses string pool
and eliminates string field inside struct (IF we use struct).
2004-12-03 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter.cs : Fix for DTM_CLASS switch that does not
allow unadjusted arrays.
2004-11-30 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter.cs,
DTMXPathDocumentBuilder.cs,
DTMXPathNode.cs : SchemaType on attribute is not used.
2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs,
KeyPattern.cs : warning removal
2004-11-19 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : changed to be compatible with that is
contained in Mono.Xml.Ext.dll.
2004-11-14 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : WriteStartElement() should not expect
that there is an OwnerDocument (current node might be document).
2004-10-29 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : internalize classes.
2004-10-28 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : fixed wrong recursion problem.
2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs :
Now it implements updated version of .NET 2.0.
.ctor() should accept XmlNode, instead of XmlDocument.
2004-10-09 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : should be NET_2_0.
2004-10-08 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : IsDefault considers IXmlSchemaInfo
(it is anyways not implemented as yet.)
2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : Actually all other kind of nodes than
Element and Root must be treated as "start node only" as well as
attributes and namespaces.
2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
* XPathDocument2Editable.cs : for WriteAttributes(), use
CreateAttributesWriter() that creates attribute tree XmlWriter.
* XPathNavigatorReader.cs : the reader was missing attributes when
it is created with an element node that has attriibutes.
2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : It can reject attribute and namespace
nodes as its input (It is used only for WriteNode(), InsertBefore()
and so on, which are not intended to be used with attribute nodes).
On Initial state, it was Element that should check IsEmptyElement,
and Root should just go to the first child node.
2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : When the reader's root node is not of type
Root, it incorrectly skipped the node itself.
2004-09-06 Atsushi Enomoto <atsushi@ximian.com>
* XPathDocument2.cs, XPathDocument2Editable.cs:
Redesigned API. Child node list should not be required (it also
harms performance). Reduced extraneous methods for XPathNavigator
/ XPathEditableNavigator implementation support.
* XPathEditableDocument.cs : event registration was missing (due to
XPathDocument changes, it might not be required anymore though).
* XPathNavigatorReader.cs :
Namespace nodes were not handled correctly.
EOF handling was incorrect.
Reduced extraneous clone from MoveTo/GetAttribute(int) and
2004-09-01 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : on GetAttributeNavigator(int), namespace
node could be this XmlReader's attribute node.
2004-08-02 Atsushi Enomoto <atsushi@ximian.com>
* XPathDocument2.cs : new IXPathNavigable implementation
XPathDocument2Navigator.cs : new XPathNavigator implementation
XPathDocument2Editable.cs : new XPathEditableNavigator implementation
To use them in XPathDocument, set environment MONO_XPATH_DOCUMENT_2=yes
(It is still too unstable to pass all nunit tests and standalone XSLT
tests).
2004-07-30 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathNavigator.cs :
Fixed IsSamePosition(). currentAttr is not always the same as
that of other when current is not attribute. Ditto for currentNS
(when current is not namespace).
* XPathNavigatorReader.cs : Fixed NodeType - 1) When attribute value is
being consumed, then node type should be Text, and 2) Root node is
usually mapped to Document, but XmlReader never returns Document,
just None (both on Initial state and EndOfFile state).
2004-07-30 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs : fixed GetAttributeNavigator() that
incorrectly used MoveToNextAttribute().
2004-07-29 Atsushi Enomoto <atsushi@ximian.com>
* XPathNavigatorReader.cs :
- it is used only in 2.0 classes.
- It now behaves as a fragment reader.
- Depth is optimized not to call Clone() and MoveToParent().
- AttributeCount could be counted only once in Read().
- ReadState transition is adjusted to be same as other XmlReaders.
- name strings now return "" on initial state.
2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
* Added XPathEditableDocument.cs.
- XPathEditableDocument provides IXPathEditable.
- XmlDocumentEditableNavigator implements XPathEditableNavigator
that supports CreateAttributes(), AppendChild() and so on.
It is nothing more than hack, and as an XPathEditableNavigator
provider for XPathDocument, it will be replaced by something.
2004-07-13 Atsushi Enomoto <atsushi@ximian.com>
* Added XPathNavigatorReader.cs.
2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder.cs : Close XmlTextReader strictly. It might
raise an error after opening stream and before try-catch.
2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
* Pattern.cs : don't throw System.Exception. Delegate error handling to
the only one caller CompilePattern().
2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
* Pattern.cs : made class internal.
2004-02-26 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder.cs : Close XmlReader when we passed uri.
2004-02-18 Atsushi Enomoto <atsushi@ximian.com>
* LocationPathPattern.cs : Implemented easy XPathNavigator cache on
predicate evaluation in Matches().
2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
* KeyPattern.cs, Pattern.cs : removed using decls.
2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
* LocationPathPattern.cs : Optimized Matches(). For non-positional
patterns, it never iterates predicate, just evaluate boolean.
2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocument.cs,
DTMXPathDocumentBuilder.cs,
DTMXPathDocumentWriter.cs,
DTMXPathNavigator.cs,
DTMXPathNode.cs :
Made classes internal by default (still publicly available with
OUTSIDE_SYSTEM_XML switch). Removed unused "position" field.
Optimized DTMXPathNavigator.Value a bit.
* LocationPathPattern.cs : Modified some fields to private.
2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
* Added DTMXPathDocumentWriter.cs. It supports DTMXPathNavigator as
the resulting document tree.
* DTMXPathDocumentBuilder.cs : Code refactory (to get closer to dtm
writer and commonify tasks they both should do). Reduced initial
array size (400 to 200, for attribute 800 to 200), and extending
size from 2x to 4x (to reduce _times_ of allication copy).
* DTMXPathNode.cs : (and all above) added experimental "DTM_CLASS"
switch, which changes nodes from struct to class. (It will reduce
memory consumption by 2/3, but will also reduce speed by 2/3.)
2004-01-27 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder.cs : Namespace nodes are incorrectly created.
This fix should make XPathDocument compatible with XmlDocument.
2004-01-26 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocument.cs : CreateNavigator() should return the first root
as a clone.
* DTMXPathNavigator.cs : ComparePosition() incorrectly compared
attributes and namespaces orders. Implemented IsSamePosition() more
efficient. MoveToFirstNamespace() should return false when the
current node is either attribute or namespace. Fixed IsDescendant()
which looks resulted in incorrect behavior.
2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* DTMXPathDocumentBuilder.cs : Removed supportsID argument and always
assumes to support IDs when specified XmlValidatingReader.
Quick fix for NullReferenceException when type was null.
2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* KeyPattern.cs : Matches() should iterate candidate keys to the end.
2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* IdPattern.cs,
KeyPattern.cs : Implemented Matches(), overrode DefaultPriority,
modified inheritance.
* Pattern.cs : Added id and key pattern support.
2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* DTMXPathNavigator.cs : Fixed MoveToNamespace() that might result in
infinite loop.
2003-10-04 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* DTMXPathDocumentBuilder.cs : Bugfix for whitespace handling.
2003-10-01 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* Added DTMXPathNode.cs.
* Fundamental changes in whole DTM stuff. Node information is now array
of "node struct" instead of individual arrays.
2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
* Pattern.cs: save the parser (will reduce memory allocation when
Jackson's jay patch is committed).
2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
* Pattern.cs: Typo, when i got //a i was giving off /
* LocationPathPattern.cs: Append to the tail, not head.
2003-09-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* DTMXPathNavigator.cs,
DTMXPathDocument.cs,
DTMXPathDocumentBuilder.cs : Added IXmlLineInfo support. Removed
node's extraneous schemaType. Some code reformatting.
2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
* Pattern.cs: Support static context.
2003-08-25 Ben Maurer <bmaurer@users.sourceforge.net>
* DTMXPathNavigator.cs: Allocate valueBuilder on first use.
2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* DTMXPathDocument.cs,
DTMXPathDocumentBuilder.cs,
DTMXPathNavigator.cs :
- Implemented ID support using XmlValidatingReader.
- Prefix should be String.Empty even if XmlReader.Prefix is null.
2003-07-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* DTMXPathDocumentBuilder.cs :
Fixed Read() that sets nodes' parent incorrectly.
2003-07-17 Peter Williams <peter@newton.cx>
* DTMXPathDocumentBuilder.cs: csc.exe is more stringent about namespaces
than mcs. We need to disambiguate System.Math from Mono.Math here.
2003-06-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* Initial checkin.
* Added ChangeLog, DTMXPathDocument.cs, DTMXPathDocumentBuilder.cs
and DTMXPathNavigator.cs.