[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / Commons.Xml.Relaxng / Commons.Xml.Relaxng / ChangeLog
old mode 100644 (file)
new mode 100755 (executable)
index 7fbeed1..2da640a
@@ -1,3 +1,272 @@
+2010-07-23  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : inherit XmlResolver to parsed rng component.
+         Fixed bug #622630.
+
+2010-06-25  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngReader.cs : don't use Name, use LocalName. Fixed bug #617264.
+
+2009-02-23  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : implemented error recovery feature.
+         Use InvalidNodeFound event (of type RelaxngValidationEventHandler)
+         to handle validation error like ValidationEventHandler in
+         System.Xml.XmlSchema.
+
+2009-02-19  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdDatatypeProvider.cs : detect grammar-level error in type usage
+         at compile time.
+
+2009-02-17  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdDatatypeProvider.cs : workaround .NET/Mono Regex bug that
+         does not handle \p{Latin-1Supplement} to work with OOXML grammar.
+
+2009-01-20  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngReader.cs : fixed wrong text skip and ns/datatypeLibrary
+         stack pop. Fixed bug #463267.
+
+2009-01-20  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngGrammar.cs : fix confused use of datatype provider property.
+         Fixed bug #463264. Based on the patch by Mark Junker.
+
+2008-11-11  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : handle inherited default namespace in compact 
+         syntax as expected.
+
+2008-08-25  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : unlike "include" element, "external" element
+         was always resolved as XML syntax, and hence blocked use of
+         external element in compact syntax.
+
+2007-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : (RelaxngInclude) when a relative Uri is
+         specified as its BaseUri, make it into an absolute path and
+         then resolve the URI.
+
+2007-12-17  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : (RelaxngInclude) when it is constructed from
+         the compact syntax, resolve included file as compact syntax too.
+       * RelaxngGrammar.cs : to make above possible, add a new
+         IsSourceCompactSyntax field that is to be set in RncParser.
+
+2006-04-19  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : (.ctor) reject null pattern.
+         To filter xmlns attributes out, just use NamespaceURI.
+
+2006-04-07  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : use new RelaxngReader .ctor () with XmlResolver
+         argument. Fix by Alexandre Alapetite.
+
+2006-04-03  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : set XmlResolver that is passed by
+         RelaxngPattern.Read() as its property.
+
+2006-03-29  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngDatatype.cs : Compare() should not be just a stupid object
+         comparison, but should rather be type-dependent equality.
+         Thanks to Alexandre.
+
+2006-03-28  Atsushi Enomoto <atsushi@ximian.com>
+
+       Based on the patch by Alexandre Alapetite:
+       * RelaxngException.cs : added another constructor that takes
+         pattern, string and innerException.
+       * RelaxngReader.cs
+         RelaxngPattern.cs :
+         - wrap xml resolution error in RelaxngInclude.Read(). This change
+           is argurable but might be convenient for certain users.
+         - Added another constructor to RelaxngReader, and another overload
+           for RelaxngPattern.Read(), otherwise RelaxngPattern.Read() can
+           never use different XmlResolvers.
+
+2006-03-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       Patch by Alexandre Alapetite (http://alexandre.alapetite.net/cv/)
+       * RelaxngPattern.cs : RelaxngInclude.Read() could be NRE when
+         there is an error in XmlTextReader .ctor().
+       * RelaxngValidatingReader.cs : If the input XmlReader is already 
+         positioned on the first node to validate, skip Read() here.
+
+2006-02-02  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : removed extra tables.
+
+2006-01-16  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : fixed warning.
+
+2006-01-16  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : just keep previous TextDeriv() result
+         for each pattern; they are mostly not reused. It makes validator
+         about 30% faster in certain validation and reduces memory use.
+
+2006-01-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : actually using Hashtable of Hashtable
+         (instead of ArrayList of custom MemoizationStart class) is much
+         better for performance. It makes StartTagOpenDeriv and
+         StartAttDeriv more than 10x faster than before.
+
+2006-01-13  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngDatatype.cs, RelaxngDefaultDatatypes.cs,
+         XsdDatatypeProvider.cs, RelaxngValidatingReader.cs :
+         Memoize TextDeriv() results for context independent inputs.
+
+         Due to the API freeze they are kept as internal virtual for now.
+
+2006-01-12  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : Use RdpPattern.EmptyTextDeriv(). It
+         significantly improves performance wrt empty text nodes.
+
+2006-01-10  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs :
+         - Split memoization support things into MemoizationStore class.
+         - Split single memo ArrayList into a couple of Hashtables and 
+           ArrayLists which memoize each kind of derivative results.
+         - Introduced StartAttDeriv() and EndAttDeriv() to replace AttDeriv()
+           and memoize results efficiently. It is textually written in the
+           "derivative algorithm", but not formally specified.
+         - Introduced IsTextValueDependent and EmptyTextDeriv() to 
+           differentiate those patterns which results differ depending on
+           the text value and those which doesn't.
+           Those EmptyTextDeriv results are memoized.
+
+2006-01-10  Atsushi Enomoto <atsushi@ximian.com>
+
+       * Misc.cs : NormalizeWhitespace() was creating extraneous char[] and
+         it could be heavily called depending on patterns.
+       * RelaxngDefaultDatatypes.cs : avoid extraneous call to
+         NormalizeWhitespace().
+
+2006-01-05  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs :
+         - weak match 3 in Section 6.2.7 was missing (in derivative, it is
+           childrenDeriv cx p [] = childrenDeriv cx p [(TextNode "")] ).
+         - uncommented out whitespace handling in TextOnlyDeriv (it is 
+           "in if whitespace s then choice p p1 else p1" in derivative).
+         - MixedTextDeriv() is not fixed to not require string argument.
+       * XsdDatatypeProvider.cs : call Read() after ReadTypedValue().
+
+2006-01-04  Alexandre Miguel Pedro Gomes <alexmipego@gmail.com>
+
+       * RelaxngValidatingReader.cs: fix typo
+
+2006-01-04  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs :
+         - Simplified CreateValidationError().
+         - Don't validate 1) whitespaces outside element and 2) whitespaces
+           which do not consist of text only content.
+         - Implemented "memoization":
+           http://www.thaiopensource.com/relaxng/derivative.html#Memoization
+         - with related to memoization, use new TextOnlyDeriv() and 
+           MixedTextDeriv() to validate texts. See also RdpPattern changes.
+       * RelaxngGrammar.cs : don't update pool tables for static instances.
+
+2005-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * Misc.cs RelaxngDatatype.cs RelaxngPattern.cs RelaxngException.cs
+         RelaxngMergedProvider.cs RelaxngPatternType.cs RelaxngReader.cs
+         RelaxngDefaultDatatypes.cs XsdDatatypeProvider.cs
+         RelaxngValidatingReader.cs RelaxngDatatypeProvider.cs
+         RelaxngGrammar.cs RelaxngNameClass.cs :
+
+         This is the smarter way to set eol-style without messing code
+         history.
+
+2005-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngDatatype.cs RelaxngPattern.cs RelaxngException.cs
+         RelaxngMergedProvider.cs RelaxngPatternType.cs RelaxngReader.cs
+         RelaxngDefaultDatatypes.cs XsdDatatypeProvider.cs
+         RelaxngValidatingReader.cs RelaxngDatatypeProvider.cs
+         RelaxngGrammar.cs RelaxngNameClass.cs :
+         turned out that they all have LF on copyright lines while they are
+         written to have CRLF.
+
+2005-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * Misc.cs : it has inconsistent newlines. Removed unused code.
+
+2005-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngGrammar.cs : A constraint in 4.18 that grammar must have at
+         least one start element was missing. This fixes test #199 and #200.
+
+2005-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : validate whitespaces as text nodes. It
+         rather invalidated some valid documents incorrectly (since it kept
+         text pattern remaining). This fixed following tests: 237/2.v.xml,
+         256/2.i.xml, 258/2.i.xml, 261/1.v.xml, 261/3.v.xml, 261/4.v.xml,
+         268/2.v.xml and 269/2.v.xml, while it exposed bugs on 260/2.i.xml
+         and 261/6.i.xml (they are not regressions).
+
+2005-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XsdDatatypeProvider.cs : Namespace remapping was required to make
+         simple type restriction work fine. This fixes test #261/1.v.xml,
+         #268/2.v.xml and #269/2.v.xml.
+
+2005-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : it needs to cache text nodes to allow
+         split texts by such nodes as comments or processing instructions.
+         This fixes test #268 and #269.
+
+2005-12-27  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngGrammar.cs : expand refs before checking content pattern.
+
+2005-12-16  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : RelaxngData and RelaxngValue was writing QName
+         instead of NCName for type attribute (wrong).
+
+2005-12-16  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngPattern.cs : in WriteCompact(), use WriteNamespace() to
+         let RncWriter handle namespace output by itself.
+
+2005-09-20  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngValidatingReader.cs : added explicit error message for
+         attribute XmlReader validation (spec section 7.1.5 explicitly
+         prohibits start//attribute so such validation never happens).
+       * RelaxngGrammar.cs : name class analysis is now done inside
+         CheckConstraints(), so nothing to add here.
+       * RelaxngPattern.cs : (RdpUnresolvedRef) now GetLabels() could be
+         invoked here, so just ignore.
+
+2005-07-31  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngGrammar.cs : spec 7.3 check is kinda implemented but cannot
+         verify now because of weird exception handling in the runtime.
+
+2005-06-07  Atsushi Enomoto <atsushi@ximian.com>
+
+       * RelaxngReader.cs : When ReadPattern() if no valid pattern appears
+         then raise an error. In Read() when there are only non RELAX NG 
+         elements it resulted in an infinite loop.
+
 2005-04-06  Atsushi Enomoto <atsushi@ximian.com>
 
        * RelaxngPattern.cs : fixed incorrect use of virtual.