Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaElement.cs / 1305376 / XmlSchemaElement.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Xml.XPath; using System.ComponentModel; using System.Xml.Serialization; using System.Diagnostics; namespace System.Xml.Schema { ////// /// public class XmlSchemaElement : XmlSchemaParticle { bool isAbstract; bool hasAbstractAttribute; bool isNillable; bool hasNillableAttribute; bool isLocalTypeDerivationChecked; XmlSchemaDerivationMethod block = XmlSchemaDerivationMethod.None; XmlSchemaDerivationMethod final = XmlSchemaDerivationMethod.None; XmlSchemaForm form = XmlSchemaForm.None; string defaultValue; string fixedValue; string name; XmlQualifiedName refName = XmlQualifiedName.Empty; XmlQualifiedName substitutionGroup = XmlQualifiedName.Empty; XmlQualifiedName typeName = XmlQualifiedName.Empty; XmlSchemaType type = null; XmlQualifiedName qualifiedName = XmlQualifiedName.Empty; XmlSchemaType elementType; XmlSchemaDerivationMethod blockResolved; XmlSchemaDerivationMethod finalResolved; XmlSchemaObjectCollection constraints; SchemaElementDecl elementDecl; ///[To be supplied.] ////// /// [XmlAttribute("abstract"), DefaultValue(false)] public bool IsAbstract { get { return isAbstract; } set { isAbstract = value; hasAbstractAttribute = true; } } ///[To be supplied.] ////// /// [XmlAttribute("block"), DefaultValue(XmlSchemaDerivationMethod.None)] public XmlSchemaDerivationMethod Block { get { return block; } set { block = value; } } ///[To be supplied.] ////// /// [XmlAttribute("default")] [DefaultValue(null)] public string DefaultValue { get { return defaultValue; } set { defaultValue = value; } } ///[To be supplied.] ////// /// [XmlAttribute("final"), DefaultValue(XmlSchemaDerivationMethod.None)] public XmlSchemaDerivationMethod Final { get { return final; } set { final = value; } } ///[To be supplied.] ////// /// [XmlAttribute("fixed")] [DefaultValue(null)] public string FixedValue { get { return fixedValue; } set { fixedValue = value; } } ///[To be supplied.] ////// /// [XmlAttribute("form"), DefaultValue(XmlSchemaForm.None)] public XmlSchemaForm Form { get { return form; } set { form = value; } } ///[To be supplied.] ////// /// [XmlAttribute("name"), DefaultValue("")] public string Name { get { return name; } set { name = value; } } ///[To be supplied.] ////// /// [XmlAttribute("nillable"), DefaultValue(false)] public bool IsNillable { get { return isNillable; } set { isNillable = value; hasNillableAttribute = true; } } [XmlIgnore] internal bool HasNillableAttribute { get { return hasNillableAttribute; } } [XmlIgnore] internal bool HasAbstractAttribute { get { return hasAbstractAttribute; } } ///[To be supplied.] ////// /// [XmlAttribute("ref")] public XmlQualifiedName RefName { get { return refName; } set { refName = (value == null ? XmlQualifiedName.Empty : value); } } ///[To be supplied.] ////// /// [XmlAttribute("substitutionGroup")] public XmlQualifiedName SubstitutionGroup { get { return substitutionGroup; } set { substitutionGroup = (value == null ? XmlQualifiedName.Empty : value); } } ///[To be supplied.] ////// /// [XmlAttribute("type")] public XmlQualifiedName SchemaTypeName { get { return typeName; } set { typeName = (value == null ? XmlQualifiedName.Empty : value); } } ///[To be supplied.] ////// /// [XmlElement("complexType", typeof(XmlSchemaComplexType)), XmlElement("simpleType", typeof(XmlSchemaSimpleType))] public XmlSchemaType SchemaType { get { return type; } set { type = value; } } ///[To be supplied.] ////// /// [XmlElement("key", typeof(XmlSchemaKey)), XmlElement("keyref", typeof(XmlSchemaKeyref)), XmlElement("unique", typeof(XmlSchemaUnique))] public XmlSchemaObjectCollection Constraints { get { if (constraints == null) { constraints = new XmlSchemaObjectCollection(); } return constraints; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlQualifiedName QualifiedName { get { return qualifiedName; } } ///[To be supplied.] ////// /// [XmlIgnore] [Obsolete("This property has been deprecated. Please use ElementSchemaType property that returns a strongly typed element type. http://go.microsoft.com/fwlink/?linkid=14202")] public object ElementType { get { if (elementType == null) return null; if (elementType.QualifiedName.Namespace == XmlReservedNs.NsXs) { return elementType.Datatype; //returns XmlSchemaDatatype; } return elementType; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaType ElementSchemaType { get { return elementType; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDerivationMethod BlockResolved { get { return blockResolved; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDerivationMethod FinalResolved { get { return finalResolved; } } 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 void SetQualifiedName(XmlQualifiedName value) { qualifiedName = value; } internal void SetElementType(XmlSchemaType value) { elementType = value; } internal void SetBlockResolved(XmlSchemaDerivationMethod value) { blockResolved = value; } internal void SetFinalResolved(XmlSchemaDerivationMethod value) { finalResolved = value; } [XmlIgnore] internal bool HasDefault { get { return defaultValue != null && defaultValue.Length > 0; } } internal bool HasConstraints { get { return constraints != null && constraints.Count > 0; } } internal bool IsLocalTypeDerivationChecked { get { return isLocalTypeDerivationChecked; } set { isLocalTypeDerivationChecked = value; } } internal SchemaElementDecl ElementDecl { get { return elementDecl; } set { elementDecl = value; } } [XmlIgnore] internal override string NameAttribute { get { return Name; } set { Name = value; } } [XmlIgnore] internal override string NameString { get { return qualifiedName.ToString(); } } internal override XmlSchemaObject Clone() { System.Diagnostics.Debug.Assert(false, "Should never call Clone() on XmlSchemaElement. Call Clone(XmlSchema) instead."); return Clone(null); } internal XmlSchemaObject Clone(XmlSchema parentSchema) { XmlSchemaElement newElem = (XmlSchemaElement)MemberwiseClone(); //Deep clone the QNames as these will be updated on chameleon includes newElem.refName = this.refName.Clone(); newElem.substitutionGroup = this.substitutionGroup.Clone(); newElem.typeName = this.typeName.Clone(); newElem.qualifiedName = this.qualifiedName.Clone(); // If this element has a complex type which is anonymous (declared in place with the element) // it needs to be cloned as well, since it may contain named elements and such. And these names // will need to be cloned since they may change their namespace on chameleon includes XmlSchemaComplexType complexType = this.type as XmlSchemaComplexType; if (complexType != null && complexType.QualifiedName.IsEmpty) { newElem.type = (XmlSchemaType)complexType.Clone(parentSchema); } //Clear compiled tables newElem.constraints = null; return newElem; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Xml.XPath; using System.ComponentModel; using System.Xml.Serialization; using System.Diagnostics; namespace System.Xml.Schema { ////// /// public class XmlSchemaElement : XmlSchemaParticle { bool isAbstract; bool hasAbstractAttribute; bool isNillable; bool hasNillableAttribute; bool isLocalTypeDerivationChecked; XmlSchemaDerivationMethod block = XmlSchemaDerivationMethod.None; XmlSchemaDerivationMethod final = XmlSchemaDerivationMethod.None; XmlSchemaForm form = XmlSchemaForm.None; string defaultValue; string fixedValue; string name; XmlQualifiedName refName = XmlQualifiedName.Empty; XmlQualifiedName substitutionGroup = XmlQualifiedName.Empty; XmlQualifiedName typeName = XmlQualifiedName.Empty; XmlSchemaType type = null; XmlQualifiedName qualifiedName = XmlQualifiedName.Empty; XmlSchemaType elementType; XmlSchemaDerivationMethod blockResolved; XmlSchemaDerivationMethod finalResolved; XmlSchemaObjectCollection constraints; SchemaElementDecl elementDecl; ///[To be supplied.] ////// /// [XmlAttribute("abstract"), DefaultValue(false)] public bool IsAbstract { get { return isAbstract; } set { isAbstract = value; hasAbstractAttribute = true; } } ///[To be supplied.] ////// /// [XmlAttribute("block"), DefaultValue(XmlSchemaDerivationMethod.None)] public XmlSchemaDerivationMethod Block { get { return block; } set { block = value; } } ///[To be supplied.] ////// /// [XmlAttribute("default")] [DefaultValue(null)] public string DefaultValue { get { return defaultValue; } set { defaultValue = value; } } ///[To be supplied.] ////// /// [XmlAttribute("final"), DefaultValue(XmlSchemaDerivationMethod.None)] public XmlSchemaDerivationMethod Final { get { return final; } set { final = value; } } ///[To be supplied.] ////// /// [XmlAttribute("fixed")] [DefaultValue(null)] public string FixedValue { get { return fixedValue; } set { fixedValue = value; } } ///[To be supplied.] ////// /// [XmlAttribute("form"), DefaultValue(XmlSchemaForm.None)] public XmlSchemaForm Form { get { return form; } set { form = value; } } ///[To be supplied.] ////// /// [XmlAttribute("name"), DefaultValue("")] public string Name { get { return name; } set { name = value; } } ///[To be supplied.] ////// /// [XmlAttribute("nillable"), DefaultValue(false)] public bool IsNillable { get { return isNillable; } set { isNillable = value; hasNillableAttribute = true; } } [XmlIgnore] internal bool HasNillableAttribute { get { return hasNillableAttribute; } } [XmlIgnore] internal bool HasAbstractAttribute { get { return hasAbstractAttribute; } } ///[To be supplied.] ////// /// [XmlAttribute("ref")] public XmlQualifiedName RefName { get { return refName; } set { refName = (value == null ? XmlQualifiedName.Empty : value); } } ///[To be supplied.] ////// /// [XmlAttribute("substitutionGroup")] public XmlQualifiedName SubstitutionGroup { get { return substitutionGroup; } set { substitutionGroup = (value == null ? XmlQualifiedName.Empty : value); } } ///[To be supplied.] ////// /// [XmlAttribute("type")] public XmlQualifiedName SchemaTypeName { get { return typeName; } set { typeName = (value == null ? XmlQualifiedName.Empty : value); } } ///[To be supplied.] ////// /// [XmlElement("complexType", typeof(XmlSchemaComplexType)), XmlElement("simpleType", typeof(XmlSchemaSimpleType))] public XmlSchemaType SchemaType { get { return type; } set { type = value; } } ///[To be supplied.] ////// /// [XmlElement("key", typeof(XmlSchemaKey)), XmlElement("keyref", typeof(XmlSchemaKeyref)), XmlElement("unique", typeof(XmlSchemaUnique))] public XmlSchemaObjectCollection Constraints { get { if (constraints == null) { constraints = new XmlSchemaObjectCollection(); } return constraints; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlQualifiedName QualifiedName { get { return qualifiedName; } } ///[To be supplied.] ////// /// [XmlIgnore] [Obsolete("This property has been deprecated. Please use ElementSchemaType property that returns a strongly typed element type. http://go.microsoft.com/fwlink/?linkid=14202")] public object ElementType { get { if (elementType == null) return null; if (elementType.QualifiedName.Namespace == XmlReservedNs.NsXs) { return elementType.Datatype; //returns XmlSchemaDatatype; } return elementType; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaType ElementSchemaType { get { return elementType; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDerivationMethod BlockResolved { get { return blockResolved; } } ///[To be supplied.] ////// /// [XmlIgnore] public XmlSchemaDerivationMethod FinalResolved { get { return finalResolved; } } 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 void SetQualifiedName(XmlQualifiedName value) { qualifiedName = value; } internal void SetElementType(XmlSchemaType value) { elementType = value; } internal void SetBlockResolved(XmlSchemaDerivationMethod value) { blockResolved = value; } internal void SetFinalResolved(XmlSchemaDerivationMethod value) { finalResolved = value; } [XmlIgnore] internal bool HasDefault { get { return defaultValue != null && defaultValue.Length > 0; } } internal bool HasConstraints { get { return constraints != null && constraints.Count > 0; } } internal bool IsLocalTypeDerivationChecked { get { return isLocalTypeDerivationChecked; } set { isLocalTypeDerivationChecked = value; } } internal SchemaElementDecl ElementDecl { get { return elementDecl; } set { elementDecl = value; } } [XmlIgnore] internal override string NameAttribute { get { return Name; } set { Name = value; } } [XmlIgnore] internal override string NameString { get { return qualifiedName.ToString(); } } internal override XmlSchemaObject Clone() { System.Diagnostics.Debug.Assert(false, "Should never call Clone() on XmlSchemaElement. Call Clone(XmlSchema) instead."); return Clone(null); } internal XmlSchemaObject Clone(XmlSchema parentSchema) { XmlSchemaElement newElem = (XmlSchemaElement)MemberwiseClone(); //Deep clone the QNames as these will be updated on chameleon includes newElem.refName = this.refName.Clone(); newElem.substitutionGroup = this.substitutionGroup.Clone(); newElem.typeName = this.typeName.Clone(); newElem.qualifiedName = this.qualifiedName.Clone(); // If this element has a complex type which is anonymous (declared in place with the element) // it needs to be cloned as well, since it may contain named elements and such. And these names // will need to be cloned since they may change their namespace on chameleon includes XmlSchemaComplexType complexType = this.type as XmlSchemaComplexType; if (complexType != null && complexType.QualifiedName.IsEmpty) { newElem.type = (XmlSchemaType)complexType.Clone(parentSchema); } //Clear compiled tables newElem.constraints = null; return newElem; } } } // 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
- IPAddress.cs
- _OverlappedAsyncResult.cs
- PerformanceCounterScope.cs
- MimeXmlReflector.cs
- XhtmlBasicPageAdapter.cs
- SecurityDocument.cs
- HtmlSelect.cs
- TextBox.cs
- CellPartitioner.cs
- HashCodeCombiner.cs
- BmpBitmapDecoder.cs
- newinstructionaction.cs
- IdentityHolder.cs
- X509CertificateInitiatorClientCredential.cs
- PathStreamGeometryContext.cs
- SvcMapFile.cs
- CollectionBase.cs
- IgnorePropertiesAttribute.cs
- PolicyException.cs
- CodeObjectCreateExpression.cs
- MultiBinding.cs
- MsmqProcessProtocolHandler.cs
- ValueExpressions.cs
- GB18030Encoding.cs
- RenderDataDrawingContext.cs
- TraceEventCache.cs
- ScaleTransform3D.cs
- TextEndOfLine.cs
- SiteMembershipCondition.cs
- OdbcEnvironment.cs
- ClientFormsAuthenticationCredentials.cs
- ServiceDurableInstance.cs
- LoggedException.cs
- ActiveXSite.cs
- Run.cs
- IntSecurity.cs
- SqlServices.cs
- TextEditorParagraphs.cs
- FontWeightConverter.cs
- TreePrinter.cs
- Configuration.cs
- TextFragmentEngine.cs
- SqlTriggerContext.cs
- EntityTypeBase.cs
- RSAProtectedConfigurationProvider.cs
- Wizard.cs
- DetailsViewInsertEventArgs.cs
- MessagePartSpecification.cs
- HtmlTableRowCollection.cs
- MaskedTextBoxTextEditorDropDown.cs
- PropertyInfoSet.cs
- HttpResponseHeader.cs
- AnchoredBlock.cs
- _NestedMultipleAsyncResult.cs
- NumericUpDownAccelerationCollection.cs
- XmlSortKeyAccumulator.cs
- MissingMethodException.cs
- EventLogException.cs
- SqlConnectionManager.cs
- DiscoveryProxy.cs
- WorkflowInstanceExtensionProvider.cs
- FunctionOverloadResolver.cs
- LazyInitializer.cs
- Permission.cs
- TogglePattern.cs
- ReadWriteSpinLock.cs
- ReferencedAssembly.cs
- FieldNameLookup.cs
- EditCommandColumn.cs
- EmptyStringExpandableObjectConverter.cs
- ObfuscationAttribute.cs
- QueueProcessor.cs
- WindowsScrollBarBits.cs
- ListViewInsertedEventArgs.cs
- Positioning.cs
- ViewStateException.cs
- StorageBasedPackageProperties.cs
- GridViewRow.cs
- HttpProfileGroupBase.cs
- TextTrailingCharacterEllipsis.cs
- ConstructorBuilder.cs
- Calendar.cs
- MarshalByRefObject.cs
- Converter.cs
- RayHitTestParameters.cs
- RC2CryptoServiceProvider.cs
- RawStylusInputCustomData.cs
- SrgsElementList.cs
- FlagsAttribute.cs
- HwndProxyElementProvider.cs
- OuterGlowBitmapEffect.cs
- ExpanderAutomationPeer.cs
- BookmarkUndoUnit.cs
- LogSwitch.cs
- BreakRecordTable.cs
- SqlCachedBuffer.cs
- FileSystemInfo.cs
- Buffer.cs
- TreeBuilderBamlTranslator.cs
- WindowCollection.cs