Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Xml / System / Xml / XmlQualifiedName.cs / 1 / XmlQualifiedName.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml { using System.Collections; using System.Diagnostics; ////// /// [Serializable] public class XmlQualifiedName { string name; string ns; [NonSerialized] Int32 hash; ///[To be supplied.] ////// /// public static readonly XmlQualifiedName Empty = new XmlQualifiedName(string.Empty); ///[To be supplied.] ////// /// public XmlQualifiedName() : this(string.Empty, string.Empty) {} ///[To be supplied.] ////// /// public XmlQualifiedName(string name) : this(name, string.Empty) {} ///[To be supplied.] ////// /// public XmlQualifiedName(string name, string ns) { this.ns = ns == null ? string.Empty : ns; this.name = name == null ? string.Empty : name; } ///[To be supplied.] ////// /// public string Namespace { get { return ns; } } ///[To be supplied.] ////// /// public string Name { get { return name; } } ///[To be supplied.] ////// /// public override int GetHashCode() { if(hash == 0) { hash = Name.GetHashCode() /*+ Namespace.GetHashCode()*/; // for perf reasons we are not taking ns's hashcode. } return hash; } ///[To be supplied.] ////// /// public bool IsEmpty { get { return Name.Length == 0 && Namespace.Length == 0; } } ///[To be supplied.] ////// /// public override string ToString() { return Namespace.Length == 0 ? Name : string.Concat(Namespace, ":" , Name); } ///[To be supplied.] ////// /// public override bool Equals(object other) { XmlQualifiedName qname; if ((object) this == other) { return true; } qname = other as XmlQualifiedName; if (qname != null) { return (Name == qname.Name && Namespace == qname.Namespace); } return false; } ///[To be supplied.] ////// /// public static bool operator ==(XmlQualifiedName a, XmlQualifiedName b) { if ((object) a == (object) b) return true; if ((object) a == null || (object) b == null) return false; return (a.Name == b.Name && a.Namespace == b.Namespace); } ///[To be supplied.] ////// /// public static bool operator !=(XmlQualifiedName a, XmlQualifiedName b) { return !(a == b); } ///[To be supplied.] ////// /// public static string ToString(string name, string ns) { return ns == null || ns.Length == 0 ? name : ns + ":" + name; } // --------- Some useful internal stuff ----------------- internal void Init(string name, string ns) { Debug.Assert(name != null && ns != null); this.name = name; this.ns = ns; this.hash = 0; } internal void SetNamespace(string ns) { Debug.Assert(ns != null); this.ns = ns; //Not changing hash since ns is not used to compute hashcode } internal void Verify() { XmlConvert.VerifyNCName(name); if (ns.Length != 0) { XmlConvert.ToUri(ns); } } internal void Atomize(XmlNameTable nameTable) { Debug.Assert(name != null); name = nameTable.Add(name); ns = nameTable.Add(ns); } internal static XmlQualifiedName Parse(string s, IXmlNamespaceResolver nsmgr, out string prefix) { string localName; ValidateNames.ParseQNameThrow(s, out prefix, out localName); string uri = nsmgr.LookupNamespace(prefix); if (uri == null) { if (prefix.Length != 0) { throw new XmlException(Res.Xml_UnknownNs, prefix); } else { //Re-map namespace of empty prefix to string.Empty when there is no default namespace declared uri = string.Empty; } } return new XmlQualifiedName(localName, uri); } internal XmlQualifiedName Clone() { return (XmlQualifiedName)MemberwiseClone(); } internal static int Compare(XmlQualifiedName a, XmlQualifiedName b) { if (null == a) { return (null == b) ? 0 : -1; } if (null == b) { return 1; } int i = String.CompareOrdinal(a.Namespace, b.Namespace); if (i == 0) { i = String.CompareOrdinal(a.Name, b.Name); } return i; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml { using System.Collections; using System.Diagnostics; ////// /// [Serializable] public class XmlQualifiedName { string name; string ns; [NonSerialized] Int32 hash; ///[To be supplied.] ////// /// public static readonly XmlQualifiedName Empty = new XmlQualifiedName(string.Empty); ///[To be supplied.] ////// /// public XmlQualifiedName() : this(string.Empty, string.Empty) {} ///[To be supplied.] ////// /// public XmlQualifiedName(string name) : this(name, string.Empty) {} ///[To be supplied.] ////// /// public XmlQualifiedName(string name, string ns) { this.ns = ns == null ? string.Empty : ns; this.name = name == null ? string.Empty : name; } ///[To be supplied.] ////// /// public string Namespace { get { return ns; } } ///[To be supplied.] ////// /// public string Name { get { return name; } } ///[To be supplied.] ////// /// public override int GetHashCode() { if(hash == 0) { hash = Name.GetHashCode() /*+ Namespace.GetHashCode()*/; // for perf reasons we are not taking ns's hashcode. } return hash; } ///[To be supplied.] ////// /// public bool IsEmpty { get { return Name.Length == 0 && Namespace.Length == 0; } } ///[To be supplied.] ////// /// public override string ToString() { return Namespace.Length == 0 ? Name : string.Concat(Namespace, ":" , Name); } ///[To be supplied.] ////// /// public override bool Equals(object other) { XmlQualifiedName qname; if ((object) this == other) { return true; } qname = other as XmlQualifiedName; if (qname != null) { return (Name == qname.Name && Namespace == qname.Namespace); } return false; } ///[To be supplied.] ////// /// public static bool operator ==(XmlQualifiedName a, XmlQualifiedName b) { if ((object) a == (object) b) return true; if ((object) a == null || (object) b == null) return false; return (a.Name == b.Name && a.Namespace == b.Namespace); } ///[To be supplied.] ////// /// public static bool operator !=(XmlQualifiedName a, XmlQualifiedName b) { return !(a == b); } ///[To be supplied.] ////// /// public static string ToString(string name, string ns) { return ns == null || ns.Length == 0 ? name : ns + ":" + name; } // --------- Some useful internal stuff ----------------- internal void Init(string name, string ns) { Debug.Assert(name != null && ns != null); this.name = name; this.ns = ns; this.hash = 0; } internal void SetNamespace(string ns) { Debug.Assert(ns != null); this.ns = ns; //Not changing hash since ns is not used to compute hashcode } internal void Verify() { XmlConvert.VerifyNCName(name); if (ns.Length != 0) { XmlConvert.ToUri(ns); } } internal void Atomize(XmlNameTable nameTable) { Debug.Assert(name != null); name = nameTable.Add(name); ns = nameTable.Add(ns); } internal static XmlQualifiedName Parse(string s, IXmlNamespaceResolver nsmgr, out string prefix) { string localName; ValidateNames.ParseQNameThrow(s, out prefix, out localName); string uri = nsmgr.LookupNamespace(prefix); if (uri == null) { if (prefix.Length != 0) { throw new XmlException(Res.Xml_UnknownNs, prefix); } else { //Re-map namespace of empty prefix to string.Empty when there is no default namespace declared uri = string.Empty; } } return new XmlQualifiedName(localName, uri); } internal XmlQualifiedName Clone() { return (XmlQualifiedName)MemberwiseClone(); } internal static int Compare(XmlQualifiedName a, XmlQualifiedName b) { if (null == a) { return (null == b) ? 0 : -1; } if (null == b) { return 1; } int i = String.CompareOrdinal(a.Namespace, b.Namespace); if (i == 0) { i = String.CompareOrdinal(a.Name, b.Name); } return i; } } } // 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
- ProfileService.cs
- StickyNoteContentControl.cs
- DSACryptoServiceProvider.cs
- WebPermission.cs
- Rule.cs
- SoapUnknownHeader.cs
- DbMetaDataColumnNames.cs
- __Filters.cs
- COM2EnumConverter.cs
- XamlHostingSection.cs
- EllipseGeometry.cs
- DataGridViewTopLeftHeaderCell.cs
- OleDbEnumerator.cs
- CacheMemory.cs
- XPathDescendantIterator.cs
- MatrixIndependentAnimationStorage.cs
- MeasurementDCInfo.cs
- StreamingContext.cs
- TextEditorSpelling.cs
- Imaging.cs
- DataFormat.cs
- _NTAuthentication.cs
- GrammarBuilderBase.cs
- UrlMappingsSection.cs
- DataGridCaption.cs
- SerialReceived.cs
- XmlValidatingReaderImpl.cs
- input.cs
- LinkedResourceCollection.cs
- HostExecutionContextManager.cs
- XmlNamedNodeMap.cs
- FlowDocumentReader.cs
- IPEndPoint.cs
- AssemblyAttributesGoHere.cs
- Convert.cs
- WeakReadOnlyCollection.cs
- VirtualPathProvider.cs
- XmlHierarchicalEnumerable.cs
- ReceiveParametersContent.cs
- SignedInfo.cs
- InputScope.cs
- _BaseOverlappedAsyncResult.cs
- _ConnectOverlappedAsyncResult.cs
- VectorAnimationUsingKeyFrames.cs
- CompoundFileReference.cs
- FilteredSchemaElementLookUpTable.cs
- TreeNodeStyle.cs
- AssemblyBuilderData.cs
- SiteMapDataSourceView.cs
- RequiredAttributeAttribute.cs
- TypeConverterValueSerializer.cs
- TreeIterator.cs
- MULTI_QI.cs
- MetadataArtifactLoaderCompositeResource.cs
- PipelineModuleStepContainer.cs
- OdbcStatementHandle.cs
- WmlSelectionListAdapter.cs
- PageThemeCodeDomTreeGenerator.cs
- LayoutTable.cs
- EditorZoneDesigner.cs
- TraceHandlerErrorFormatter.cs
- ComponentChangingEvent.cs
- ButtonBase.cs
- DefaultMemberAttribute.cs
- Vector3DCollectionValueSerializer.cs
- TextModifierScope.cs
- EntityDataSourceChangedEventArgs.cs
- StrokeCollectionConverter.cs
- TopClause.cs
- OleDbReferenceCollection.cs
- ContextStack.cs
- DataTableReaderListener.cs
- PropertyRecord.cs
- ToolBarOverflowPanel.cs
- MembershipSection.cs
- PointUtil.cs
- TableProvider.cs
- Sentence.cs
- JoinGraph.cs
- DataReceivedEventArgs.cs
- EdmEntityTypeAttribute.cs
- TraversalRequest.cs
- RegisteredHiddenField.cs
- DescendantQuery.cs
- PropertiesTab.cs
- DependencyPropertyValueSerializer.cs
- WorkflowElementDialog.cs
- SubMenuStyleCollection.cs
- XPathAncestorIterator.cs
- AutoSizeComboBox.cs
- SolidColorBrush.cs
- SamlAssertionKeyIdentifierClause.cs
- ChineseLunisolarCalendar.cs
- _ProxyChain.cs
- FreezableOperations.cs
- Security.cs
- WebZone.cs
- AttributeAction.cs
- DataControlButton.cs
- Utils.cs