コード例 #1
0
        void ParceXsdSchemaSequence(XmlSchemaSequence sequence, xsdType xsdtype)
        {
            sequence.Items.ForEach(seqItem => {
                var schEl  = seqItem as XmlSchemaElement;
                var schAny = seqItem as XmlSchemaAny;

                if (schEl != null)
                {
                    xsdtype.Content.Add(ParceXsdElement(schEl, ElementTypes.sequence));
                }
                if (schAny != null)
                {
                }
            });
        }
コード例 #2
0
        void ParceXsdSchemaChoise(XmlSchemaChoice choise, xsdType xsdtype)
        {
            choise.Items.ForEach(chItem => {
                var schEl  = chItem as XmlSchemaElement;
                var schAny = chItem as XmlSchemaAny;

                if (schEl != null)
                {
                    xsdtype.Content.Add(ParceXsdElement(schEl, ElementTypes.choise));
                }
                if (schAny != null)
                {
                }
            });
        }
コード例 #3
0
        xsdType ParceXsdComplexType(XmlSchemaComplexType complexType)
        {
            xsdType xsdtype = new xsdType();

            xsdtype.ContentType = ContentTypes.complexType;
            xsdtype.Name        = complexType.Name;

            var sequence = complexType.Particle as XmlSchemaSequence;
            var choice   = complexType.Particle as XmlSchemaChoice;

            if (sequence != null)
            {
                ParceXsdSchemaSequence(sequence, xsdtype);
            }
            if (choice != null)
            {
                ParceXsdSchemaChoise(choice, xsdtype);
            }

            return(xsdtype);
        }
コード例 #4
0
        xsdType ParceXsdSimpleType(XmlSchemaSimpleType simpleType)
        {
            xsdType xsdtype = new xsdType();

            xsdtype.ContentType = ContentTypes.simpleType;
            xsdtype.Name        = simpleType.Name;

            var simplerestrict = simpleType.Content as XmlSchemaSimpleTypeRestriction;
            var simpleunion    = simpleType.Content as XmlSchemaSimpleTypeUnion;
            var simplelist     = simpleType.Content as XmlSchemaSimpleTypeList;

            if (simplerestrict != null)
            {
                xsdtype.QName = simplerestrict.BaseTypeName;
                //xsdtype.Name = simplerestrict.BaseTypeName.Name;

                simplerestrict.Facets.ForEach(facet => {
                    var enumFacet              = facet as System.Xml.Schema.XmlSchemaEnumerationFacet;
                    var maxExclusiveFacet      = facet as System.Xml.Schema.XmlSchemaMaxExclusiveFacet;
                    var minExclusiveFacet      = facet as System.Xml.Schema.XmlSchemaMinExclusiveFacet;
                    var maxInclusiveFacetFacet = facet as System.Xml.Schema.XmlSchemaMaxInclusiveFacet;
                    var minInclusiveFacetFacet = facet as System.Xml.Schema.XmlSchemaMinInclusiveFacet;
                    var fractionDigitsFacet    = facet as System.Xml.Schema.XmlSchemaFractionDigitsFacet;
                    var maxLengthFacet         = facet as System.Xml.Schema.XmlSchemaMaxLengthFacet;
                    var minLengthFacet         = facet as System.Xml.Schema.XmlSchemaMinLengthFacet;
                    var numericFacet           = facet as System.Xml.Schema.XmlSchemaNumericFacet;
                    var patternFacet           = facet as System.Xml.Schema.XmlSchemaPatternFacet;
                    var totalDigitsFacet       = facet as System.Xml.Schema.XmlSchemaTotalDigitsFacet;

                    if (enumFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(enumFacet.Value, SchemaParser.SimpleTypes.Enumeration));
                    }
                    if (maxExclusiveFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(maxExclusiveFacet.Value, SchemaParser.SimpleTypes.MaxExclusive));
                    }
                    if (minExclusiveFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(minExclusiveFacet.Value, SchemaParser.SimpleTypes.MinExclusive));
                    }
                    if (maxInclusiveFacetFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(maxInclusiveFacetFacet.Value, SchemaParser.SimpleTypes.MaxInclusive));
                    }
                    if (minInclusiveFacetFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(minInclusiveFacetFacet.Value, SchemaParser.SimpleTypes.MinInclusive));
                    }
                    if (fractionDigitsFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(fractionDigitsFacet.Value, SchemaParser.SimpleTypes.FractionDigits));
                    }
                    if (maxLengthFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(maxLengthFacet.Value, SchemaParser.SimpleTypes.MaxLength));
                    }
                    if (minLengthFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(minLengthFacet.Value, SchemaParser.SimpleTypes.MinLength));
                    }
                    if (numericFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(numericFacet.Value, SchemaParser.SimpleTypes.Numeric));
                    }
                    if (patternFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(patternFacet.Value, SchemaParser.SimpleTypes.Pattern));
                    }
                    if (totalDigitsFacet != null)
                    {
                        xsdtype.SimpleValues.Add(new SimpleValue(totalDigitsFacet.Value, SchemaParser.SimpleTypes.TotalDigits));
                    }
                });
            }
            if (simpleunion != null)
            {
                //throw new Exception("different type");
            }
            if (simplelist != null)
            {
                //throw new Exception("different type");
            }

            return(xsdtype);
        }
