1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
|
2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs : After profiling in depth, finally I found the
source of the worst perf. problem in the code - return x for
(choice x x).
It now validates 5MB of OpenDocument specification content.xml,
which only Jing could do.
2006-01-16 Atsushi Enomoto <atsushi@ximian.com>
* RdpObjects.cs : fixed warnings.
2006-01-16 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs : RdpOneOrMore.EmptyTextDeriv() should be "override".
RdpList.EmptyTextDeriv() (which was also virtual incorrectly) was
removed since the code was in wrong assumption.
* Util.cs : debug string now contains data and dataExcept info.
2006-01-15 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs : lazy evaluate Group branches. If left hand is
notAllowed, the returned value is always NotAllowed, no need to
compute another branch.
2006-01-13 Atsushi Enomoto <atsushi@ximian.com>
* RdpObjects.cs, RdpPatterns.cs : introduced "IsContextDependent"
optimization; when a pattern is (namespace) context independent
(almost all cases except for QName validation), new TextDeriv()
overload that takes MemoizationStore memoizes TextDeriv results.
2006-01-12 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs :
Introduced EmptyTextDeriv() so that the results could be memoized.
2006-01-10 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs :
- Added StartAttDeriv(), EndAttDeriv() and IsTextValueDependent.
(See corresponding changes in RelaxngValidatingReader.cs).
- Added a bunch of derivative method overloads to receive
MemoizationStore and memoize results efficiently.
2006-01-05 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs :
- Fixed RdpPattern.TextDeriv() and MixedTextDeriv() to not allow
whitespaces incorrectly.
- Fixed MixedTextDeriv() to not require string argument.
- Erased commented code.
- in listDerivInternal(), skip empty strings.
- ValueMatch() should allow whitespaces if the pattern is nullable
(as defined in derivative).
- Replaced MakeChoice()/MakeGroup()/MakeInterleave()/MakeAfter()
in TextOnlyDeriv() and MixedTextDeriv(). They should not be
constructions but should be functions (thus, member methods).
- Fixed Nullable in RdpData and RdpValue to conform to the
derivative algorithm (it incorrectly extended to return false
for RELAX NG predefined datatypes).
2006-01-04 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs :
- Implemented textOnlyDeriv and mixedTextDeriv of "memoization".
Details are described in the "derivative" algorithm:
http://www.thaiopensource.com/relaxng/derivative.html#Memoization
- Added MakeChoiceLeaf() to implement "choice-leaves":
http://www.thaiopensource.com/relaxng/derivative.html#Avoiding_exponential_blowup
- To intern effectively, reorder choice and interleave contents by
hash code.
- Avoid extra pattern creation with related to empty and notAllowed
as one hand of binary branches.
2006-01-03 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : reduced RdpFlip instantiation. Share patternPool
only when it does not exist.
2006-01-03 Atsushi Enomoto <atsushi@ximian.com>
* Util.cs, RdpPatterns.cs : optimization. Removed extraneous
delegate instantiation. Avoid using enum for HashTable keys.
2005-12-27 Atsushi Enomoto <atsushi@ximian.com>
* Util.cs RdpObjects.cs RdpContentType.cs RdpNameClasses.cs
RdpPatterns.cs :
... and svn:eol-style as well, since there is exactly no one else
who develops this assembly and messes no one else.
2005-12-27 Atsushi Enomoto <atsushi@ximian.com>
* Util.cs RdpObjects.cs RdpContentType.cs RdpNameClasses.cs
RdpPatterns.cs :
Ugh, seems like svn server shows different diffs than that of
client. Anyways here I fixed all mixed line endings.
2005-12-27 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs : in ValueMatch() it should not strip whitespaces
which could be validated. This fixes test #256/2.i.xml.
2005-12-27 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs : oneOrMore ancestor check for anyName/nsName in
section 7.3 was missing. This fixes test #357, #358 and #359.
* RdpNameClass.cs : added HasInfiniteName property to RdpNameClass.
2005-12-27 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs, RdpUtil.cs : reimplemented name class analysis to
not create extraneous QName instances. This also fixes some weird
bugs (test #362 and #363).
2005-12-27 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : Checking interleave restriction in section 7.4 with
PatternType was not insufficient. Now I use ContainsText(). It fixes
testcase #371.
2005-12-20 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : cache ContentType and save speed.
2005-09-20 Atsushi Enomoto <atsushi@ximian.com>
* Util.cs : Added name class analysis support. The algorithm is at
http://www.thaiopensource.com/relaxng/nameclass.html .
* RdpPattern.cs :
- added CheckNameOverlap() for group and interleave to do name class
analysis (spec 7.3 and 7.4).
- Removed CheckAttributeDuplicates(). Now name class analysis is
implemented in CheckNameOverlap().
- Added additional bool parameter to GetLabels() to collect
RdpNameClass instances instead of XmlQualifiedName instances.
2005-07-31 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : GetLabels() for RdpGroup should check attributes
when the left branch is not nullable (it works like an interleave).
Implemented spec 7.3 attribute check (though not enabled for now).
2005-04-11 Atsushi Enomoto <atsushi@ximian.com>
* Util.cs : tiny debug string fix.
2005-03-01 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : In "textDeriv(group p1 p2) s", "nullable p1" is
incorrectly computed as "nullable p".
2005-02-06 Atsushi Enomoto <atsushi@ximian.com>
* RdpObjects.cs : provide error type name. removed commented code block.
2005-02-06 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : MakeOneOrMore() did not always set up internal table.
2004-12-06 Atsushi Enomoto <atsushi@ximian.com>
* Util.cs : trivial debug string fix.
* RdpPattern.cs : trivial formatting fix.
2004-12-06 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : The last attribute stuff broke usual validation wrt
global attributes.
2004-12-06 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : fixed setupTable(). Avoid boxing.
2004-12-05 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : RdpAttribute now omits value check when the argument
value is null. It is useful to get labels.
2004-12-05 Atsushi Enomoto <atsushi@ximian.com>
* RdpPattern.cs : added GetLabels().
2004-06-25 Atsushi Enomoto <atsushi@ximian.com>
* RdpContentType.cs, RdpNameClass.cs, RdpObjects.cs, RdpPatterns.cs,
Util.cs : added novell license term.
2004-06-21 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs : Fixed ExpandRef() that caused incorrect nest error.
2004-06-17 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs : Quick workaround for infinite loop happening in
some kind of recursive expansion.
2004-03-12 Atsushi Enomoto <atsushi@ximian.com>
* RdpPatterns.cs : Fixed TextDeriv() to allow whitespace text nodes
except for Data and Value (though they are overridden).
2004-02-25 Atsushi Enomoto <atsushi@ximian.com>
* Added RdpContextType.cs.
* RdpNameClasses.cs,
RdpObjects.cs,
RdpPatterns.cs,
Util.cs : radical design change (too many things to write up).
2003-05-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* RdpPattern.cs : Some method name capitalization.
Fixed RdpInterleave.StartTagOpenDeriv() which is logically incorrect.
2003-05-05 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* RdpPattern.cs : added RdpAttribute.expandRef(). UnresolvedRef had
remained in attribute patterns.
2003-04-29 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
* Started.
* added ChangeLog, RdpNameClasses.cs, RdpObjects.cs, RdpPatterns.cs
and Util.cs.
|