Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / Dom / XmlProcessingInstruction.cs / 1 / XmlProcessingInstruction.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml {
using System;
using System.IO;
using System.Diagnostics;
using System.Text;
using System.Xml.XPath;
// Represents a processing instruction, which XML defines to keep
// processor-specific information in the text of the document.
public class XmlProcessingInstruction : XmlLinkedNode {
string target;
string data;
protected internal XmlProcessingInstruction( string target, string data, XmlDocument doc ) : base( doc ) {
this.target = target;
this.data = data;
}
// Gets the name of the node.
public override String Name {
get {
if (target != null)
return target;
return String.Empty;
}
}
// Gets the name of the current node without the namespace prefix.
public override string LocalName {
get { return Name;}
}
// Gets or sets the value of the node.
public override String Value {
get { return data;}
set { Data = value; } //use Data instead of data so that event will be fired
}
// Gets the target of the processing instruction.
public String Target {
get { return target;}
}
// Gets or sets the content of processing instruction,
// excluding the target.
public String Data {
get { return data;}
set {
XmlNode parent = ParentNode;
XmlNodeChangedEventArgs args = GetEventArgs( this, parent, parent, data, value, XmlNodeChangedAction.Change );
if (args != null)
BeforeEvent( args );
data = value;
if (args != null)
AfterEvent( args );
}
}
// Gets or sets the concatenated values of the node and
// all its children.
public override string InnerText {
get { return data;}
set { Data = value; } //use Data instead of data so that change event will be fired
}
// Gets the type of the current node.
public override XmlNodeType NodeType {
get { return XmlNodeType.ProcessingInstruction;}
}
// Creates a duplicate of this node.
public override XmlNode CloneNode(bool deep) {
Debug.Assert( OwnerDocument != null );
return OwnerDocument.CreateProcessingInstruction( target, data );
}
// Saves the node to the specified XmlWriter.
public override void WriteTo(XmlWriter w) {
w.WriteProcessingInstruction(target, data);
}
// Saves all the children of the node to the specified XmlWriter.
public override void WriteContentTo(XmlWriter w) {
// Intentionally do nothing
}
internal override string XPLocalName { get { return Name; } }
internal override XPathNodeType XPNodeType { get { return XPathNodeType.ProcessingInstruction; } }
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LoadMessageLogger.cs
- SqlInternalConnectionSmi.cs
- SmiXetterAccessMap.cs
- HorizontalAlignConverter.cs
- Page.cs
- IndexOutOfRangeException.cs
- _UriTypeConverter.cs
- XmlSchemaInferenceException.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- Decoder.cs
- SocketElement.cs
- RepeatInfo.cs
- StorageEntitySetMapping.cs
- DbDataRecord.cs
- FileDetails.cs
- UpdateTracker.cs
- ComponentSerializationService.cs
- MemberNameValidator.cs
- FormViewCommandEventArgs.cs
- List.cs
- HttpListenerContext.cs
- RequestQueue.cs
- BindingContext.cs
- SoapFormatterSinks.cs
- DataSourceXmlSerializer.cs
- Attributes.cs
- RightsManagementEncryptionTransform.cs
- RequestSecurityTokenForRemoteTokenFactory.cs
- WindowShowOrOpenTracker.cs
- OleDbConnectionFactory.cs
- WSSecurityJan2004.cs
- Image.cs
- CollectionEditVerbManager.cs
- AsymmetricKeyExchangeDeformatter.cs
- BufferedReceiveManager.cs
- CodeFieldReferenceExpression.cs
- Compiler.cs
- RenderingEventArgs.cs
- ConnectionPoint.cs
- PageCache.cs
- MessageQueueTransaction.cs
- XmlWrappingReader.cs
- ProjectionPathBuilder.cs
- WebBrowserContainer.cs
- Tuple.cs
- SatelliteContractVersionAttribute.cs
- StandardToolWindows.cs
- loginstatus.cs
- RegistryPermission.cs
- DynamicScriptObject.cs
- CheckBox.cs
- CustomValidator.cs
- SqlCacheDependencyDatabase.cs
- UnsafeMethods.cs
- XmlIgnoreAttribute.cs
- SystemWebCachingSectionGroup.cs
- Process.cs
- QueryConverter.cs
- SelectionHighlightInfo.cs
- StylusPointCollection.cs
- TaskDesigner.cs
- SqlUserDefinedAggregateAttribute.cs
- RelatedView.cs
- AppLevelCompilationSectionCache.cs
- EnumValidator.cs
- InsufficientMemoryException.cs
- RecommendedAsConfigurableAttribute.cs
- DataGridCommandEventArgs.cs
- GregorianCalendar.cs
- initElementDictionary.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- XmlHierarchyData.cs
- Tool.cs
- DataColumnMappingCollection.cs
- FastEncoderWindow.cs
- DataGridLengthConverter.cs
- XmlSchemaObjectTable.cs
- ErrorRuntimeConfig.cs
- ReturnEventArgs.cs
- FormatException.cs
- CallContext.cs
- CheckedListBox.cs
- SafeCryptoHandles.cs
- TitleStyle.cs
- X509CertificateEndpointIdentity.cs
- ContainerUtilities.cs
- versioninfo.cs
- HttpPostProtocolReflector.cs
- UrlPropertyAttribute.cs
- ThreadStaticAttribute.cs
- LongTypeConverter.cs
- ByteFacetDescriptionElement.cs
- CompilationUtil.cs
- LinearGradientBrush.cs
- CookieParameter.cs
- AppearanceEditorPart.cs
- EnvironmentPermission.cs
- DataRelationCollection.cs
- StrongNameKeyPair.cs
- CompareValidator.cs