コード例 #5
0
		void ParceXsdSchemaSequence(XmlSchemaSequence sequence, xsdType xsdtype) {
			sequence.Items.ForEach(seqItem => {
				var schEl = seqItem as XmlSchemaElement;
				var schAny = seqItem as XmlSchemaAny;

				if (schEl != null) {
					xsdtype.Content.Add(ParceXsdElement(schEl, ElementTypes.sequence));
				}
				if (schAny != null) {
				}
			});
		}
コード例 #6
0
		void ParceXsdSchemaChoise(XmlSchemaChoice choise, xsdType xsdtype) {
			choise.Items.ForEach(chItem => {
				var schEl = chItem as XmlSchemaElement;
				var schAny = chItem as XmlSchemaAny;

				if (schEl != null) {
					xsdtype.Content.Add(ParceXsdElement(schEl, ElementTypes.choise));
				}
				if (schAny != null) {
				}
			});
		}
コード例 #7
0
		xsdType ParceXsdComplexType(XmlSchemaComplexType complexType) {
			xsdType xsdtype = new xsdType();
			xsdtype.ContentType = ContentTypes.complexType;
			xsdtype.Name = complexType.Name;

			var sequence = complexType.Particle as XmlSchemaSequence;
			var choice = complexType.Particle as XmlSchemaChoice;

			if (sequence != null) {
				ParceXsdSchemaSequence(sequence, xsdtype);
			}
			if (choice != null) {
				ParceXsdSchemaChoise(choice, xsdtype);
			}

			return xsdtype;
		}
コード例 #8
0
		xsdType ParceXsdSimpleType(XmlSchemaSimpleType simpleType) {
			xsdType xsdtype = new xsdType();
			xsdtype.ContentType = ContentTypes.simpleType;
			xsdtype.Name = simpleType.Name;

			var simplerestrict = simpleType.Content as XmlSchemaSimpleTypeRestriction;
			var simpleunion = simpleType.Content as XmlSchemaSimpleTypeUnion;
			var simplelist = simpleType.Content as XmlSchemaSimpleTypeList;

			if (simplerestrict != null) {
				xsdtype.QName = simplerestrict.BaseTypeName;
				//xsdtype.Name = simplerestrict.BaseTypeName.Name;

				simplerestrict.Facets.ForEach(facet => {
					var enumFacet = facet as System.Xml.Schema.XmlSchemaEnumerationFacet;
					var maxExclusiveFacet = facet as System.Xml.Schema.XmlSchemaMaxExclusiveFacet;
					var minExclusiveFacet = facet as System.Xml.Schema.XmlSchemaMinExclusiveFacet;
					var maxInclusiveFacetFacet = facet as System.Xml.Schema.XmlSchemaMaxInclusiveFacet;
					var minInclusiveFacetFacet = facet as System.Xml.Schema.XmlSchemaMinInclusiveFacet;
					var fractionDigitsFacet = facet as System.Xml.Schema.XmlSchemaFractionDigitsFacet;
					var maxLengthFacet = facet as System.Xml.Schema.XmlSchemaMaxLengthFacet;
					var minLengthFacet = facet as System.Xml.Schema.XmlSchemaMinLengthFacet;
					var numericFacet = facet as System.Xml.Schema.XmlSchemaNumericFacet;
					var patternFacet = facet as System.Xml.Schema.XmlSchemaPatternFacet;
					var totalDigitsFacet = facet as System.Xml.Schema.XmlSchemaTotalDigitsFacet;

					if (enumFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(enumFacet.Value, SchemaParser.SimpleTypes.Enumeration));
					}
					if (maxExclusiveFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(maxExclusiveFacet.Value, SchemaParser.SimpleTypes.MaxExclusive));
					}
					if (minExclusiveFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(minExclusiveFacet.Value, SchemaParser.SimpleTypes.MinExclusive));
					}
					if (maxInclusiveFacetFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(maxInclusiveFacetFacet.Value, SchemaParser.SimpleTypes.MaxInclusive));
					}
					if (minInclusiveFacetFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(minInclusiveFacetFacet.Value, SchemaParser.SimpleTypes.MinInclusive));
					}
					if (fractionDigitsFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(fractionDigitsFacet.Value, SchemaParser.SimpleTypes.FractionDigits));
					}
					if (maxLengthFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(maxLengthFacet.Value, SchemaParser.SimpleTypes.MaxLength));
					}
					if (minLengthFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(minLengthFacet.Value, SchemaParser.SimpleTypes.MinLength));
					}
					if (numericFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(numericFacet.Value, SchemaParser.SimpleTypes.Numeric));
					}
					if (patternFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(patternFacet.Value, SchemaParser.SimpleTypes.Pattern));
					}
					if (totalDigitsFacet != null) {
						xsdtype.SimpleValues.Add(new SimpleValue(totalDigitsFacet.Value, SchemaParser.SimpleTypes.TotalDigits));
					}
				});
			}
			if (simpleunion != null) {
				//throw new Exception("different type");
			}
			if (simplelist != null) {
				//throw new Exception("different type");
			}

			return xsdtype;
		}