本文整理汇总了C#中System.Xml.Schema.XmlSchemaComplexType.SetFinalResolved方法的典型用法代码示例。如果您正苦于以下问题:C# XmlSchemaComplexType.SetFinalResolved方法的具体用法?C# XmlSchemaComplexType.SetFinalResolved怎么用?C# XmlSchemaComplexType.SetFinalResolved使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.Schema.XmlSchemaComplexType
的用法示例。
在下文中一共展示了XmlSchemaComplexType.SetFinalResolved方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PreprocessComplexType
private void PreprocessComplexType(XmlSchemaComplexType complexType, bool local)
{
if (local)
{
if (complexType.Name != null)
{
base.SendValidationEvent("Sch_ForbiddenAttribute", "name", complexType);
}
}
else
{
if (complexType.Name != null)
{
this.ValidateNameAttribute(complexType);
complexType.SetQualifiedName(new XmlQualifiedName(complexType.Name, this.targetNamespace));
}
else
{
base.SendValidationEvent("Sch_MissRequiredAttribute", "name", complexType);
}
if (complexType.Block == XmlSchemaDerivationMethod.All)
{
complexType.SetBlockResolved(XmlSchemaDerivationMethod.All);
}
else if (complexType.Block == XmlSchemaDerivationMethod.None)
{
complexType.SetBlockResolved(this.blockDefault & (XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension));
}
else
{
if ((complexType.Block & ~(XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension)) != XmlSchemaDerivationMethod.Empty)
{
base.SendValidationEvent("Sch_InvalidComplexTypeBlockValue", complexType);
}
complexType.SetBlockResolved(complexType.Block & (XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension));
}
if (complexType.Final == XmlSchemaDerivationMethod.All)
{
complexType.SetFinalResolved(XmlSchemaDerivationMethod.All);
}
else if (complexType.Final == XmlSchemaDerivationMethod.None)
{
if (this.finalDefault == XmlSchemaDerivationMethod.All)
{
complexType.SetFinalResolved(XmlSchemaDerivationMethod.All);
}
else
{
complexType.SetFinalResolved(this.finalDefault & (XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension));
}
}
else
{
if ((complexType.Final & ~(XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension)) != XmlSchemaDerivationMethod.Empty)
{
base.SendValidationEvent("Sch_InvalidComplexTypeFinalValue", complexType);
}
complexType.SetFinalResolved(complexType.Final & (XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension));
}
}
if (complexType.ContentModel != null)
{
this.SetParent(complexType.ContentModel, complexType);
this.PreprocessAnnotation(complexType.ContentModel);
if (complexType.Particle == null)
{
XmlSchemaObjectCollection attributes = complexType.Attributes;
}
if (complexType.ContentModel is XmlSchemaSimpleContent)
{
XmlSchemaSimpleContent contentModel = (XmlSchemaSimpleContent) complexType.ContentModel;
if (contentModel.Content == null)
{
if (complexType.QualifiedName == XmlQualifiedName.Empty)
{
base.SendValidationEvent("Sch_NoRestOrExt", complexType);
}
else
{
base.SendValidationEvent("Sch_NoRestOrExtQName", complexType.QualifiedName.Name, complexType.QualifiedName.Namespace, complexType);
}
}
else
{
this.SetParent(contentModel.Content, contentModel);
this.PreprocessAnnotation(contentModel.Content);
if (contentModel.Content is XmlSchemaSimpleContentExtension)
{
XmlSchemaSimpleContentExtension content = (XmlSchemaSimpleContentExtension) contentModel.Content;
if (content.BaseTypeName.IsEmpty)
{
base.SendValidationEvent("Sch_MissAttribute", "base", content);
}
else
{
this.ValidateQNameAttribute(content, "base", content.BaseTypeName);
}
this.PreprocessAttributes(content.Attributes, content.AnyAttribute, content);
this.ValidateIdAttribute(content);
}
//.........这里部分代码省略.........
示例2: PreprocessComplexType
private void PreprocessComplexType(XmlSchemaComplexType complexType, bool local) {
if (local) {
if (complexType.Name != null) {
SendValidationEvent(Res.Sch_ForbiddenAttribute, "name", complexType);
}
}
else {
if (complexType.Name != null) {
ValidateNameAttribute(complexType);
complexType.SetQualifiedName(new XmlQualifiedName(complexType.Name, this.targetNamespace));
}
else {
SendValidationEvent(Res.Sch_MissRequiredAttribute, "name", complexType);
}
if (complexType.Block == XmlSchemaDerivationMethod.All) {
complexType.SetBlockResolved(XmlSchemaDerivationMethod.All);
}
else if (complexType.Block == XmlSchemaDerivationMethod.None) {
complexType.SetBlockResolved(this.blockDefault & complexTypeBlockAllowed);
}
else {
if ((complexType.Block & ~complexTypeBlockAllowed) != 0) {
SendValidationEvent(Res.Sch_InvalidComplexTypeBlockValue, complexType);
}
complexType.SetBlockResolved(complexType.Block & complexTypeBlockAllowed);
}
if (complexType.Final == XmlSchemaDerivationMethod.All) {
complexType.SetFinalResolved(XmlSchemaDerivationMethod.All);
}
else if (complexType.Final == XmlSchemaDerivationMethod.None) {
if (this.finalDefault == XmlSchemaDerivationMethod.All) {
complexType.SetFinalResolved(XmlSchemaDerivationMethod.All);
}
else {
complexType.SetFinalResolved(this.finalDefault & complexTypeFinalAllowed);
}
}
else {
if ((complexType.Final & ~complexTypeFinalAllowed) != 0) {
SendValidationEvent(Res.Sch_InvalidComplexTypeFinalValue, complexType);
}
complexType.SetFinalResolved(complexType.Final & complexTypeFinalAllowed);
}
}
if (complexType.ContentModel != null) {
SetParent(complexType.ContentModel, complexType); //SimpleContent / complexCotent
PreprocessAnnotation(complexType.ContentModel);
if (complexType.Particle != null || complexType.Attributes != null) {
// this is illigal
}
if (complexType.ContentModel is XmlSchemaSimpleContent) {
XmlSchemaSimpleContent content = (XmlSchemaSimpleContent)complexType.ContentModel;
if (content.Content == null) {
if (complexType.QualifiedName == XmlQualifiedName.Empty) {
SendValidationEvent(Res.Sch_NoRestOrExt, complexType);
}
else {
SendValidationEvent(Res.Sch_NoRestOrExtQName, complexType.QualifiedName.Name, complexType.QualifiedName.Namespace, complexType);
}
}
else {
SetParent(content.Content, content); //simplecontent extension / restriction
PreprocessAnnotation(content.Content); //annotation child of simple extension / restriction
if (content.Content is XmlSchemaSimpleContentExtension) {
XmlSchemaSimpleContentExtension contentExtension = (XmlSchemaSimpleContentExtension)content.Content;
if (contentExtension.BaseTypeName.IsEmpty) {
SendValidationEvent(Res.Sch_MissAttribute, "base", contentExtension);
}
else {
ValidateQNameAttribute(contentExtension, "base", contentExtension.BaseTypeName);
}
PreprocessAttributes(contentExtension.Attributes, contentExtension.AnyAttribute, contentExtension);
ValidateIdAttribute(contentExtension);
}
else { //XmlSchemaSimpleContentRestriction
XmlSchemaSimpleContentRestriction contentRestriction = (XmlSchemaSimpleContentRestriction)content.Content;
if (contentRestriction.BaseTypeName.IsEmpty) {
SendValidationEvent(Res.Sch_MissAttribute, "base", contentRestriction);
}
else {
ValidateQNameAttribute(contentRestriction, "base", contentRestriction.BaseTypeName);
}
if (contentRestriction.BaseType != null) {
SetParent(contentRestriction.BaseType, contentRestriction);
PreprocessSimpleType(contentRestriction.BaseType, true);
}
PreprocessAttributes(contentRestriction.Attributes, contentRestriction.AnyAttribute, contentRestriction);
ValidateIdAttribute(contentRestriction);
}
}
ValidateIdAttribute(content);
}
else { // XmlSchemaComplexContent
XmlSchemaComplexContent content = (XmlSchemaComplexContent)complexType.ContentModel;
if (content.Content == null) {
if (complexType.QualifiedName == XmlQualifiedName.Empty) {
//.........这里部分代码省略.........