0

我在 VB.NET 中工作 - C# 答案很好。

我正在构建一个系统来处理针对特定 XmlSchema 的 XML 验证。我的 XML 文档中的每个错误都有一个 SchemaException 实例,我可以从中获取错误的行号和位置,以及消息。据我所知,确定特定错误(无效属性、缺少元素等)的唯一方法是读取不可靠的消息字符串,因为 MS 将来可能会更改它并且消息被本地化。

我需要能够在不依赖 .Message 属性的情况下区分这些错误,以便显示我自己的自定义错误并在我的文本编辑器中突出显示错误。

区分这些的正确方法是什么?这一定是可能的,对吧?

更多信息:

异常的 LinePosition 属性并不总是报告我想开始突出显示的位置 - 例如,所有与属性相关的异常都报告属性的开始,我希望能够仅突出显示属性值,如果那是问题。

SchemaException 提供了一个 SourceSchemaObject 属性,我可以用它来确定问题是来自元素还是属性,如果运气好的话,我可以通过提取导致错误并以某种方式将其与 SourceSchemaObject 进行比较,但这感觉像是一个非常复杂和 hacky 的解决方案 - 如果我可以解决特定错误,我可以通过一些正则表达式工作来解决它。

4

3 回答 3

5

好的,我最终解决了这个问题。我认为异常必须具有指示特定错误的内部值才能生成消息,因此我使用 ILSpy 深入观察它的灵魂。事实证明它确实有一个名为“res”的内部字段,它包含一个映射到我们可以使用反射访问的错误的字符串。

我写了一个小扩展方法,为我检索这个错误作为一个字符串。

<Extension()>
Public Function getErrorType(ByRef ref As XmlSchemaException) As XmlSchemaExceptionErrorType
        Return GetType(XmlSchemaException).GetField("res", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance).GetValue(ref)
End Function 

这很棒,但我不想记住选择案例场景的所有这些字符串,所以我编写了一个脚本,将使用 ILSpy 提取的源代码转换为 Enum 并重新编写扩展方法,如下所示:

<Extension()>
Public Function getErrorType(ByRef ref As XmlSchemaException) As XmlSchemaExceptionErrorType
    Dim res As String = GetType(XmlSchemaException).GetField("res", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance).GetValue(ref)
    Return CType(System.Enum.Parse(GetType(XmlSchemaExceptionErrorType), res), XmlSchemaExceptionErrorType)
End Function

