コード例 #1
0
        xsdElement ParceXsdElement(XmlSchemaElement schemaElement, SchemaParser.ElementTypes eltype)
        {
            xsdElement xsdelement = new xsdElement();

            xsdelement.Name        = schemaElement.Name;
            xsdelement.ElementType = eltype;
            xsdelement.MaxOccurs   = schemaElement.MaxOccurs;
            xsdelement.MinOccurs   = schemaElement.MinOccurs;

            var complext = schemaElement.SchemaType as XmlSchemaComplexType;
            var simplet  = schemaElement.SchemaType as XmlSchemaSimpleType;

            if (complext != null)
            {
                xsdelement.Type = ParceXsdComplexType(complext);
            }
            if (simplet != null)
            {
                xsdelement.Type = ParceXsdSimpleType(simplet);
            }

            if (complext == null && simplet == null)
            {
                if (schemaElement.SchemaTypeName.Namespace == "http://www.w3.org/2001/XMLSchema")
                {
                    xsdelement.Type = new xsdType()
                    {
                        ContentType = ContentTypes.pureType, QName = schemaElement.SchemaTypeName, Name = schemaElement.Name
                    };
                }
                else
                {
                    if (TypesDict.Keys.Contains(schemaElement.SchemaTypeName.Name))
                    {
                        xsdelement.Type = TypesDict[schemaElement.SchemaTypeName.Name];
                    }
                }
            }

            return(xsdelement);
        }
コード例 #2
0
		xsdElement ParceXsdElement(XmlSchemaElement schemaElement, SchemaParser.ElementTypes eltype) {
			xsdElement xsdelement = new xsdElement();

			xsdelement.Name = schemaElement.Name;
			xsdelement.ElementType = eltype;
			xsdelement.MaxOccurs = schemaElement.MaxOccurs;
			xsdelement.MinOccurs = schemaElement.MinOccurs;

			var complext = schemaElement.SchemaType as XmlSchemaComplexType;
			var simplet = schemaElement.SchemaType as XmlSchemaSimpleType;

			if (complext != null) {
				xsdelement.Type = ParceXsdComplexType(complext);
			}
			if (simplet != null) {
				xsdelement.Type = ParceXsdSimpleType(simplet);
			}

			if (complext == null && simplet == null) {
				if (schemaElement.SchemaTypeName.Namespace == "http://www.w3.org/2001/XMLSchema") {
					xsdelement.Type = new xsdType() { ContentType = ContentTypes.pureType, QName = schemaElement.SchemaTypeName, Name = schemaElement.Name };
				} else {
					if (TypesDict.Keys.Contains(schemaElement.SchemaTypeName.Name)) {
						xsdelement.Type = TypesDict[schemaElement.SchemaTypeName.Name];
					}
				}
			}

			return xsdelement;
		}