当前位置: 首页>>代码示例>>C#>>正文


C# XmlSchemaSequence.Validate方法代码示例

本文整理汇总了C#中System.Xml.Schema.XmlSchemaSequence.Validate方法的典型用法代码示例。如果您正苦于以下问题:C# XmlSchemaSequence.Validate方法的具体用法?C# XmlSchemaSequence.Validate怎么用?C# XmlSchemaSequence.Validate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Xml.Schema.XmlSchemaSequence的用法示例。


在下文中一共展示了XmlSchemaSequence.Validate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CollectContentTypeFromComplexExtension

		private void CollectContentTypeFromComplexExtension (ValidationEventHandler h, XmlSchema schema)
		{
			XmlSchemaComplexContentExtension cce = (XmlSchemaComplexContentExtension) ContentModel.Content;
			XmlSchemaComplexType baseComplexType = this.BaseXmlSchemaType as XmlSchemaComplexType;
			if (baseComplexType != null)
				baseComplexType.CollectSchemaComponent (h ,schema);

			// It must exist, but consider validation error case.
			if (BaseSchemaTypeName == XmlSchemaComplexType.AnyTypeName)
				baseComplexType = XmlSchemaComplexType.AnyType;

			// On error case, it simple reject any contents
			if (baseComplexType == null) {
				validatableParticle = XmlSchemaParticle.Empty;
				resolvedContentType = XmlSchemaContentType.Empty;
				return;
			}

			// 3.4.2 complex content {content type}
			if (cce.Particle == null || cce.Particle == XmlSchemaParticle.Empty) {
				// - 2.1
				if (baseComplexType == null) {
					// Basically it is an error. Considering ValidationEventHandler.
					validatableParticle = XmlSchemaParticle.Empty;
					resolvedContentType = XmlSchemaContentType.Empty;
				} else {
					validatableParticle = baseComplexType.ValidatableParticle;
					resolvedContentType = baseComplexType.resolvedContentType;
					// Bug #501814
					if (resolvedContentType == XmlSchemaContentType.Empty)
						resolvedContentType = GetComplexContentType (contentModel);
				}
			} else if (baseComplexType.validatableParticle == XmlSchemaParticle.Empty
				|| baseComplexType == XmlSchemaComplexType.AnyType) {
				// - 2.2
				validatableParticle = cce.Particle;
				resolvedContentType = GetComplexContentType (contentModel);
			} else {
				// - 2.3 : create a new sequences that merges both contents.
				XmlSchemaSequence seq = new XmlSchemaSequence ();
				this.CopyInfo (seq);
				seq.Items.Add (baseComplexType.validatableParticle);
				seq.Items.Add (cce.Particle);
				seq.Compile (h, schema);
				seq.Validate (h, schema);
				validatableParticle = seq;
				resolvedContentType = GetComplexContentType (contentModel);
			}
			if (validatableParticle == null)
				validatableParticle = XmlSchemaParticle.Empty;
		}
开发者ID:runefs,项目名称:Marvin,代码行数:51,代码来源:XmlSchemaComplexType.cs


注:本文中的System.Xml.Schema.XmlSchemaSequence.Validate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。