Public Enum XmlSchemaExceptionErrorType As Integer
        Sch_ParEntityRefNesting = 0
        Sch_NotTokenString = 1
        Sch_XsdDateTimeCompare = 2
        Sch_InvalidNullCast = 3
        Sch_InvalidDateTimeOption = 4
        Sch_StandAloneNormalization = 5
        Sch_UnSpecifiedDefaultAttributeInExternalStandalone = 6
        Sch_DefaultException = 7
        Sch_DupElementDecl = 8
        Sch_IdAttrDeclared = 9
        Sch_RootMatchDocType = 10
        Sch_DupId = 11
        Sch_UndeclaredElement = 12
        Sch_UndeclaredAttribute = 13
        Sch_UndeclaredNotation = 14
        Sch_UndeclaredId = 15
        Sch_SchemaRootExpected = 16
        Sch_XSDSchemaRootExpected = 17
        Sch_UnsupportedAttribute = 18
        Sch_UnsupportedElement = 19
        Sch_MissAttribute = 20
        Sch_AnnotationLocation = 21
        Sch_DataTypeTextOnly = 22
        Sch_UnknownModel = 23
        Sch_UnknownOrder = 24
        Sch_UnknownContent = 25
        Sch_UnknownRequired = 26
        Sch_UnknownDtType = 27
        Sch_MixedMany = 28
        Sch_GroupDisabled = 29
        Sch_MissDtvalue = 30
        Sch_MissDtvaluesAttribute = 31
        Sch_DupDtType = 32
        Sch_DupAttribute = 33
        Sch_RequireEnumeration = 34
        Sch_DefaultIdValue = 35
        Sch_ElementNotAllowed = 36
        Sch_ElementMissing = 37
        Sch_ManyMaxOccurs = 38
        Sch_MaxOccursInvalid = 39
        Sch_MinOccursInvalid = 40
        Sch_DtMaxLengthInvalid = 41
        Sch_DtMinLengthInvalid = 42
        Sch_DupDtMaxLength = 43
        Sch_DupDtMinLength = 44
        Sch_DtMinMaxLength = 45
        Sch_DupElement = 46
        Sch_DupGroupParticle = 47
        Sch_InvalidValue = 48
        Sch_InvalidValueDetailed = 49
        Sch_InvalidValueDetailedAttribute = 50
        Sch_MissRequiredAttribute = 51
        Sch_FixedAttributeValue = 52
        Sch_FixedElementValue = 53
        Sch_AttributeValueDataTypeDetailed = 54
        Sch_AttributeDefaultDataType = 55
        Sch_IncludeLocation = 56
        Sch_ImportLocation = 57
        Sch_RedefineLocation = 58
        Sch_InvalidBlockDefaultValue = 59
        Sch_InvalidFinalDefaultValue = 60
        Sch_InvalidElementBlockValue = 61
        Sch_InvalidElementFinalValue = 62
        Sch_InvalidSimpleTypeFinalValue = 63
        Sch_InvalidComplexTypeBlockValue = 64
        Sch_InvalidComplexTypeFinalValue = 65
        Sch_DupIdentityConstraint = 66
        Sch_DupGlobalElement = 67
        Sch_DupGlobalAttribute = 68
        Sch_DupSimpleType = 69
        Sch_DupComplexType = 70
        Sch_DupGroup = 71
        Sch_DupAttributeGroup = 72
        Sch_DupNotation = 73
        Sch_DefaultFixedAttributes = 74
        Sch_FixedInRef = 75
        Sch_FixedDefaultInRef = 76
        Sch_DupXsdElement = 77
        Sch_ForbiddenAttribute = 78
        Sch_AttributeIgnored = 79
        Sch_ElementRef = 80
        Sch_TypeMutualExclusive = 81
        Sch_ElementNameRef = 82
        Sch_AttributeNameRef = 83
        Sch_TextNotAllowed = 84
        Sch_UndeclaredType = 85
        Sch_UndeclaredSimpleType = 86
        Sch_UndeclaredEquivClass = 87
        Sch_AttListPresence = 88
        Sch_NotationValue = 89
        Sch_EnumerationValue = 90
        Sch_EmptyAttributeValue = 91
        Sch_InvalidLanguageId = 92
        Sch_XmlSpace = 93
        Sch_InvalidXsdAttributeValue = 94
        Sch_InvalidXsdAttributeDatatypeValue = 95
        Sch_ElementValueDataTypeDetailed = 96
        Sch_InvalidElementDefaultValue = 97
        Sch_NonDeterministic = 98
        Sch_NonDeterministicAnyEx = 99
        Sch_NonDeterministicAnyAny = 100
        Sch_StandAlone = 101
        Sch_XmlNsAttribute = 102
        Sch_AllElement = 103
        Sch_MismatchTargetNamespaceInclude = 104
        Sch_MismatchTargetNamespaceImport = 105
        Sch_MismatchTargetNamespaceEx = 106
        Sch_XsiTypeNotFound = 107
        Sch_XsiTypeAbstract = 108
        Sch_ListFromNonatomic = 109
        Sch_UnionFromUnion = 110
        Sch_DupLengthFacet = 111
        Sch_DupMinLengthFacet = 112
        Sch_DupMaxLengthFacet = 113
        Sch_DupWhiteSpaceFacet = 114
        Sch_DupMaxInclusiveFacet = 115
        Sch_DupMaxExclusiveFacet = 116
        Sch_DupMinInclusiveFacet = 117
        Sch_DupMinExclusiveFacet = 118
        Sch_DupTotalDigitsFacet = 119
        Sch_DupFractionDigitsFacet = 120
        Sch_LengthFacetProhibited = 121
        Sch_MinLengthFacetProhibited = 122
        Sch_MaxLengthFacetProhibited = 123
        Sch_PatternFacetProhibited = 124
        Sch_EnumerationFacetProhibited = 125
        Sch_WhiteSpaceFacetProhibited = 126
        Sch_MaxInclusiveFacetProhibited = 127
        Sch_MaxExclusiveFacetProhibited = 128
        Sch_MinInclusiveFacetProhibited = 129
        Sch_MinExclusiveFacetProhibited = 130
        Sch_TotalDigitsFacetProhibited = 131
        Sch_FractionDigitsFacetProhibited = 132
        Sch_LengthFacetInvalid = 133
        Sch_MinLengthFacetInvalid = 134
        Sch_MaxLengthFacetInvalid = 135
        Sch_MaxInclusiveFacetInvalid = 136
        Sch_MaxExclusiveFacetInvalid = 137
        Sch_MinInclusiveFacetInvalid = 138
        Sch_MinExclusiveFacetInvalid = 139
        Sch_TotalDigitsFacetInvalid = 140
        Sch_FractionDigitsFacetInvalid = 141
        Sch_PatternFacetInvalid = 142
        Sch_EnumerationFacetInvalid = 143
        Sch_InvalidWhiteSpace = 144
        Sch_UnknownFacet = 145
        Sch_LengthAndMinMax = 146
        Sch_MinLengthGtMaxLength = 147
        Sch_FractionDigitsGtTotalDigits = 148
        Sch_LengthConstraintFailed = 149
        Sch_MinLengthConstraintFailed = 150
        Sch_MaxLengthConstraintFailed = 151
        Sch_PatternConstraintFailed = 152
        Sch_EnumerationConstraintFailed = 153
        Sch_MaxInclusiveConstraintFailed = 154
        Sch_MaxExclusiveConstraintFailed = 155
        Sch_MinInclusiveConstraintFailed = 156
        Sch_MinExclusiveConstraintFailed = 157
        Sch_TotalDigitsConstraintFailed = 158
        Sch_FractionDigitsConstraintFailed = 159
        Sch_UnionFailedEx = 160
        Sch_NotationRequired = 161
        Sch_DupNotationAttribute = 162
        Sch_MissingPublicSystemAttribute = 163
        Sch_NotationAttributeOnEmptyElement = 164
        Sch_RefNotInScope = 165
        Sch_UndeclaredIdentityConstraint = 166
        Sch_RefInvalidIdentityConstraint = 167
        Sch_RefInvalidCardin = 168
        Sch_ReftoKeyref = 169
        Sch_EmptyXPath = 170
        Sch_UnresolvedPrefix = 171
        Sch_UnresolvedKeyref = 172
        Sch_ICXpathError = 173
        Sch_SelectorAttr = 174
        Sch_FieldSimpleTypeExpected = 175
        Sch_FieldSingleValueExpected = 176
        Sch_MissingKey = 177
        Sch_DuplicateKey = 178
        Sch_TargetNamespaceXsi = 179
        Sch_UndeclaredEntity = 180
        Sch_UnparsedEntityRef = 181
        Sch_MaxOccursInvalidXsd = 182
        Sch_MinOccursInvalidXsd = 183
        Sch_MaxInclusiveExclusive = 184
        Sch_MinInclusiveExclusive = 185
        Sch_MinInclusiveGtMaxInclusive = 186
        Sch_MinExclusiveGtMaxExclusive = 187
        Sch_MinInclusiveGtMaxExclusive = 188
        Sch_MinExclusiveGtMaxInclusive = 189
        Sch_SimpleTypeRestriction = 190
        Sch_InvalidFacetPosition = 191
        Sch_AttributeMutuallyExclusive = 192
        Sch_AnyAttributeLastChild = 193
        Sch_ComplexTypeContentModel = 194
        Sch_ComplexContentContentModel = 195
        Sch_NotNormalizedString = 196
        Sch_FractionDigitsNotOnDecimal = 197
        Sch_ContentInNill = 198
        Sch_NoElementSchemaFound = 199
        Sch_NoAttributeSchemaFound = 200
        Sch_InvalidNamespace = 201
        Sch_InvalidTargetNamespaceAttribute = 202
        Sch_InvalidNamespaceAttribute = 203
        Sch_InvalidSchemaLocation = 204
        Sch_ImportTargetNamespace = 205
        Sch_ImportTargetNamespaceNull = 206
        Sch_GroupDoubleRedefine = 207
        Sch_ComponentRedefineNotFound = 208
        Sch_GroupRedefineNotFound = 209
        Sch_AttrGroupDoubleRedefine = 210
        Sch_AttrGroupRedefineNotFound = 211
        Sch_ComplexTypeDoubleRedefine = 212
        Sch_ComplexTypeRedefineNotFound = 213
        Sch_SimpleToComplexTypeRedefine = 214
        Sch_SimpleTypeDoubleRedefine = 215
        Sch_ComplexToSimpleTypeRedefine = 216
        Sch_SimpleTypeRedefineNotFound = 217
        Sch_MinMaxGroupRedefine = 218
        Sch_MultipleGroupSelfRef = 219
        Sch_MultipleAttrGroupSelfRef = 220
        Sch_InvalidTypeRedefine = 221
        Sch_InvalidElementRef = 222
        Sch_MinGtMax = 223
        Sch_DupSelector = 224
        Sch_IdConstraintNoSelector = 225
        Sch_IdConstraintNoFields = 226
        Sch_IdConstraintNoRefer = 227
        Sch_SelectorBeforeFields = 228
        Sch_NoSimpleTypeContent = 229
        Sch_SimpleTypeRestRefBase = 230
        Sch_SimpleTypeRestRefBaseNone = 231
        Sch_SimpleTypeListRefBase = 232
        Sch_SimpleTypeListRefBaseNone = 233
        Sch_SimpleTypeUnionNoBase = 234
        Sch_NoRestOrExtQName = 235
        Sch_NoRestOrExt = 236
        Sch_NoGroupParticle = 237
        Sch_InvalidAllMin = 238
        Sch_InvalidAllMax = 239
        Sch_InvalidFacet = 240
        Sch_AbstractElement = 241
        Sch_XsiTypeBlockedEx = 242
        Sch_InvalidXsiNill = 243
        Sch_SubstitutionNotAllowed = 244
        Sch_SubstitutionBlocked = 245
        Sch_InvalidElementInEmptyEx = 246
        Sch_InvalidElementInTextOnlyEx = 247
        Sch_InvalidTextInElement = 248
        Sch_InvalidElementContent = 249
        Sch_InvalidElementContentComplex = 250
        Sch_IncompleteContent = 251
        Sch_IncompleteContentComplex = 252
        Sch_InvalidTextInElementExpecting = 253
        Sch_InvalidElementContentExpecting = 254
        Sch_InvalidElementContentExpectingComplex = 255
        Sch_IncompleteContentExpecting = 256
        Sch_IncompleteContentExpectingComplex = 257
        Sch_InvalidElementSubstitution = 258
        Sch_ElementNameAndNamespace = 259
        Sch_ElementName = 260
        Sch_ContinuationString = 261
        Sch_AnyElementNS = 262
        Sch_AnyElement = 263
        Sch_InvalidTextInEmpty = 264
        Sch_InvalidWhitespaceInEmpty = 265
        Sch_InvalidPIComment = 266
        Sch_InvalidAttributeRef = 267
        Sch_OptionalDefaultAttribute = 268
        Sch_AttributeCircularRef = 269
        Sch_IdentityConstraintCircularRef = 270
        Sch_SubstitutionCircularRef = 271
        Sch_InvalidAnyAttribute = 272
        Sch_DupIdAttribute = 273
        Sch_InvalidAllElementMax = 274
        Sch_InvalidAny = 275
        Sch_InvalidAnyDetailed = 276
        Sch_InvalidExamplar = 277
        Sch_NoExamplar = 278
        Sch_InvalidSubstitutionMember = 279
        Sch_RedefineNoSchema = 280
        Sch_ProhibitedAttribute = 281
        Sch_TypeCircularRef = 282
        Sch_TwoIdAttrUses = 283
        Sch_AttrUseAndWildId = 284
        Sch_MoreThanOneWildId = 285
        Sch_BaseFinalExtension = 286
        Sch_NotSimpleContent = 287
        Sch_NotComplexContent = 288
        Sch_BaseFinalRestriction = 289
        Sch_BaseFinalList = 290
        Sch_BaseFinalUnion = 291
        Sch_UndefBaseRestriction = 292
        Sch_UndefBaseExtension = 293
        Sch_DifContentType = 294
        Sch_InvalidContentRestriction = 295
        Sch_InvalidContentRestrictionDetailed = 296
        Sch_InvalidBaseToEmpty = 297
        Sch_InvalidBaseToMixed = 298
        Sch_DupAttributeUse = 299
        Sch_InvalidParticleRestriction = 300
        Sch_InvalidParticleRestrictionDetailed = 301
        Sch_ForbiddenDerivedParticleForAll = 302
        Sch_ForbiddenDerivedParticleForElem = 303
        Sch_ForbiddenDerivedParticleForChoice = 304
        Sch_ForbiddenDerivedParticleForSeq = 305
        Sch_ElementFromElement = 306
        Sch_ElementFromAnyRule1 = 307
        Sch_ElementFromAnyRule2 = 308
        Sch_AnyFromAnyRule1 = 309
        Sch_AnyFromAnyRule2 = 310
        Sch_AnyFromAnyRule3 = 311
        Sch_GroupBaseFromAny1 = 312
        Sch_GroupBaseFromAny2 = 313
        Sch_ElementFromGroupBase1 = 314
        Sch_ElementFromGroupBase2 = 315
        Sch_ElementFromGroupBase3 = 316
        Sch_GroupBaseRestRangeInvalid = 317
        Sch_GroupBaseRestNoMap = 318
        Sch_GroupBaseRestNotEmptiable = 319
        Sch_SeqFromAll = 320
        Sch_SeqFromChoice = 321
        Sch_UndefGroupRef = 322
        Sch_GroupCircularRef = 323
        Sch_AllRefNotRoot = 324
        Sch_AllRefMinMax = 325
        Sch_NotAllAlone = 326
        Sch_AttributeGroupCircularRef = 327
        Sch_UndefAttributeGroupRef = 328
        Sch_InvalidAttributeExtension = 329
        Sch_InvalidAnyAttributeRestriction = 330
        Sch_AttributeRestrictionProhibited = 331
        Sch_AttributeRestrictionInvalid = 332
        Sch_AttributeFixedInvalid = 333
        Sch_AttributeUseInvalid = 334
        Sch_AttributeRestrictionInvalidFromWildcard = 335
        Sch_NoDerivedAttribute = 336
        Sch_UnexpressibleAnyAttribute = 337
        Sch_RefInvalidAttribute = 338
        Sch_ElementCircularRef = 339
        Sch_RefInvalidElement = 340
        Sch_ElementCannotHaveValue = 341
        Sch_ElementInMixedWithFixed = 342
        Sch_ElementTypeCollision = 343
        Sch_InvalidIncludeLocation = 344
        Sch_CannotLoadSchema = 345
        Sch_CannotLoadSchemaLocation = 346
        Sch_LengthGtBaseLength = 347
        Sch_MinLengthGtBaseMinLength = 348
        Sch_MaxLengthGtBaseMaxLength = 349
        Sch_MaxMinLengthBaseLength = 350
        Sch_MaxInclusiveMismatch = 351
        Sch_MaxExclusiveMismatch = 352
        Sch_MinInclusiveMismatch = 353
        Sch_MinExclusiveMismatch = 354
        Sch_MinExlIncMismatch = 355
        Sch_MinExlMaxExlMismatch = 356
        Sch_MinIncMaxExlMismatch = 357
        Sch_MinIncExlMismatch = 358
        Sch_MaxIncExlMismatch = 359
        Sch_MaxExlIncMismatch = 360
        Sch_TotalDigitsMismatch = 361
        Sch_FacetBaseFixed = 362
        Sch_WhiteSpaceRestriction1 = 363
        Sch_WhiteSpaceRestriction2 = 364
        Sch_XsiNilAndFixed = 365
        Sch_MixSchemaTypes = 366
        Sch_XSDSchemaOnly = 367
        Sch_InvalidPublicAttribute = 368
        Sch_InvalidSystemAttribute = 369
        Sch_TypeAfterConstraints = 370
        Sch_XsiNilAndType = 371
        Sch_DupSimpleTypeChild = 372
        Sch_InvalidIdAttribute = 373
        Sch_InvalidNameAttributeEx = 374
        Sch_InvalidAttribute = 375
        Sch_EmptyChoice = 376
        Sch_DerivedNotFromBase = 377
        Sch_NeedSimpleTypeChild = 378
        Sch_InvalidCollection = 379
        Sch_UnrefNS = 380
        Sch_InvalidSimpleTypeRestriction = 381
        Sch_MultipleRedefine = 382
        Sch_NullValue = 383
        Sch_ComplexContentModel = 384
        Sch_SchemaNotPreprocessed = 385
        Sch_SchemaNotRemoved = 386
        Sch_ComponentAlreadySeenForNS = 387
        Sch_DefaultAttributeNotApplied = 388
        Sch_NotXsiAttribute = 389
        Sch_SchemaDoesNotExist = 390
        Sch_InvalidStartTransition = 391
        Sch_InvalidStateTransition = 392
        Sch_InvalidEndValidation = 393
        Sch_InvalidEndElementCall = 394
        Sch_InvalidEndElementCallTyped = 395
        Sch_InvalidEndElementMultiple = 396
        Sch_DuplicateAttribute = 397
        Sch_InvalidPartialValidationType = 398
        Sch_SchemaElementNameMismatch = 399
        Sch_SchemaAttributeNameMismatch = 400
        Sch_ValidateAttributeInvalidCall = 401
        Sch_ValidateElementInvalidCall = 402
        Sch_EnumNotStarted = 403
        Sch_EnumFinished = 404
        Sch_ErrorPosition = 405
        Sch_ReservedNsDecl = 406
        Sch_NotInSchemaCollection = 407
        Sch_NotationNotAttr = 408
        Sch_InvalidContent = 409
        Sch_InvalidContentExpecting = 410
        Sch_InvalidTextWhiteSpace = 411
        Sch_XSCHEMA = 412
        Sch_DubSchema = 413
        Sch_AttributeValueDataType = 414
        Sch_ElementValueDataType = 415
        Sch_NonDeterministicAny = 416
        Sch_MismatchTargetNamespace = 417
        Sch_UnionFailed = 418
        Sch_XsiTypeBlocked = 419
        Sch_InvalidElementInEmpty = 420
        Sch_InvalidElementInTextOnly = 421
        Sch_InvalidNameAttribute = 422
    End Enum

