System.Xml.Schema.SchemaDeclBase.CheckEnumeration C# (CSharp) Méthode

CheckEnumeration() public méthode

public CheckEnumeration ( object pVal ) : bool
pVal object
Résultat bool
        public bool CheckEnumeration(object pVal) {
            return (datatype.TokenizedType != XmlTokenizedType.NOTATION && datatype.TokenizedType != XmlTokenizedType.ENUMERATION) || values.Contains(pVal.ToString());
        }

Usage Example

 private void CheckValue(string value, SchemaAttDef attdef)
 {
     try
     {
         base.reader.TypedValueObject = null;
         bool flag = attdef != null;
         XmlSchemaDatatype datatype = flag ? attdef.Datatype : base.context.ElementDecl.Datatype;
         if (datatype != null)
         {
             if (datatype.TokenizedType != XmlTokenizedType.CDATA)
             {
                 value = value.Trim();
             }
             if (value.Length != 0)
             {
                 object pVal = datatype.ParseValue(value, base.NameTable, this.nsManager);
                 base.reader.TypedValueObject = pVal;
                 switch (datatype.TokenizedType)
                 {
                 case XmlTokenizedType.ENTITY:
                 case XmlTokenizedType.ID:
                 case XmlTokenizedType.IDREF:
                     if (datatype.Variety == XmlSchemaDatatypeVariety.List)
                     {
                         string[] strArray = (string[])pVal;
                         for (int i = 0; i < strArray.Length; i++)
                         {
                             this.ProcessTokenizedType(datatype.TokenizedType, strArray[i]);
                         }
                     }
                     else
                     {
                         this.ProcessTokenizedType(datatype.TokenizedType, (string)pVal);
                     }
                     break;
                 }
                 SchemaDeclBase base2 = flag ? ((SchemaDeclBase)attdef) : ((SchemaDeclBase)base.context.ElementDecl);
                 if ((base2.MaxLength != 0xffffffffL) && (value.Length > base2.MaxLength))
                 {
                     base.SendValidationEvent("Sch_MaxLengthConstraintFailed", value);
                 }
                 if ((base2.MinLength != 0xffffffffL) && (value.Length < base2.MinLength))
                 {
                     base.SendValidationEvent("Sch_MinLengthConstraintFailed", value);
                 }
                 if ((base2.Values != null) && !base2.CheckEnumeration(pVal))
                 {
                     if (datatype.TokenizedType == XmlTokenizedType.NOTATION)
                     {
                         base.SendValidationEvent("Sch_NotationValue", pVal.ToString());
                     }
                     else
                     {
                         base.SendValidationEvent("Sch_EnumerationValue", pVal.ToString());
                     }
                 }
                 if (!base2.CheckValue(pVal))
                 {
                     if (flag)
                     {
                         base.SendValidationEvent("Sch_FixedAttributeValue", attdef.Name.ToString());
                     }
                     else
                     {
                         base.SendValidationEvent("Sch_FixedElementValue", XmlSchemaValidator.QNameString(base.context.LocalName, base.context.Namespace));
                     }
                 }
             }
         }
     }
     catch (XmlSchemaException)
     {
         if (attdef != null)
         {
             base.SendValidationEvent("Sch_AttributeValueDataType", attdef.Name.ToString());
         }
         else
         {
             base.SendValidationEvent("Sch_ElementValueDataType", XmlSchemaValidator.QNameString(base.context.LocalName, base.context.Namespace));
         }
     }
 }
All Usage Examples Of System.Xml.Schema.SchemaDeclBase::CheckEnumeration