Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / QIL / QilName.cs / 1305376 / QilName.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Diagnostics; namespace System.Xml.Xsl.Qil { ////// View over a Qil name literal. /// ////// Don't construct QIL nodes directly; instead, use the internal class QilName : QilLiteral { private string local; private string uri; private string prefix; //----------------------------------------------- // Constructor //----------------------------------------------- ///QilFactory . ////// Construct a new node /// public QilName(QilNodeType nodeType, string local, string uri, string prefix) : base(nodeType, null) { LocalName = local; NamespaceUri = uri; Prefix = prefix; Value = this; } //----------------------------------------------- // QilName methods //----------------------------------------------- public string LocalName { get { return this.local; } set { this.local = value; } } public string NamespaceUri { get { return this.uri; } set { this.uri = value; } } public string Prefix { get { return this.prefix; } set { this.prefix = value; } } ////// Build the qualified name in the form prefix:local /// public string QualifiedName { get { if (this.prefix.Length == 0) { return this.local; } else { return this.prefix + ':' + this.local; } } } ////// Override GetHashCode() so that the QilName can be used as a key in the hashtable. /// ///Does not compare their prefixes (if any). public override int GetHashCode() { return this.local.GetHashCode(); } ////// Override Equals() so that the QilName can be used as a key in the hashtable. /// ///Does not compare their prefixes (if any). public override bool Equals(object other) { QilName name = other as QilName; if (name == null) return false; return this.local == name.local && this.uri == name.uri; } ////// Implement operator == to prevent exidental referential comarison /// ///Does not compare their prefixes (if any). public static bool operator ==(QilName a, QilName b) { if ((object)a == (object)b) { return true; } if ((object)a == null || (object)b == null) { return false; } return a.local == b.local && a.uri == b.uri; } ////// Implement operator != to prevent exidental referential comarison /// ///Does not compare their prefixes (if any). public static bool operator !=(QilName a, QilName b) { return !(a == b); } ////// Return the QilName in this format: "{namespace}prefix:local-name". /// If the namespace is empty, return the QilName in this truncated format: "local-name". /// If the prefix is empty, return the QilName in this truncated format: "{namespace}local-name". /// public override string ToString() { if (prefix.Length == 0) { if (uri.Length == 0) return local; return string.Concat("{", uri, "}", local); } return string.Concat("{", uri, "}", prefix, ":", local); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Diagnostics; namespace System.Xml.Xsl.Qil { ////// View over a Qil name literal. /// ////// Don't construct QIL nodes directly; instead, use the internal class QilName : QilLiteral { private string local; private string uri; private string prefix; //----------------------------------------------- // Constructor //----------------------------------------------- ///QilFactory . ////// Construct a new node /// public QilName(QilNodeType nodeType, string local, string uri, string prefix) : base(nodeType, null) { LocalName = local; NamespaceUri = uri; Prefix = prefix; Value = this; } //----------------------------------------------- // QilName methods //----------------------------------------------- public string LocalName { get { return this.local; } set { this.local = value; } } public string NamespaceUri { get { return this.uri; } set { this.uri = value; } } public string Prefix { get { return this.prefix; } set { this.prefix = value; } } ////// Build the qualified name in the form prefix:local /// public string QualifiedName { get { if (this.prefix.Length == 0) { return this.local; } else { return this.prefix + ':' + this.local; } } } ////// Override GetHashCode() so that the QilName can be used as a key in the hashtable. /// ///Does not compare their prefixes (if any). public override int GetHashCode() { return this.local.GetHashCode(); } ////// Override Equals() so that the QilName can be used as a key in the hashtable. /// ///Does not compare their prefixes (if any). public override bool Equals(object other) { QilName name = other as QilName; if (name == null) return false; return this.local == name.local && this.uri == name.uri; } ////// Implement operator == to prevent exidental referential comarison /// ///Does not compare their prefixes (if any). public static bool operator ==(QilName a, QilName b) { if ((object)a == (object)b) { return true; } if ((object)a == null || (object)b == null) { return false; } return a.local == b.local && a.uri == b.uri; } ////// Implement operator != to prevent exidental referential comarison /// ///Does not compare their prefixes (if any). public static bool operator !=(QilName a, QilName b) { return !(a == b); } ////// Return the QilName in this format: "{namespace}prefix:local-name". /// If the namespace is empty, return the QilName in this truncated format: "local-name". /// If the prefix is empty, return the QilName in this truncated format: "{namespace}local-name". /// public override string ToString() { if (prefix.Length == 0) { if (uri.Length == 0) return local; return string.Concat("{", uri, "}", local); } return string.Concat("{", uri, "}", prefix, ":", local); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ZipIOEndOfCentralDirectoryBlock.cs
- ListViewHitTestInfo.cs
- SymbolType.cs
- PointLightBase.cs
- DispatcherHookEventArgs.cs
- SchemaMapping.cs
- OnOperation.cs
- ToolBarOverflowPanel.cs
- PropertyCollection.cs
- sqlinternaltransaction.cs
- KeyTimeConverter.cs
- RoleManagerEventArgs.cs
- AssemblyCacheEntry.cs
- HostProtectionPermission.cs
- MD5Cng.cs
- ConnectionManagementSection.cs
- DownloadProgressEventArgs.cs
- Normalizer.cs
- BaseConfigurationRecord.cs
- ColumnMapCopier.cs
- MetadataWorkspace.cs
- ConnectionPoolManager.cs
- GeneralTransform3DGroup.cs
- AutomationAttributeInfo.cs
- SettingsPropertyValue.cs
- _Rfc2616CacheValidators.cs
- CommandEventArgs.cs
- EmbeddedObject.cs
- BaseComponentEditor.cs
- ToolStripProgressBar.cs
- ViewSimplifier.cs
- NullReferenceException.cs
- NativeWrapper.cs
- X509PeerCertificateAuthenticationElement.cs
- ComponentChangedEvent.cs
- PartitionedStream.cs
- ReaderWriterLockWrapper.cs
- DataServiceKeyAttribute.cs
- HtmlInputFile.cs
- UpdateEventArgs.cs
- StylusPointProperties.cs
- CustomWebEventKey.cs
- DrawingContextDrawingContextWalker.cs
- BlockUIContainer.cs
- StrongNameMembershipCondition.cs
- InternalCompensate.cs
- WmlControlAdapter.cs
- MatchSingleFxEngineOpcode.cs
- AttachedPropertyMethodSelector.cs
- CodeMethodReturnStatement.cs
- WizardSideBarListControlItem.cs
- ExceptionCollection.cs
- MessageEncoder.cs
- HttpBrowserCapabilitiesBase.cs
- FormViewPageEventArgs.cs
- PenContext.cs
- GregorianCalendarHelper.cs
- OTFRasterizer.cs
- WebRequestModulesSection.cs
- PersistChildrenAttribute.cs
- User.cs
- DbConnectionStringBuilder.cs
- ListViewGroupConverter.cs
- CompilerScopeManager.cs
- FilterRepeater.cs
- Currency.cs
- CodeDirectionExpression.cs
- StandardOleMarshalObject.cs
- EventRecordWrittenEventArgs.cs
- UriTemplateTableMatchCandidate.cs
- XslVisitor.cs
- KeyValueConfigurationElement.cs
- TableAdapterManagerGenerator.cs
- ToolZone.cs
- CachedCompositeFamily.cs
- LassoSelectionBehavior.cs
- UserThread.cs
- RectAnimationBase.cs
- XmlLanguageConverter.cs
- CompletedAsyncResult.cs
- CryptoApi.cs
- DataGridViewMethods.cs
- MethodToken.cs
- AtomPub10CategoriesDocumentFormatter.cs
- SBCSCodePageEncoding.cs
- FixedPage.cs
- glyphs.cs
- AssemblyBuilder.cs
- DataSourceSelectArguments.cs
- ToolStripPanel.cs
- ExpressionBuilder.cs
- EntityConnection.cs
- AnimationStorage.cs
- DataListAutoFormat.cs
- ActivitySurrogate.cs
- DrawingDrawingContext.cs
- Accessors.cs
- BindingExpressionBase.cs
- SqlTrackingQuery.cs
- FileLogRecordStream.cs