呸呸!

现在我可以像这样进行错误处理:

Select Case e.Exception.getErrorType
    Case XmlSchemaExceptionErrorType.Sch_UndeclaredAttribute
        ' Error specific code
    Case XmlSchemaExceptionErrorType.Sch_UndeclaredElement
        ' Error specific code
    Case Else
        ' General code for handling any other errors we don't specifically care about
End Select
于 2012-11-30T20:38:09.213 回答
0

您可以xml根据架构进行验证。

验证错误在XmlReaderSettings.ValidationEventHandler事件中处理。这里的例子

如果您有 xml 模式的分类(如验证规则),则可以将输入消息解析/转换为用户友好的消息。

对于其他非 xml 错误,将通用 try/catch 处理程序添加到您正在读取/验证 xml 文件的代码中。

于 2012-11-28T14:53:06.637 回答
0

SeriousSamP 的答案很棒。我将代码移植到 C#。也许它对其他人有用。

只需将代码添加到新类;根据需要调整命名空间;在需要异常类型的文件中添加命名空间 using。

像这样称呼它:XmlSchemaExceptionErrorType myType = myException.GetSchemaErrorType();

这是移植的代码:

using System.Xml.Schema;

namespace MyNamespace.ClassExtensions
{
    public static class XmlSchemaExceptionExtensions
    {

