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
- XmlNodeReader.cs
- AuthenticationManager.cs
- StaticResourceExtension.cs
- BamlBinaryReader.cs
- Int32Rect.cs
- PostBackOptions.cs
- CommittableTransaction.cs
- HtmlTernaryTree.cs
- StaticTextPointer.cs
- SqlMethods.cs
- AssociationEndMember.cs
- EventLogger.cs
- WMICapabilities.cs
- StylusSystemGestureEventArgs.cs
- Base64Encoder.cs
- ConfigXmlText.cs
- AmbientValueAttribute.cs
- RotateTransform.cs
- TextEndOfParagraph.cs
- Metadata.cs
- HtmlTableRowCollection.cs
- CustomAttributeBuilder.cs
- SystemWebSectionGroup.cs
- OleAutBinder.cs
- TraceContext.cs
- GZipStream.cs
- AsyncInvokeOperation.cs
- ConfigurationCollectionAttribute.cs
- BitmapEffectGroup.cs
- SystemDiagnosticsSection.cs
- WindowsImpersonationContext.cs
- InheritanceAttribute.cs
- DbProviderFactory.cs
- Italic.cs
- IPGlobalProperties.cs
- ValueTable.cs
- Stylus.cs
- TypeConverterAttribute.cs
- SQLBinary.cs
- _AutoWebProxyScriptHelper.cs
- DataKeyCollection.cs
- SQLConvert.cs
- RuntimeHelpers.cs
- OrderedHashRepartitionStream.cs
- Transform3D.cs
- Selection.cs
- CollectionView.cs
- DeviceSpecific.cs
- AttributeData.cs
- Crc32.cs
- HandlerBase.cs
- KeyboardNavigation.cs
- Padding.cs
- TemplateControl.cs
- Int64AnimationUsingKeyFrames.cs
- WinInetCache.cs
- SequentialActivityDesigner.cs
- SoapFormatExtensions.cs
- ParseChildrenAsPropertiesAttribute.cs
- XmlSerializableReader.cs
- Material.cs
- DocumentViewerHelper.cs
- ObjectAnimationUsingKeyFrames.cs
- Literal.cs
- ComponentChangedEvent.cs
- ActivityDesignerAccessibleObject.cs
- WebPartDisplayModeCollection.cs
- VariableReference.cs
- VoiceChangeEventArgs.cs
- ScriptControlManager.cs
- XmlReaderSettings.cs
- FixedSOMTextRun.cs
- CodePropertyReferenceExpression.cs
- ElapsedEventArgs.cs
- IgnoreFileBuildProvider.cs
- ResourceReferenceKeyNotFoundException.cs
- ScriptControl.cs
- TextParagraphProperties.cs
- WindowsRichEdit.cs
- HtmlInputCheckBox.cs
- ColorInterpolationModeValidation.cs
- ObjectSet.cs
- AsyncDataRequest.cs
- sqlcontext.cs
- EFAssociationProvider.cs
- RegisteredArrayDeclaration.cs
- DataGridAddNewRow.cs
- RNGCryptoServiceProvider.cs
- ArrayWithOffset.cs
- NetworkStream.cs
- FileLevelControlBuilderAttribute.cs
- EventBindingService.cs
- TdsParserStateObject.cs
- ExceptionUtility.cs
- ParenthesizePropertyNameAttribute.cs
- TextRunCache.cs
- Wizard.cs
- COM2ColorConverter.cs
- InkCanvas.cs
- Bits.cs