当前位置: 首页>>代码示例>>C#>>正文


C# XmlSchemaElement.SetBlockResolved方法代码示例

本文整理汇总了C#中System.Xml.Schema.XmlSchemaElement.SetBlockResolved方法的典型用法代码示例。如果您正苦于以下问题:C# XmlSchemaElement.SetBlockResolved方法的具体用法?C# XmlSchemaElement.SetBlockResolved怎么用?C# XmlSchemaElement.SetBlockResolved使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Xml.Schema.XmlSchemaElement的用法示例。


在下文中一共展示了XmlSchemaElement.SetBlockResolved方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: PreprocessElementContent

 private void PreprocessElementContent(XmlSchemaElement element)
 {
     this.PreprocessAnnotation(element);
     if (!element.RefName.IsEmpty)
     {
         base.SendValidationEvent("Sch_ForbiddenAttribute", "ref", element);
     }
     if (element.Block == XmlSchemaDerivationMethod.All)
     {
         element.SetBlockResolved(XmlSchemaDerivationMethod.All);
     }
     else if (element.Block == XmlSchemaDerivationMethod.None)
     {
         if (this.blockDefault == XmlSchemaDerivationMethod.All)
         {
             element.SetBlockResolved(XmlSchemaDerivationMethod.All);
         }
         else
         {
             element.SetBlockResolved(this.blockDefault & (XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension | XmlSchemaDerivationMethod.Substitution));
         }
     }
     else
     {
         if ((element.Block & ~(XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension | XmlSchemaDerivationMethod.Substitution)) != XmlSchemaDerivationMethod.Empty)
         {
             base.SendValidationEvent("Sch_InvalidElementBlockValue", element);
         }
         element.SetBlockResolved(element.Block & (XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension | XmlSchemaDerivationMethod.Substitution));
     }
     if (element.SchemaType != null)
     {
         this.SetParent(element.SchemaType, element);
         if (!element.SchemaTypeName.IsEmpty)
         {
             base.SendValidationEvent("Sch_TypeMutualExclusive", element);
         }
         if (element.SchemaType is XmlSchemaComplexType)
         {
             this.PreprocessComplexType((XmlSchemaComplexType) element.SchemaType, true);
         }
         else
         {
             this.PreprocessSimpleType((XmlSchemaSimpleType) element.SchemaType, true);
         }
     }
     if (!element.SchemaTypeName.IsEmpty)
     {
         this.ValidateQNameAttribute(element, "type", element.SchemaTypeName);
     }
     if ((element.DefaultValue != null) && (element.FixedValue != null))
     {
         base.SendValidationEvent("Sch_DefaultFixedAttributes", element);
     }
     for (int i = 0; i < element.Constraints.Count; i++)
     {
         XmlSchemaIdentityConstraint child = (XmlSchemaIdentityConstraint) element.Constraints[i];
         this.SetParent(child, element);
         this.PreprocessIdentityConstraint(child);
     }
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:61,代码来源:Preprocessor.cs

示例2: PreprocessElementContent

        private void PreprocessElementContent(XmlSchemaElement element) {
            PreprocessAnnotation(element); //Set parent for Annotation child of element
            if (!element.RefName.IsEmpty) {
                SendValidationEvent(Res.Sch_ForbiddenAttribute, "ref", element);
            } 
            if (element.Block == XmlSchemaDerivationMethod.All) {
                element.SetBlockResolved(XmlSchemaDerivationMethod.All);
            }
            else if (element.Block == XmlSchemaDerivationMethod.None) {
                if (this.blockDefault == XmlSchemaDerivationMethod.All) {
                    element.SetBlockResolved(XmlSchemaDerivationMethod.All);
                }
                else {
                    element.SetBlockResolved(this.blockDefault & elementBlockAllowed);
                }
            }
            else {
                if ((element.Block & ~elementBlockAllowed) != 0) {
                    SendValidationEvent(Res.Sch_InvalidElementBlockValue, element);
                }
                element.SetBlockResolved(element.Block & elementBlockAllowed);
            }
            if (element.SchemaType != null) {
                SetParent(element.SchemaType, element); //Set parent for simple / complex type child of element
                if (!element.SchemaTypeName.IsEmpty) {
                    SendValidationEvent(Res.Sch_TypeMutualExclusive, element);
                } 
                if (element.SchemaType is XmlSchemaComplexType) {
                    PreprocessComplexType((XmlSchemaComplexType)element.SchemaType, true);
                } 
                else {
                    PreprocessSimpleType((XmlSchemaSimpleType)element.SchemaType, true);
                }
            }
            if (!element.SchemaTypeName.IsEmpty) {
                ValidateQNameAttribute(element, "type", element.SchemaTypeName);
            } 
            if (element.DefaultValue != null && element.FixedValue != null) {
                SendValidationEvent(Res.Sch_DefaultFixedAttributes, element);
            }

            for (int i = 0; i < element.Constraints.Count; ++i) {
                XmlSchemaIdentityConstraint identityConstraint = (XmlSchemaIdentityConstraint)element.Constraints[i];
                SetParent(identityConstraint, element);
                PreprocessIdentityConstraint(identityConstraint);
            }
        }
开发者ID:iskiselev,项目名称:JSIL.NetFramework,代码行数:47,代码来源:Preprocessor.cs


注:本文中的System.Xml.Schema.XmlSchemaElement.SetBlockResolved方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。