        /// <summary>
        /// Get schema error type as enum. (This is only possible by reflection.)
        /// </summary>
        public static XmlSchemaExceptionErrorType GetSchemaErrorType(this XmlSchemaException exception)
        {
            string res = typeof(XmlSchemaException).GetField("res", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(exception) as string;
            return (XmlSchemaExceptionErrorType)System.Enum.Parse(typeof(XmlSchemaExceptionErrorType), res);
        }


        /// <summary>
        /// Error type enums of XmlSchemaException.
        /// </summary>
        public enum XmlSchemaExceptionErrorType
        {
            #region long list of definitions
            Sch_ParEntityRefNesting = 0,
            Sch_NotTokenString = 1,
            Sch_XsdDateTimeCompare = 2,
            Sch_InvalidNullCast = 3,
            Sch_InvalidDateTimeOption = 4,
            Sch_StandAloneNormalization = 5,
            Sch_UnSpecifiedDefaultAttributeInExternalStandalone = 6,
            Sch_DefaultException = 7,
            Sch_DupElementDecl = 8,
            Sch_IdAttrDeclared = 9,
            Sch_RootMatchDocType = 10,
            Sch_DupId = 11,
            Sch_UndeclaredElement = 12,
            Sch_UndeclaredAttribute = 13,
            Sch_UndeclaredNotation = 14,
            Sch_UndeclaredId = 15,
            Sch_SchemaRootExpected = 16,
            Sch_XSDSchemaRootExpected = 17,
            Sch_UnsupportedAttribute = 18,
            Sch_UnsupportedElement = 19,
            Sch_MissAttribute = 20,
            Sch_AnnotationLocation = 21,
            Sch_DataTypeTextOnly = 22,
            Sch_UnknownModel = 23,
            Sch_UnknownOrder = 24,
            Sch_UnknownContent = 25,
            Sch_UnknownRequired = 26,
            Sch_UnknownDtType = 27,
            Sch_MixedMany = 28,
            Sch_GroupDisabled = 29,
            Sch_MissDtvalue = 30,
            Sch_MissDtvaluesAttribute = 31,
            Sch_DupDtType = 32,
            Sch_DupAttribute = 33,
            Sch_RequireEnumeration = 34,
            Sch_DefaultIdValue = 35,
            Sch_ElementNotAllowed = 36,
            Sch_ElementMissing = 37,
            Sch_ManyMaxOccurs = 38,
            Sch_MaxOccursInvalid = 39,
            Sch_MinOccursInvalid = 40,
            Sch_DtMaxLengthInvalid = 41,
            Sch_DtMinLengthInvalid = 42,
            Sch_DupDtMaxLength = 43,
            Sch_DupDtMinLength = 44,
            Sch_DtMinMaxLength = 45,
            Sch_DupElement = 46,
            Sch_DupGroupParticle = 47,
            Sch_InvalidValue = 48,
            Sch_InvalidValueDetailed = 49,
            Sch_InvalidValueDetailedAttribute = 50,
            Sch_MissRequiredAttribute = 51,
            Sch_FixedAttributeValue = 52,
            Sch_FixedElementValue = 53,
            Sch_AttributeValueDataTypeDetailed = 54,
            Sch_AttributeDefaultDataType = 55,
            Sch_IncludeLocation = 56,
            Sch_ImportLocation = 57,
            Sch_RedefineLocation = 58,
            Sch_InvalidBlockDefaultValue = 59,
            Sch_InvalidFinalDefaultValue = 60,
            Sch_InvalidElementBlockValue = 61,
            Sch_InvalidElementFinalValue = 62,
            Sch_InvalidSimpleTypeFinalValue = 63,
            Sch_InvalidComplexTypeBlockValue = 64,
            Sch_InvalidComplexTypeFinalValue = 65,
            Sch_DupIdentityConstraint = 66,
            Sch_DupGlobalElement = 67,
            Sch_DupGlobalAttribute = 68,
            Sch_DupSimpleType = 69,
            Sch_DupComplexType = 70,
            Sch_DupGroup = 71,
            Sch_DupAttributeGroup = 72,
            Sch_DupNotation = 73,
            Sch_DefaultFixedAttributes = 74,
            Sch_FixedInRef = 75,
            Sch_FixedDefaultInRef = 76,
            Sch_DupXsdElement = 77,
            Sch_ForbiddenAttribute = 78,
            Sch_AttributeIgnored = 79,
            Sch_ElementRef = 80,
            Sch_TypeMutualExclusive = 81,
            Sch_ElementNameRef = 82,
            Sch_AttributeNameRef = 83,
            Sch_TextNotAllowed = 84,
            Sch_UndeclaredType = 85,
            Sch_UndeclaredSimpleType = 86,
            Sch_UndeclaredEquivClass = 87,
            Sch_AttListPresence = 88,
            Sch_NotationValue = 89,
            Sch_EnumerationValue = 90,
            Sch_EmptyAttributeValue = 91,
            Sch_InvalidLanguageId = 92,
            Sch_XmlSpace = 93,
            Sch_InvalidXsdAttributeValue = 94,
            Sch_InvalidXsdAttributeDatatypeValue = 95,
            Sch_ElementValueDataTypeDetailed = 96,
            Sch_InvalidElementDefaultValue = 97,
            Sch_NonDeterministic = 98,
            Sch_NonDeterministicAnyEx = 99,
            Sch_NonDeterministicAnyAny = 100,
            Sch_StandAlone = 101,
            Sch_XmlNsAttribute = 102,
            Sch_AllElement = 103,
            Sch_MismatchTargetNamespaceInclude = 104,
            Sch_MismatchTargetNamespaceImport = 105,
            Sch_MismatchTargetNamespaceEx = 106,
            Sch_XsiTypeNotFound = 107,
            Sch_XsiTypeAbstract = 108,
            Sch_ListFromNonatomic = 109,
            Sch_UnionFromUnion = 110,
            Sch_DupLengthFacet = 111,
            Sch_DupMinLengthFacet = 112,
            Sch_DupMaxLengthFacet = 113,
            Sch_DupWhiteSpaceFacet = 114,
            Sch_DupMaxInclusiveFacet = 115,
            Sch_DupMaxExclusiveFacet = 116,
            Sch_DupMinInclusiveFacet = 117,
            Sch_DupMinExclusiveFacet = 118,
            Sch_DupTotalDigitsFacet = 119,
            Sch_DupFractionDigitsFacet = 120,
            Sch_LengthFacetProhibited = 121,
            Sch_MinLengthFacetProhibited = 122,
            Sch_MaxLengthFacetProhibited = 123,
            Sch_PatternFacetProhibited = 124,
            Sch_EnumerationFacetProhibited = 125,
            Sch_WhiteSpaceFacetProhibited = 126,
            Sch_MaxInclusiveFacetProhibited = 127,
            Sch_MaxExclusiveFacetProhibited = 128,
            Sch_MinInclusiveFacetProhibited = 129,
            Sch_MinExclusiveFacetProhibited = 130,
            Sch_TotalDigitsFacetProhibited = 131,
            Sch_FractionDigitsFacetProhibited = 132,
            Sch_LengthFacetInvalid = 133,
            Sch_MinLengthFacetInvalid = 134,
            Sch_MaxLengthFacetInvalid = 135,
            Sch_MaxInclusiveFacetInvalid = 136,
            Sch_MaxExclusiveFacetInvalid = 137,
            Sch_MinInclusiveFacetInvalid = 138,
            Sch_MinExclusiveFacetInvalid = 139,
            Sch_TotalDigitsFacetInvalid = 140,
            Sch_FractionDigitsFacetInvalid = 141,
            Sch_PatternFacetInvalid = 142,
            Sch_EnumerationFacetInvalid = 143,
            Sch_InvalidWhiteSpace = 144,
            Sch_UnknownFacet = 145,
            Sch_LengthAndMinMax = 146,
            Sch_MinLengthGtMaxLength = 147,
            Sch_FractionDigitsGtTotalDigits = 148,
            Sch_LengthConstraintFailed = 149,
            Sch_MinLengthConstraintFailed = 150,
            Sch_MaxLengthConstraintFailed = 151,
            Sch_PatternConstraintFailed = 152,
            Sch_EnumerationConstraintFailed = 153,
            Sch_MaxInclusiveConstraintFailed = 154,
            Sch_MaxExclusiveConstraintFailed = 155,
            Sch_MinInclusiveConstraintFailed = 156,
            Sch_MinExclusiveConstraintFailed = 157,
            Sch_TotalDigitsConstraintFailed = 158,
            Sch_FractionDigitsConstraintFailed = 159,
            Sch_UnionFailedEx = 160,
            Sch_NotationRequired = 161,
            Sch_DupNotationAttribute = 162,
            Sch_MissingPublicSystemAttribute = 163,
            Sch_NotationAttributeOnEmptyElement = 164,
            Sch_RefNotInScope = 165,
            Sch_UndeclaredIdentityConstraint = 166,
            Sch_RefInvalidIdentityConstraint = 167,
            Sch_RefInvalidCardin = 168,
            Sch_ReftoKeyref = 169,
            Sch_EmptyXPath = 170,
            Sch_UnresolvedPrefix = 171,
            Sch_UnresolvedKeyref = 172,
            Sch_ICXpathError = 173,
            Sch_SelectorAttr = 174,
            Sch_FieldSimpleTypeExpected = 175,
            Sch_FieldSingleValueExpected = 176,
            Sch_MissingKey = 177,
            Sch_DuplicateKey = 178,
            Sch_TargetNamespaceXsi = 179,
            Sch_UndeclaredEntity = 180,
            Sch_UnparsedEntityRef = 181,
            Sch_MaxOccursInvalidXsd = 182,
            Sch_MinOccursInvalidXsd = 183,
            Sch_MaxInclusiveExclusive = 184,
            Sch_MinInclusiveExclusive = 185,
            Sch_MinInclusiveGtMaxInclusive = 186,
            Sch_MinExclusiveGtMaxExclusive = 187,
            Sch_MinInclusiveGtMaxExclusive = 188,
            Sch_MinExclusiveGtMaxInclusive = 189,
            Sch_SimpleTypeRestriction = 190,
            Sch_InvalidFacetPosition = 191,
            Sch_AttributeMutuallyExclusive = 192,
            Sch_AnyAttributeLastChild = 193,
            Sch_ComplexTypeContentModel = 194,
            Sch_ComplexContentContentModel = 195,
            Sch_NotNormalizedString = 196,
            Sch_FractionDigitsNotOnDecimal = 197,
            Sch_ContentInNill = 198,
            Sch_NoElementSchemaFound = 199,
            Sch_NoAttributeSchemaFound = 200,
            Sch_InvalidNamespace = 201,
            Sch_InvalidTargetNamespaceAttribute = 202,
            Sch_InvalidNamespaceAttribute = 203,
            Sch_InvalidSchemaLocation = 204,
            Sch_ImportTargetNamespace = 205,
            Sch_ImportTargetNamespaceNull = 206,
            Sch_GroupDoubleRedefine = 207,
            Sch_ComponentRedefineNotFound = 208,
            Sch_GroupRedefineNotFound = 209,
            Sch_AttrGroupDoubleRedefine = 210,
            Sch_AttrGroupRedefineNotFound = 211,
            Sch_ComplexTypeDoubleRedefine = 212,
            Sch_ComplexTypeRedefineNotFound = 213,
            Sch_SimpleToComplexTypeRedefine = 214,
            Sch_SimpleTypeDoubleRedefine = 215,
            Sch_ComplexToSimpleTypeRedefine = 216,
            Sch_SimpleTypeRedefineNotFound = 217,
            Sch_MinMaxGroupRedefine = 218,
            Sch_MultipleGroupSelfRef = 219,
            Sch_MultipleAttrGroupSelfRef = 220,
            Sch_InvalidTypeRedefine = 221,
            Sch_InvalidElementRef = 222,
            Sch_MinGtMax = 223,
            Sch_DupSelector = 224,
            Sch_IdConstraintNoSelector = 225,
            Sch_IdConstraintNoFields = 226,
            Sch_IdConstraintNoRefer = 227,
            Sch_SelectorBeforeFields = 228,
            Sch_NoSimpleTypeContent = 229,
            Sch_SimpleTypeRestRefBase = 230,
            Sch_SimpleTypeRestRefBaseNone = 231,
            Sch_SimpleTypeListRefBase = 232,
            Sch_SimpleTypeListRefBaseNone = 233,
            Sch_SimpleTypeUnionNoBase = 234,
            Sch_NoRestOrExtQName = 235,
            Sch_NoRestOrExt = 236,
            Sch_NoGroupParticle = 237,
            Sch_InvalidAllMin = 238,
            Sch_InvalidAllMax = 239,
            Sch_InvalidFacet = 240,
            Sch_AbstractElement = 241,
            Sch_XsiTypeBlockedEx = 242,
            Sch_InvalidXsiNill = 243,
            Sch_SubstitutionNotAllowed = 244,
            Sch_SubstitutionBlocked = 245,
            Sch_InvalidElementInEmptyEx = 246,
            Sch_InvalidElementInTextOnlyEx = 247,
            Sch_InvalidTextInElement = 248,
            Sch_InvalidElementContent = 249,
            Sch_InvalidElementContentComplex = 250,
            Sch_IncompleteContent = 251,
            Sch_IncompleteContentComplex = 252,
            Sch_InvalidTextInElementExpecting = 253,
            Sch_InvalidElementContentExpecting = 254,
            Sch_InvalidElementContentExpectingComplex = 255,
            Sch_IncompleteContentExpecting = 256,
            Sch_IncompleteContentExpectingComplex = 257,
            Sch_InvalidElementSubstitution = 258,
            Sch_ElementNameAndNamespace = 259,
            Sch_ElementName = 260,
            Sch_ContinuationString = 261,
            Sch_AnyElementNS = 262,
            Sch_AnyElement = 263,
            Sch_InvalidTextInEmpty = 264,
            Sch_InvalidWhitespaceInEmpty = 265,
            Sch_InvalidPIComment = 266,
            Sch_InvalidAttributeRef = 267,
            Sch_OptionalDefaultAttribute = 268,
            Sch_AttributeCircularRef = 269,
            Sch_IdentityConstraintCircularRef = 270,
            Sch_SubstitutionCircularRef = 271,
            Sch_InvalidAnyAttribute = 272,
            Sch_DupIdAttribute = 273,
            Sch_InvalidAllElementMax = 274,
            Sch_InvalidAny = 275,
            Sch_InvalidAnyDetailed = 276,
            Sch_InvalidExamplar = 277,
            Sch_NoExamplar = 278,
            Sch_InvalidSubstitutionMember = 279,
            Sch_RedefineNoSchema = 280,
            Sch_ProhibitedAttribute = 281,
            Sch_TypeCircularRef = 282,
            Sch_TwoIdAttrUses = 283,
            Sch_AttrUseAndWildId = 284,
            Sch_MoreThanOneWildId = 285,
            Sch_BaseFinalExtension = 286,
            Sch_NotSimpleContent = 287,
            Sch_NotComplexContent = 288,
            Sch_BaseFinalRestriction = 289,
            Sch_BaseFinalList = 290,
            Sch_BaseFinalUnion = 291,
            Sch_UndefBaseRestriction = 292,
            Sch_UndefBaseExtension = 293,
            Sch_DifContentType = 294,
            Sch_InvalidContentRestriction = 295,
            Sch_InvalidContentRestrictionDetailed = 296,
            Sch_InvalidBaseToEmpty = 297,
            Sch_InvalidBaseToMixed = 298,
            Sch_DupAttributeUse = 299,
            Sch_InvalidParticleRestriction = 300,
            Sch_InvalidParticleRestrictionDetailed = 301,
            Sch_ForbiddenDerivedParticleForAll = 302,
            Sch_ForbiddenDerivedParticleForElem = 303,
            Sch_ForbiddenDerivedParticleForChoice = 304,
            Sch_ForbiddenDerivedParticleForSeq = 305,
            Sch_ElementFromElement = 306,
            Sch_ElementFromAnyRule1 = 307,
            Sch_ElementFromAnyRule2 = 308,
            Sch_AnyFromAnyRule1 = 309,
            Sch_AnyFromAnyRule2 = 310,
            Sch_AnyFromAnyRule3 = 311,
            Sch_GroupBaseFromAny1 = 312,
            Sch_GroupBaseFromAny2 = 313,
            Sch_ElementFromGroupBase1 = 314,
            Sch_ElementFromGroupBase2 = 315,
            Sch_ElementFromGroupBase3 = 316,
            Sch_GroupBaseRestRangeInvalid = 317,
            Sch_GroupBaseRestNoMap = 318,
            Sch_GroupBaseRestNotEmptiable = 319,
            Sch_SeqFromAll = 320,
            Sch_SeqFromChoice = 321,
            Sch_UndefGroupRef = 322,
            Sch_GroupCircularRef = 323,
            Sch_AllRefNotRoot = 324,
            Sch_AllRefMinMax = 325,
            Sch_NotAllAlone = 326,
            Sch_AttributeGroupCircularRef = 327,
            Sch_UndefAttributeGroupRef = 328,
            Sch_InvalidAttributeExtension = 329,
            Sch_InvalidAnyAttributeRestriction = 330,
            Sch_AttributeRestrictionProhibited = 331,
            Sch_AttributeRestrictionInvalid = 332,
            Sch_AttributeFixedInvalid = 333,
            Sch_AttributeUseInvalid = 334,
            Sch_AttributeRestrictionInvalidFromWildcard = 335,
            Sch_NoDerivedAttribute = 336,
            Sch_UnexpressibleAnyAttribute = 337,
            Sch_RefInvalidAttribute = 338,
            Sch_ElementCircularRef = 339,
            Sch_RefInvalidElement = 340,
            Sch_ElementCannotHaveValue = 341,
            Sch_ElementInMixedWithFixed = 342,
            Sch_ElementTypeCollision = 343,
            Sch_InvalidIncludeLocation = 344,
            Sch_CannotLoadSchema = 345,
            Sch_CannotLoadSchemaLocation = 346,
            Sch_LengthGtBaseLength = 347,
            Sch_MinLengthGtBaseMinLength = 348,
            Sch_MaxLengthGtBaseMaxLength = 349,
            Sch_MaxMinLengthBaseLength = 350,
            Sch_MaxInclusiveMismatch = 351,
            Sch_MaxExclusiveMismatch = 352,
            Sch_MinInclusiveMismatch = 353,
            Sch_MinExclusiveMismatch = 354,
            Sch_MinExlIncMismatch = 355,
            Sch_MinExlMaxExlMismatch = 356,
            Sch_MinIncMaxExlMismatch = 357,
            Sch_MinIncExlMismatch = 358,
            Sch_MaxIncExlMismatch = 359,
            Sch_MaxExlIncMismatch = 360,
            Sch_TotalDigitsMismatch = 361,
            Sch_FacetBaseFixed = 362,
            Sch_WhiteSpaceRestriction1 = 363,
            Sch_WhiteSpaceRestriction2 = 364,
            Sch_XsiNilAndFixed = 365,
            Sch_MixSchemaTypes = 366,
            Sch_XSDSchemaOnly = 367,
            Sch_InvalidPublicAttribute = 368,
            Sch_InvalidSystemAttribute = 369,
            Sch_TypeAfterConstraints = 370,
            Sch_XsiNilAndType = 371,
            Sch_DupSimpleTypeChild = 372,
            Sch_InvalidIdAttribute = 373,
            Sch_InvalidNameAttributeEx = 374,
            Sch_InvalidAttribute = 375,
            Sch_EmptyChoice = 376,
            Sch_DerivedNotFromBase = 377,
            Sch_NeedSimpleTypeChild = 378,
            Sch_InvalidCollection = 379,
            Sch_UnrefNS = 380,
            Sch_InvalidSimpleTypeRestriction = 381,
            Sch_MultipleRedefine = 382,
            Sch_NullValue = 383,
            Sch_ComplexContentModel = 384,
            Sch_SchemaNotPreprocessed = 385,
            Sch_SchemaNotRemoved = 386,
            Sch_ComponentAlreadySeenForNS = 387,
            Sch_DefaultAttributeNotApplied = 388,
            Sch_NotXsiAttribute = 389,
            Sch_SchemaDoesNotExist = 390,
            Sch_InvalidStartTransition = 391,
            Sch_InvalidStateTransition = 392,
            Sch_InvalidEndValidation = 393,
            Sch_InvalidEndElementCall = 394,
            Sch_InvalidEndElementCallTyped = 395,
            Sch_InvalidEndElementMultiple = 396,
            Sch_DuplicateAttribute = 397,
            Sch_InvalidPartialValidationType = 398,
            Sch_SchemaElementNameMismatch = 399,
            Sch_SchemaAttributeNameMismatch = 400,
            Sch_ValidateAttributeInvalidCall = 401,
            Sch_ValidateElementInvalidCall = 402,
            Sch_EnumNotStarted = 403,
            Sch_EnumFinished = 404,
            Sch_ErrorPosition = 405,
            Sch_ReservedNsDecl = 406,
            Sch_NotInSchemaCollection = 407,
            Sch_NotationNotAttr = 408,
            Sch_InvalidContent = 409,
            Sch_InvalidContentExpecting = 410,
            Sch_InvalidTextWhiteSpace = 411,
            Sch_XSCHEMA = 412,
            Sch_DubSchema = 413,
            Sch_AttributeValueDataType = 414,
            Sch_ElementValueDataType = 415,
            Sch_NonDeterministicAny = 416,
            Sch_MismatchTargetNamespace = 417,
            Sch_UnionFailed = 418,
            Sch_XsiTypeBlocked = 419,
            Sch_InvalidElementInEmpty = 420,
            Sch_InvalidElementInTextOnly = 421,
            Sch_InvalidNameAttribute = 422
            #endregion
        }


    }
}
于 2020-09-09T06:18:01.713 回答