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
- TemplateControl.cs
- FragmentNavigationEventArgs.cs
- ArglessEventHandlerProxy.cs
- QilReference.cs
- DbConnectionInternal.cs
- MetadataWorkspace.cs
- CodeAccessPermission.cs
- CharEnumerator.cs
- MethodToken.cs
- RenderCapability.cs
- DeploymentExceptionMapper.cs
- FacetValues.cs
- RecipientIdentity.cs
- IndentTextWriter.cs
- WebBrowserProgressChangedEventHandler.cs
- WebHttpSecurityModeHelper.cs
- LinearGradientBrush.cs
- MarshalByRefObject.cs
- ImageSourceValueSerializer.cs
- BaseDataBoundControl.cs
- HtmlInputButton.cs
- SQLInt16Storage.cs
- CodeBinaryOperatorExpression.cs
- ConfigurationSchemaErrors.cs
- LZCodec.cs
- ListViewGroup.cs
- cookiecontainer.cs
- RenderContext.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- Roles.cs
- SqlProfileProvider.cs
- Int64AnimationBase.cs
- DataGridViewUtilities.cs
- sqlpipe.cs
- AlgoModule.cs
- ReadOnlyNameValueCollection.cs
- Stylus.cs
- NetworkInformationException.cs
- TempEnvironment.cs
- BaseCodePageEncoding.cs
- DataGridItem.cs
- SessionIDManager.cs
- RawKeyboardInputReport.cs
- ServiceObjectContainer.cs
- DESCryptoServiceProvider.cs
- Control.cs
- Geometry3D.cs
- EntityDataSourceContextCreatedEventArgs.cs
- Inflater.cs
- TimeSpan.cs
- TreeBuilderBamlTranslator.cs
- HttpContext.cs
- BaseCodePageEncoding.cs
- GetPageNumberCompletedEventArgs.cs
- XamlTreeBuilder.cs
- PersonalizationStateQuery.cs
- CheckBoxList.cs
- ControlCachePolicy.cs
- RemoveFromCollection.cs
- RequestCachePolicyConverter.cs
- DragCompletedEventArgs.cs
- RSAProtectedConfigurationProvider.cs
- ReadOnlyTernaryTree.cs
- Slider.cs
- CustomSignedXml.cs
- SiteMapNodeCollection.cs
- WebEncodingValidatorAttribute.cs
- _Win32.cs
- MobilePage.cs
- XmlILModule.cs
- StringKeyFrameCollection.cs
- WindowsListView.cs
- WebBrowserContainer.cs
- TablePatternIdentifiers.cs
- NativeMethods.cs
- COM2PropertyBuilderUITypeEditor.cs
- SimpleWorkerRequest.cs
- CompilerCollection.cs
- MethodBody.cs
- ToolStripRenderer.cs
- KoreanLunisolarCalendar.cs
- HandlerMappingMemo.cs
- StringComparer.cs
- EventRecordWrittenEventArgs.cs
- SmiRecordBuffer.cs
- prompt.cs
- SqlNodeTypeOperators.cs
- odbcmetadatacolumnnames.cs
- SecurityHeader.cs
- TrackingStringDictionary.cs
- ProfileGroupSettingsCollection.cs
- FileDialog.cs
- Int16KeyFrameCollection.cs
- TreeNodeClickEventArgs.cs
- ClientBuildManagerCallback.cs
- ToolboxItemFilterAttribute.cs
- Pair.cs
- XPathItem.cs
- XmlQuerySequence.cs
- HostingPreferredMapPath.cs