2154 {
2157 for (int num = _validationStack.Length - 1; num >= _startIDConstraint; num--)
2158 {
2159 if (((ValidationState)_validationStack[num]).Constr != null)
2160 {
2161 ConstraintStruct[]
constr = ((ValidationState)_validationStack[num]).Constr;
2162 for (
int i = 0;
i <
constr.Length;
i++)
2163 {
2165 {
2168 {
2169 locatedActiveAxis.isMatched = false;
2171 {
2173 }
2175 {
2176 if (typedValue !=
null &&
stringValue.Length != 0)
2177 {
2179 }
2180 }
2181 else if (typedValue != null)
2182 {
2184 }
2185 }
2187 }
2188 if (!
constr[i].axisSelector.EndElement(localName, @
namespace))
2189 {
2190 continue;
2191 }
2193 switch (
constr[i].constraint.Role)
2194 {
2195 case CompiledIdentityConstraint.ConstraintRole.Key:
2197 {
2199 }
2201 {
2203 {
2204 keySequence.ToString(),
2205 constr[i].constraint.name.ToString()
2207 }
2208 else
2209 {
2211 }
2212 break;
2213 case CompiledIdentityConstraint.ConstraintRole.Unique:
2215 {
2217 {
2219 {
2220 keySequence.ToString(),
2221 constr[i].constraint.name.ToString()
2223 }
2224 else
2225 {
2227 }
2228 }
2229 break;
2230 case CompiledIdentityConstraint.ConstraintRole.Keyref:
2232 {
2234 }
2235 break;
2236 }
2237 }
2238 }
2239 }
2240 ConstraintStruct[]
constr2 = ((ValidationState)_validationStack[_validationStack.Length - 1]).Constr;
2242 {
2243 return;
2244 }
2246 {
2247 if (
constr2[
k].constraint.Role == CompiledIdentityConstraint.ConstraintRole.Keyref ||
constr2[
k].keyrefTable ==
null)
2248 {
2249 continue;
2250 }
2251 foreach (KeySequence key
in constr2[
k].keyrefTable.
Keys)
2252 {
2254 {
2256 {
2257 key.ToString(),
2258 constr2[k].constraint.name.ToString()
2259 }, _sourceUriString,
key.PosLine,
key.PosCol));
2260 }
2261 }
2262 }
2263 }
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
void Add(TKey key, TValue value)
static bool IgnoreEmptyKeySequences
static string Sch_UnresolvedKeyref
static string Sch_MissingKey
static string Sch_DuplicateKey
static string Sch_FieldSingleValueExpected