CheckDefaultAttValue() private method

private CheckDefaultAttValue ( SchemaAttDef attDef ) : void
attDef SchemaAttDef
return void
Ejemplo n.º 1
0
        private static void XDR_EndAttributeType(XdrBuilder builder)
        {
            string code = null;
            if (builder._AttributeDef._HasDataType && builder._AttributeDef._AttDef.Datatype != null)
            {
                XmlTokenizedType ttype = builder._AttributeDef._AttDef.Datatype.TokenizedType;

                if (ttype == XmlTokenizedType.ENUMERATION && !builder._AttributeDef._EnumerationRequired)
                {
                    code = SR.Sch_MissDtvaluesAttribute;
                    goto cleanup;
                }

                if (ttype != XmlTokenizedType.ENUMERATION && builder._AttributeDef._EnumerationRequired)
                {
                    code = SR.Sch_RequireEnumeration;
                    goto cleanup;
                }

                // a attributes of type id is not supposed to have a default value
                if (builder._AttributeDef._Default != null && ttype == XmlTokenizedType.ID)
                {
                    code = SR.Sch_DefaultIdValue;
                    goto cleanup;
                }
            }
            else
            {
                builder._AttributeDef._AttDef.Datatype = XmlSchemaDatatype.FromXmlTokenizedType(XmlTokenizedType.CDATA);
            }

            //
            // constraints
            //
            CompareMinMaxLength(builder._AttributeDef._MinLength, builder._AttributeDef._MaxLength, builder);
            builder._AttributeDef._AttDef.MaxLength = builder._AttributeDef._MaxLength;
            builder._AttributeDef._AttDef.MinLength = builder._AttributeDef._MinLength;

            //
            // checkAttributeType 
            //
            if (builder._AttributeDef._Default != null)
            {
                builder._AttributeDef._AttDef.DefaultValueRaw = builder._AttributeDef._AttDef.DefaultValueExpanded = (string)builder._AttributeDef._Default;
                builder.CheckDefaultAttValue(builder._AttributeDef._AttDef);
            }

            builder.SetAttributePresence(builder._AttributeDef._AttDef, builder._AttributeDef._Required);

        cleanup:
            if (code != null)
            {
                builder.SendValidationEvent(code);
            }
        }
 private static void XDR_EndAttributeType(XdrBuilder builder)
 {
     string code = null;
     if (builder._AttributeDef._HasDataType && (builder._AttributeDef._AttDef.Datatype != null))
     {
         XmlTokenizedType tokenizedType = builder._AttributeDef._AttDef.Datatype.TokenizedType;
         if ((tokenizedType == XmlTokenizedType.ENUMERATION) && !builder._AttributeDef._EnumerationRequired)
         {
             code = "Sch_MissDtvaluesAttribute";
         }
         else if ((tokenizedType != XmlTokenizedType.ENUMERATION) && builder._AttributeDef._EnumerationRequired)
         {
             code = "Sch_RequireEnumeration";
         }
         else
         {
             if ((builder._AttributeDef._Default == null) || (tokenizedType != XmlTokenizedType.ID))
             {
                 goto Label_00A3;
             }
             code = "Sch_DefaultIdValue";
         }
         goto Label_0164;
     }
     builder._AttributeDef._AttDef.Datatype = XmlSchemaDatatype.FromXmlTokenizedType(XmlTokenizedType.CDATA);
 Label_00A3:
     CompareMinMaxLength(builder._AttributeDef._MinLength, builder._AttributeDef._MaxLength, builder);
     builder._AttributeDef._AttDef.MaxLength = builder._AttributeDef._MaxLength;
     builder._AttributeDef._AttDef.MinLength = builder._AttributeDef._MinLength;
     if (builder._AttributeDef._Default != null)
     {
         builder._AttributeDef._AttDef.DefaultValueRaw = builder._AttributeDef._AttDef.DefaultValueExpanded = (string) builder._AttributeDef._Default;
         builder.CheckDefaultAttValue(builder._AttributeDef._AttDef);
     }
     builder.SetAttributePresence(builder._AttributeDef._AttDef, builder._AttributeDef._Required);
 Label_0164:
     if (code != null)
     {
         builder.SendValidationEvent(code);
     }
 }