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