當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。