merge -r 58784:58785
[mono.git] / mcs / class / Commons.Xml.Relaxng / Commons.Xml.Relaxng / ChangeLog
1 2005-09-20  Atsushi Enomoto <atsushi@ximian.com>
2
3         * RelaxngValidatingReader.cs : added explicit error message for
4           attribute XmlReader validation (spec section 7.1.5 explicitly
5           prohibits start//attribute so such validation never happens).
6         * RelaxngGrammar.cs : name class analysis is now done inside
7           CheckConstraints(), so nothing to add here.
8         * RelaxngPattern.cs : (RdpUnresolvedRef) now GetLabels() could be
9           invoked here, so just ignore.
10
11 2005-07-31  Atsushi Enomoto <atsushi@ximian.com>
12
13         * RelaxngGrammar.cs : spec 7.3 check is kinda implemented but cannot
14           verify now because of weird exception handling in the runtime.
15
16 2005-06-07  Atsushi Enomoto <atsushi@ximian.com>
17
18         * RelaxngReader.cs : When ReadPattern() if no valid pattern appears
19           then raise an error. In Read() when there are only non RELAX NG 
20           elements it resulted in an infinite loop.
21
22 2005-04-06  Atsushi Enomoto <atsushi@ximian.com>
23
24         * RelaxngPattern.cs : fixed incorrect use of virtual.
25
26 2005-03-18  Atsushi Enomoto <atsushi@ximian.com>
27
28         * XsdDatatypeProvider.cs : quick hack to workaround not to be rejected 
29           under MS.NET because of NOTATION type (thus, NOTATION type is not
30           available in this provider).
31
32 2005-03-01  Atsushi Enomoto <atsushi@ximian.com>
33
34         * RelaxngReader.cs : there was two public namespace constant. One
35           should be obsoleted.
36
37 2005-03-01  Atsushi Enomoto <atsushi@ximian.com>
38
39         * RelaxngPattern.cs : RdpUnresolvedRef should process empty/notAllowed
40           elimination on its referenced pattern.
41
42 2005-02-27  Atsushi Enomoto <atsushi@ximian.com>
43
44         * XsdDatatypeProvider.cs : Added simpleType parameter support.
45         * RelaxngValidatingReader.cs : added ReportDetails flag to report all
46           expected element names / attribute names. Removed all unused code.
47
48 2005-02-06  Atsushi Enomoto <atsushi@ximian.com>
49
50         * RelaxngReader.cs : ns attribute on root element should also be 
51           handled as well as datatypeLibrary.
52
53 2005-02-06  Atsushi Enomoto <atsushi@ximian.com>
54
55         * RelaxngReader.cs : it was not handling datatypeLibrary attribute
56           on root element. Added DefaultNamespace handling.
57         * RelaxngGrammar.cs : added DefaultNamespace property.
58         * RelaxngPattern.cs : WriteCompact() now outputs "default namespace =..".
59
60 2005-01-26  Atsushi Enomoto <atsushi@ximian.com>
61
62         * RelaxngPattern.cs : fixed 2.0 typo.
63
64 2005-01-26  Atsushi Enomoto <atsushi@ximian.com>
65
66         * RelaxngGrammar.cs, RelaxngPattern.cs, RelaxngNameClass.cs :
67           added RelaxngPattern.WriteCompact(TextWriter) and all internal 
68           WriteRnc() overrides.
69
70 2004-12-06  Atsushi Enomoto <atsushi@ximian.com>
71
72         * RelaxngValidatingReader.cs :
73           - Existing GetLabels() was insufficient to support attribute labels
74             by design (since those state object always reflects the status
75             after Read() and inside Read() attributes are checked and attribute
76             derivatives are consumed). So just made existing stuff as obsolete.
77           - Added object GetCurrentState() that returns RdpPattern wrapper.
78           - Added Emptiable(object state) that returns whether the 
79             specified state is emptiable.
80           - Added GetElementLabels(object state) and GetAttributeLabels(object
81             state) that returns the collection of XmlQualifiedName that 
82             represents possible element names or attribute names from the
83             argument state.
84           - Added AfterOpenStartTag(state,name,ns), OpenStartTag(state,name,
85             ns), AfterAttribute(state, name, ns), Attribute(state,name,ns),
86             AfterCloseStartTag(state), CloseStartTag(state),
87             AfterEndTag(state) and EndTag(state) to simulate state transition.
88             AfterXXX() returns another state instance if the transition was
89             successful or null. XXX() returns bool that indicates if the 
90             transition was successful or not and proceeds the state in case
91             of success.
92
93 2004-12-06  Atsushi Enomoto <atsushi@ximian.com>
94
95         * RelaxngException.cs : Added new .ctor() that takes RelaxngElementBase
96           to provide target grammar component location.
97
98 2004-12-06  Atsushi Enomoto <atsushi@ximian.com>
99
100         * RelaxngNameClass.cs,
101           RelaxngPattern.cs,
102           RelaxngGrammar.cs :
103           Added related grammar component location to error message.
104           In RelaxngDefine, Compile() caused error on duplicate key on
105           Hashtable.Add().
106         * RelaxngReader.cs : In GetStrippedAttribute(), use 
107           GetAttribute(string,string).
108
109 2004-12-06  Atsushi Enomoto <atsushi@ximian.com>
110
111         * RelaxngException.cs : don't store debug string. It was so harmful
112           for performance.
113
114 2004-12-05  Atsushi Enomoto <atsushi@ximian.com>
115
116         * RelaxngValidatingReader.cs :
117           - Better way to expose API; use ExpectedElements and 
118             ExpectedAttributes of type ICollection. Now GetLabels is obsolete.
119           - Implemented notAllowed check. It might be too heavy since it
120             checks all the QNames returned by GetLabels. In such case, use
121             RoughLabelCheck = true.
122           - Added RoughLabelCheck of type bool that indicates to omit
123             notAllowed check.
124
125 2004-12-05  Atsushi Enomoto <atsushi@ximian.com>
126
127         * RelaxngValidatingReader.cs : no, it was very easy. But to avoid
128           state-changeful property, it is now bool Emptiable().
129
130 2004-12-05  Atsushi Enomoto <atsushi@ximian.com>
131
132         * RelaxngValidatingReader.cs : reverted IsEmptiable. It was not ready.
133
134 2004-12-05  Atsushi Enomoto <atsushi@ximian.com>
135
136         * RelaxngPattern.cs : added GetLabels() override to RdpUnresolvedRef.
137         * RelaxngValidatingReader.cs :
138           Added GetLabels() that collects "allowed element names and
139           attributes" at current state.
140           Added IsEmptiable that indicates whether current reader can be
141           closed by an end tag.
142
143 2004-11-28  Atsushi Enomoto <atsushi@ximian.com>
144
145         * RelaxngGrammar.cs : fixed error that happened on recompilation.
146
147 2004-07-14  Atsushi Enomoto <atsushi@ximian.com>
148
149         * RelaxngGrammar.cs : When definition is missing, the error message
150           should show what definition is missing.
151
152 2004-06-25  Atsushi Enomoto <atsushi@ximian.com>
153
154         * Misc.cs, RelaxngDatatype.cs, RelaxngDatatypeProvider.cs,
155           RelaxngDefaultDatatype.cs, RelaxngException.cs, RelaxngGrammar.cs,
156           RelaxngMergedProvider.cs, RelaxngNameClass.cs, RelaxngPattern.cs,
157           RelaxngPatternType.cs, RelaxngReader.cs, RelaxngValidatingReader.cs,
158           XsdDatatypeProvider.cs : Added/replaced novell license term.
159
160 2004-06-21  Atsushi Enomoto <atsushi@ximian.com>
161
162         * Misc.cs,
163           RelaxngPattern.cs,
164           RelaxngReader.cs :
165           Use XmlResolver (or XmlUrlResolver) directly. XmlResolver was
166           incorrectly _used_ before null check. Don't create XmlResolver
167           instance for _every_ pattern object.
168         * RelaxngPattern.cs : UnresolvedRef.ExpandRef() should return not
169           try to find target derivative pattern twice. It was the culprit of
170           infinite loop. Removed dirty switches.
171         * RelaxngGrammar.cs : code cleanup.
172
173 2004-06-17  Atsushi Enomoto <atsushi@ximian.com>
174
175         * Misc.cs, RelaxngGrammar.cs, RelaxngPattern.cs, RelaxngReader.cs :
176           Added XmlResolver property to fix bug #60334.
177           Check incrrect recursion check that caused possible infinite loop.
178
179 2004-05-31  Atsushi Enomoto <atsushi@ximian.com>
180
181         * Misc.cs : made Util class internal.
182         * RelaxngDatatypeProvider.cs : looks commit was missing.
183         * RelaxngException.cs : made one .ctor() internal that accepts
184           RdpPattern.
185         * RelaxngNameClas.cs : Names list should not be settable.
186         * RelaxngPattern.cs : RelaxngRefPattern class is internal use only.
187         * RelaxngPatternType.cs : there is not "Include" pattern.
188
189 2004-05-30  Atsushi Enomoto <atsushi@ximian.com>
190
191         * RelaxngDatatypeProvider.cs : removed meaningless using alias.
192         * RelaxngGrammar.cs : modified ArrayList to RelaxngGrammarContentList.
193           RelaxngMergedProvider.cs : Added #if PNET switch to support non-
194           xmlschema available environment.
195         * RelaxngPattern.cs : added IGrammarContent and
196           RelaxngGrammarContentList.
197
198 2004-03-17  Atsushi Enomoto <atsushi@ximian.com>
199
200         * RelaxngNameClass.cs : Introduced RelaxngNameClassList class.
201
202 2004-03-15  Atsushi Enomoto <atsushi@ximian.com>
203
204         * RelaxngGrammar.cs,
205           RelaxngNameClass.cs,
206           RelaxngPattern.cs : Added Write() support.
207
208 2004-02-28  Atsushi Enomoto <atsushi@ximian.com>
209
210         * RelaxngReader.cs : ReadPattern() should be public.
211
212 2004-02-25  Atsushi Enomoto <atsushi@ximian.com>
213
214         * Removed 
215           - RngGrammar.cs
216           - RngNameClass.cs
217           - RngPattern.cs
218           - RngPatternType.cs
219           They are moved to RelaxngXXX.cs and improved
220
221 2004-02-25  Atsushi Enomoto <atsushi@ximian.com>
222
223         * Added 
224           - RelaxngDatatype.cs
225           - RelaxngDatatypeProvider.cs
226           - RelaxngDefaultDatatypes.cs
227           - RelaxngException.cs
228           - RelaxngGrammar.cs
229           - RelaxngMergedProvider.cs
230           - RelaxngNameClass.cs
231           - RelaxngPattern.cs
232           - RelaxngPatternType.cs
233           - XsdDatatypeProvider.cs
234         * Misc.cs,
235           RelaxngReader.cs,
236           RelaxngValidatingReader.cs : Radical design changes.
237
238         In short:
239           - API redesign (renaming RngXxx to RelaxngXxx)
240           - Strict grammar validation
241           - Datatype support (XML Schema primitive datatypes)
242           - Some derivative bugfixes such as list validation.
243
244 2003-05-19  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
245
246         * RelaxngReader.cs :
247           + Now skips immaterial content correctly.
248           + Removed MoveToContent().
249           + Trimming attribute values and names.
250           + Fixed ReadNameClassChoice(), ReadNameClassExcept(),
251             ReadPatternExcept (). They require one or more contents.
252           + QName resolver fix.
253           + ReadListPattern() failed to read actual content.
254         * RelaxngValidatingReader.cs :
255           + Fixed incorrect error message.
256           + Fixed incorrect attribute namespace handling.
257         * RngGrammar.cs : Some simplification stuff fix. 
258           Support for illegal recursion check.
259         * RngNameClass.cs : fixed RngNsName ctor() (argument not passed).
260         * RngPattern.cs : fixed ParentRef.Compile() (was treated same as Ref).
261
262 2003-05-05  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
263
264         * RelaxngReader.cs : ReadExternalRef() hadn't resolved base uri.
265
266 2003-04-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
267
268         * Started.
269         * added ChangeLog, RelaxngReader.cs, RelaxngValidatingReader.cs,
270           RngGrammar.cs, RngNameClasses.cs, RngPattern.cs, RngPatternType.cs
271           and Misc.cs.
272