private object UnWrapUnion(object typedValue) { XsdSimpleValue simpleValue = typedValue as XsdSimpleValue; if (simpleValue != null) { typedValue = simpleValue.TypedValue; } return(typedValue); }
private void SetDefaultAttributeSchemaInfo(XmlSchemaAttribute schemaAttribute) { this.attributeSchemaInfo.Clear(); this.attributeSchemaInfo.IsDefault = true; this.attributeSchemaInfo.IsNil = false; this.attributeSchemaInfo.SchemaType = schemaAttribute.AttributeSchemaType; this.attributeSchemaInfo.SchemaAttribute = schemaAttribute; SchemaAttDef attDef = schemaAttribute.AttDef; if (attDef.Datatype.Variety == XmlSchemaDatatypeVariety.Union) { XsdSimpleValue defaultValueTyped = attDef.DefaultValueTyped as XsdSimpleValue; this.attributeSchemaInfo.MemberType = defaultValueTyped.XmlType; } this.attributeSchemaInfo.Validity = XmlSchemaValidity.Valid; }
private void SetDefaultAttributeSchemaInfo(XmlSchemaAttribute schemaAttribute) { Debug.Assert(_attributeSchemaInfo != null); _attributeSchemaInfo.Clear(); _attributeSchemaInfo.IsDefault = true; _attributeSchemaInfo.IsNil = false; _attributeSchemaInfo.SchemaType = schemaAttribute.AttributeSchemaType; _attributeSchemaInfo.SchemaAttribute = schemaAttribute; //Get memberType for default attribute SchemaAttDef attributeDef = schemaAttribute.AttDef; if (attributeDef.Datatype.Variety == XmlSchemaDatatypeVariety.Union) { XsdSimpleValue simpleValue = attributeDef.DefaultValueTyped as XsdSimpleValue; Debug.Assert(simpleValue != null); _attributeSchemaInfo.MemberType = simpleValue.XmlType; } _attributeSchemaInfo.Validity = XmlSchemaValidity.Valid; }