Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaType.cs / 1 / XmlSchemaType.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections; using System.ComponentModel; using System.Xml.Serialization; namespace System.Xml.Schema { ////// /// public class XmlSchemaType : XmlSchemaAnnotated { string name; XmlSchemaDerivationMethod final = XmlSchemaDerivationMethod.None; XmlSchemaDerivationMethod derivedBy; XmlSchemaType baseSchemaType; XmlSchemaDatatype datatype; XmlSchemaDerivationMethod finalResolved; SchemaElementDecl elementDecl; XmlQualifiedName qname = XmlQualifiedName.Empty; XmlSchemaType redefined; //compiled information XmlSchemaContentType contentType; ///[To be supplied.] ////// /// public static XmlSchemaSimpleType GetBuiltInSimpleType(XmlQualifiedName qualifiedName) { if (qualifiedName == null) { throw new ArgumentNullException("qualifiedName"); } return DatatypeImplementation.GetSimpleTypeFromXsdType(qualifiedName); } ///[To be supplied.] ////// /// public static XmlSchemaSimpleType GetBuiltInSimpleType(XmlTypeCode typeCode) { return DatatypeImplementation.GetSimpleTypeFromTypeCode(typeCode); } ///[To be supplied.] ////// /// public static XmlSchemaComplexType GetBuiltInComplexType(XmlTypeCode typeCode) { if (typeCode == XmlTypeCode.Item) { return XmlSchemaComplexType.AnyType; } return null; } ///[To be supplied.] ////// /// public static XmlSchemaComplexType GetBuiltInComplexType(XmlQualifiedName qualifiedName) { if (qualifiedName == null) { throw new ArgumentNullException("qualifiedName"); } if (qualifiedName.Equals(XmlSchemaComplexType.AnyType.QualifiedName)) { return XmlSchemaComplexType.AnyType; } if (qualifiedName.Equals(XmlSchemaComplexType.UntypedAnyType.QualifiedName)) { return XmlSchemaComplexType.UntypedAnyType; } return null; } ///[To be supplied.] ////// /// [XmlAttribute("name")] public string Name { get { return name; } set { name = value; } } ///[To be supplied.] ////// /// [XmlAttribute("final"), DefaultValue(XmlSchemaDerivationMethod.None)] public XmlSchemaDerivationMethod Final { get { return final; } set { final = value; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlQualifiedName QualifiedName { get { return qname; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDerivationMethod FinalResolved { get { return finalResolved; } } ///[To be supplied.] ////// /// [XmlIgnore] [Obsolete("This property has been deprecated. Please use BaseXmlSchemaType property that returns a strongly typed base schema type. http://go.microsoft.com/fwlink/?linkid=14202")] public object BaseSchemaType { get { if (baseSchemaType.QualifiedName.Namespace == XmlReservedNs.NsXs) { return baseSchemaType.Datatype; } return baseSchemaType; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaType BaseXmlSchemaType { get { return baseSchemaType;} } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDerivationMethod DerivedBy { get { return derivedBy; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDatatype Datatype { get { return datatype;} } ///[To be supplied.] ////// /// [XmlIgnore] public virtual bool IsMixed { get { return false; } set {;} } [XmlIgnore] public XmlTypeCode TypeCode { get { if (this == XmlSchemaComplexType.AnyType) { return XmlTypeCode.Item; } if (datatype == null) { return XmlTypeCode.None; } return datatype.TypeCode; } } [XmlIgnore] internal XmlValueConverter ValueConverter { get { if (datatype == null) { //Default converter return XmlUntypedConverter.Untyped; } return datatype.ValueConverter; } } internal XmlReader Validate(XmlReader reader, XmlResolver resolver, XmlSchemaSet schemaSet, ValidationEventHandler valEventHandler) { if (schemaSet != null) { XmlReaderSettings readerSettings = new XmlReaderSettings(); readerSettings.ValidationType = ValidationType.Schema; readerSettings.Schemas = schemaSet; readerSettings.ValidationEventHandler += valEventHandler; return new XsdValidatingReader(reader, resolver, readerSettings, this); } return null; } internal XmlSchemaContentType SchemaContentType { get { return contentType; } } internal void SetQualifiedName(XmlQualifiedName value) { qname = value; } internal void SetFinalResolved(XmlSchemaDerivationMethod value) { finalResolved = value; } internal void SetBaseSchemaType(XmlSchemaType value) { baseSchemaType = value; } internal void SetDerivedBy(XmlSchemaDerivationMethod value) { derivedBy = value; } internal void SetDatatype(XmlSchemaDatatype value) { datatype = value; } internal SchemaElementDecl ElementDecl { get { return elementDecl; } set { elementDecl = value; } } [XmlIgnore] internal XmlSchemaType Redefined { get { return redefined; } set { redefined = value; } } internal virtual XmlQualifiedName DerivedFrom { get { return XmlQualifiedName.Empty; } } internal void SetContentType(XmlSchemaContentType value) { contentType = value; } public static bool IsDerivedFrom(XmlSchemaType derivedType, XmlSchemaType baseType, XmlSchemaDerivationMethod except) { if (derivedType == null || baseType == null) { return false; } if (derivedType == baseType) { return true; } if (baseType == XmlSchemaComplexType.AnyType) { //Not checking for restriction blocked since all types are implicitly derived by restriction from xs:anyType return true; } do { XmlSchemaSimpleType dt = derivedType as XmlSchemaSimpleType; XmlSchemaSimpleType bt = baseType as XmlSchemaSimpleType; if (bt != null && dt != null) { //SimpleTypes if (bt == DatatypeImplementation.AnySimpleType) { //Not checking block=restriction return true; } if ((except & derivedType.DerivedBy) != 0 || !dt.Datatype.IsDerivedFrom(bt.Datatype)) { return false; } return true; } else { //Complex types if ((except & derivedType.DerivedBy) != 0) { return false; } derivedType = derivedType.BaseXmlSchemaType; if (derivedType == baseType) { return true; } } } while(derivedType != null); return false; } internal static bool IsDerivedFromDatatype(XmlSchemaDatatype derivedDataType, XmlSchemaDatatype baseDataType, XmlSchemaDerivationMethod except) { if (DatatypeImplementation.AnySimpleType.Datatype == baseDataType) { return true; } return derivedDataType.IsDerivedFrom(baseDataType); } [XmlIgnore] internal override string NameAttribute { get { return Name; } set { Name = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections; using System.ComponentModel; using System.Xml.Serialization; namespace System.Xml.Schema { ////// /// public class XmlSchemaType : XmlSchemaAnnotated { string name; XmlSchemaDerivationMethod final = XmlSchemaDerivationMethod.None; XmlSchemaDerivationMethod derivedBy; XmlSchemaType baseSchemaType; XmlSchemaDatatype datatype; XmlSchemaDerivationMethod finalResolved; SchemaElementDecl elementDecl; XmlQualifiedName qname = XmlQualifiedName.Empty; XmlSchemaType redefined; //compiled information XmlSchemaContentType contentType; ///[To be supplied.] ////// /// public static XmlSchemaSimpleType GetBuiltInSimpleType(XmlQualifiedName qualifiedName) { if (qualifiedName == null) { throw new ArgumentNullException("qualifiedName"); } return DatatypeImplementation.GetSimpleTypeFromXsdType(qualifiedName); } ///[To be supplied.] ////// /// public static XmlSchemaSimpleType GetBuiltInSimpleType(XmlTypeCode typeCode) { return DatatypeImplementation.GetSimpleTypeFromTypeCode(typeCode); } ///[To be supplied.] ////// /// public static XmlSchemaComplexType GetBuiltInComplexType(XmlTypeCode typeCode) { if (typeCode == XmlTypeCode.Item) { return XmlSchemaComplexType.AnyType; } return null; } ///[To be supplied.] ////// /// public static XmlSchemaComplexType GetBuiltInComplexType(XmlQualifiedName qualifiedName) { if (qualifiedName == null) { throw new ArgumentNullException("qualifiedName"); } if (qualifiedName.Equals(XmlSchemaComplexType.AnyType.QualifiedName)) { return XmlSchemaComplexType.AnyType; } if (qualifiedName.Equals(XmlSchemaComplexType.UntypedAnyType.QualifiedName)) { return XmlSchemaComplexType.UntypedAnyType; } return null; } ///[To be supplied.] ////// /// [XmlAttribute("name")] public string Name { get { return name; } set { name = value; } } ///[To be supplied.] ////// /// [XmlAttribute("final"), DefaultValue(XmlSchemaDerivationMethod.None)] public XmlSchemaDerivationMethod Final { get { return final; } set { final = value; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlQualifiedName QualifiedName { get { return qname; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDerivationMethod FinalResolved { get { return finalResolved; } } ///[To be supplied.] ////// /// [XmlIgnore] [Obsolete("This property has been deprecated. Please use BaseXmlSchemaType property that returns a strongly typed base schema type. http://go.microsoft.com/fwlink/?linkid=14202")] public object BaseSchemaType { get { if (baseSchemaType.QualifiedName.Namespace == XmlReservedNs.NsXs) { return baseSchemaType.Datatype; } return baseSchemaType; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaType BaseXmlSchemaType { get { return baseSchemaType;} } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDerivationMethod DerivedBy { get { return derivedBy; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDatatype Datatype { get { return datatype;} } ///[To be supplied.] ////// /// [XmlIgnore] public virtual bool IsMixed { get { return false; } set {;} } [XmlIgnore] public XmlTypeCode TypeCode { get { if (this == XmlSchemaComplexType.AnyType) { return XmlTypeCode.Item; } if (datatype == null) { return XmlTypeCode.None; } return datatype.TypeCode; } } [XmlIgnore] internal XmlValueConverter ValueConverter { get { if (datatype == null) { //Default converter return XmlUntypedConverter.Untyped; } return datatype.ValueConverter; } } internal XmlReader Validate(XmlReader reader, XmlResolver resolver, XmlSchemaSet schemaSet, ValidationEventHandler valEventHandler) { if (schemaSet != null) { XmlReaderSettings readerSettings = new XmlReaderSettings(); readerSettings.ValidationType = ValidationType.Schema; readerSettings.Schemas = schemaSet; readerSettings.ValidationEventHandler += valEventHandler; return new XsdValidatingReader(reader, resolver, readerSettings, this); } return null; } internal XmlSchemaContentType SchemaContentType { get { return contentType; } } internal void SetQualifiedName(XmlQualifiedName value) { qname = value; } internal void SetFinalResolved(XmlSchemaDerivationMethod value) { finalResolved = value; } internal void SetBaseSchemaType(XmlSchemaType value) { baseSchemaType = value; } internal void SetDerivedBy(XmlSchemaDerivationMethod value) { derivedBy = value; } internal void SetDatatype(XmlSchemaDatatype value) { datatype = value; } internal SchemaElementDecl ElementDecl { get { return elementDecl; } set { elementDecl = value; } } [XmlIgnore] internal XmlSchemaType Redefined { get { return redefined; } set { redefined = value; } } internal virtual XmlQualifiedName DerivedFrom { get { return XmlQualifiedName.Empty; } } internal void SetContentType(XmlSchemaContentType value) { contentType = value; } public static bool IsDerivedFrom(XmlSchemaType derivedType, XmlSchemaType baseType, XmlSchemaDerivationMethod except) { if (derivedType == null || baseType == null) { return false; } if (derivedType == baseType) { return true; } if (baseType == XmlSchemaComplexType.AnyType) { //Not checking for restriction blocked since all types are implicitly derived by restriction from xs:anyType return true; } do { XmlSchemaSimpleType dt = derivedType as XmlSchemaSimpleType; XmlSchemaSimpleType bt = baseType as XmlSchemaSimpleType; if (bt != null && dt != null) { //SimpleTypes if (bt == DatatypeImplementation.AnySimpleType) { //Not checking block=restriction return true; } if ((except & derivedType.DerivedBy) != 0 || !dt.Datatype.IsDerivedFrom(bt.Datatype)) { return false; } return true; } else { //Complex types if ((except & derivedType.DerivedBy) != 0) { return false; } derivedType = derivedType.BaseXmlSchemaType; if (derivedType == baseType) { return true; } } } while(derivedType != null); return false; } internal static bool IsDerivedFromDatatype(XmlSchemaDatatype derivedDataType, XmlSchemaDatatype baseDataType, XmlSchemaDerivationMethod except) { if (DatatypeImplementation.AnySimpleType.Datatype == baseDataType) { return true; } return derivedDataType.IsDerivedFrom(baseDataType); } [XmlIgnore] internal override string NameAttribute { get { return Name; } set { Name = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableCellAutomationPeer.cs
- EnvelopedPkcs7.cs
- ListItem.cs
- GacUtil.cs
- ReadOnlyPropertyMetadata.cs
- XmlMemberMapping.cs
- PauseStoryboard.cs
- CodeBinaryOperatorExpression.cs
- DefaultHttpHandler.cs
- RequestCacheValidator.cs
- CqlGenerator.cs
- ConfigurationElementCollection.cs
- MessageDecoder.cs
- WsatExtendedInformation.cs
- ViewSimplifier.cs
- Panel.cs
- WebPartDescriptionCollection.cs
- GridViewEditEventArgs.cs
- NativeMethods.cs
- OpCellTreeNode.cs
- XPathAncestorQuery.cs
- CodeMemberEvent.cs
- TransactedReceiveData.cs
- WindowsClientCredential.cs
- PageContentAsyncResult.cs
- ColorComboBox.cs
- DATA_BLOB.cs
- SafeCoTaskMem.cs
- Bidi.cs
- ValueSerializer.cs
- WinCategoryAttribute.cs
- ProviderBase.cs
- DictionaryTraceRecord.cs
- Metadata.cs
- DataListCommandEventArgs.cs
- KeyEventArgs.cs
- ClientSettings.cs
- OpCodes.cs
- DesigntimeLicenseContext.cs
- Proxy.cs
- CopyAction.cs
- ExpandCollapseProviderWrapper.cs
- PaginationProgressEventArgs.cs
- OwnerDrawPropertyBag.cs
- TcpClientChannel.cs
- ReturnValue.cs
- HtmlAnchor.cs
- DataRowCollection.cs
- BitmapEffectrendercontext.cs
- EdmSchemaAttribute.cs
- SqlParameterCollection.cs
- DataRelationCollection.cs
- KnownBoxes.cs
- SurrogateDataContract.cs
- GenericTypeParameterBuilder.cs
- TCEAdapterGenerator.cs
- UpdateRecord.cs
- ReadOnlyObservableCollection.cs
- MultiPageTextView.cs
- UInt64.cs
- SkinBuilder.cs
- WebConfigurationHost.cs
- BitmapEffectRenderDataResource.cs
- WindowPatternIdentifiers.cs
- CapabilitiesRule.cs
- TakeOrSkipQueryOperator.cs
- HostedHttpTransportManager.cs
- MatrixAnimationUsingKeyFrames.cs
- TdsParserStateObject.cs
- HandlerFactoryCache.cs
- DependencyPropertyKey.cs
- CachedPathData.cs
- EdgeProfileValidation.cs
- CounterSampleCalculator.cs
- EventPropertyMap.cs
- MutableAssemblyCacheEntry.cs
- DataGridColumnCollection.cs
- TextBoxAutomationPeer.cs
- FunctionGenerator.cs
- NavigationPropertyEmitter.cs
- ComponentManagerBroker.cs
- ToolStripRendererSwitcher.cs
- MediaContext.cs
- SimpleExpression.cs
- Relationship.cs
- securestring.cs
- AnnotationHelper.cs
- XmlAttribute.cs
- XmlDictionaryWriter.cs
- TypeDescriptionProviderAttribute.cs
- FileLevelControlBuilderAttribute.cs
- NativeCppClassAttribute.cs
- OleCmdHelper.cs
- DatePickerDateValidationErrorEventArgs.cs
- MetadataArtifactLoaderComposite.cs
- ChangeBlockUndoRecord.cs
- ProcessHostConfigUtils.cs
- PointLight.cs
- ProtocolsConfigurationEntry.cs
- DataBindingExpressionBuilder.cs