Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / XPath / XPathExpr.cs / 1 / XPathExpr.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.XPath {
using System;
using System.Xml;
using System.Collections;
using MS.Internal.Xml.XPath;
public enum XmlSortOrder {
Ascending = 1,
Descending = 2,
}
public enum XmlCaseOrder {
None = 0,
UpperFirst = 1,
LowerFirst = 2,
}
public enum XmlDataType {
Text = 1,
Number = 2,
}
public enum XPathResultType {
Number = 0 ,
String = 1,
Boolean = 2,
NodeSet = 3,
Navigator = XPathResultType.String,
Any = 5,
Error
};
public abstract class XPathExpression {
internal XPathExpression(){}
public abstract string Expression { get; }
public abstract void AddSort(object expr, IComparer comparer);
public abstract void AddSort(object expr, XmlSortOrder order, XmlCaseOrder caseOrder, string lang, XmlDataType dataType);
public abstract XPathExpression Clone();
public abstract void SetContext(XmlNamespaceManager nsManager);
public abstract void SetContext(IXmlNamespaceResolver nsResolver);
public abstract XPathResultType ReturnType { get; }
public static XPathExpression Compile(string xpath) {
return Compile(xpath, /*nsResolver:*/null);
}
public static XPathExpression Compile(string xpath, IXmlNamespaceResolver nsResolver) {
bool hasPrefix;
Query query = new QueryBuilder().Build(xpath, out hasPrefix);
CompiledXpathExpr expr = new CompiledXpathExpr(query, xpath, hasPrefix);
if (null != nsResolver) {
XmlNamespaceManager mngr = XPathNavigator.GetNamespaces(nsResolver);
expr.SetContext(mngr);
}
return expr;
}
private void PrintQuery(XmlWriter w) {
((CompiledXpathExpr)this).QueryTree.PrintQuery(w);
}
}
}
// 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
- _AuthenticationState.cs
- LogConverter.cs
- XmlUtilWriter.cs
- UpdatePanelTrigger.cs
- smtpconnection.cs
- CryptoStream.cs
- OptimisticConcurrencyException.cs
- PermissionListSet.cs
- remotingproxy.cs
- InvalidOleVariantTypeException.cs
- Int64Animation.cs
- Int16KeyFrameCollection.cs
- SerializerProvider.cs
- metadatamappinghashervisitor.cs
- Panel.cs
- URIFormatException.cs
- DbExpressionVisitor_TResultType.cs
- ResourceDescriptionAttribute.cs
- CustomErrorCollection.cs
- LinkedResourceCollection.cs
- UniformGrid.cs
- ChannelSettingsElement.cs
- infer.cs
- HashJoinQueryOperatorEnumerator.cs
- TextRangeEdit.cs
- GridItemCollection.cs
- TreeViewDesigner.cs
- FrameworkContextData.cs
- LightweightCodeGenerator.cs
- Hyperlink.cs
- UnicastIPAddressInformationCollection.cs
- ReflectPropertyDescriptor.cs
- ScrollChrome.cs
- LoginStatusDesigner.cs
- EventArgs.cs
- CompoundFileReference.cs
- DoubleKeyFrameCollection.cs
- SynchronizingStream.cs
- HyperLinkField.cs
- ControlDesigner.cs
- CollectionViewSource.cs
- RuleSetBrowserDialog.cs
- BlobPersonalizationState.cs
- Internal.cs
- Durable.cs
- ButtonBase.cs
- SQLDateTimeStorage.cs
- Publisher.cs
- DisableDpiAwarenessAttribute.cs
- ImageFormatConverter.cs
- SqlMultiplexer.cs
- CharKeyFrameCollection.cs
- BitmapMetadata.cs
- BordersPage.cs
- ZipIOLocalFileHeader.cs
- TextHintingModeValidation.cs
- XmlNamespaceDeclarationsAttribute.cs
- arclist.cs
- BindingSource.cs
- EditBehavior.cs
- CustomAssemblyResolver.cs
- DecimalStorage.cs
- StreamingContext.cs
- FixedElement.cs
- SiteMapNodeCollection.cs
- VBCodeProvider.cs
- StorageComplexTypeMapping.cs
- DbBuffer.cs
- XmlDownloadManager.cs
- XmlSchemaNotation.cs
- PropertyGridCommands.cs
- _FixedSizeReader.cs
- Odbc32.cs
- PerfCounterSection.cs
- Track.cs
- OrderByExpression.cs
- Stack.cs
- EntityDataSourceColumn.cs
- ServiceDesigner.cs
- Ray3DHitTestResult.cs
- ViewUtilities.cs
- BinaryUtilClasses.cs
- BooleanAnimationUsingKeyFrames.cs
- EmptyEnumerator.cs
- TextEffectResolver.cs
- DoubleAverageAggregationOperator.cs
- SessionState.cs
- RegexBoyerMoore.cs
- DateTimeConverter2.cs
- SoapAttributeOverrides.cs
- ConfigurationSectionHelper.cs
- ReadOnlyDataSource.cs
- Int16KeyFrameCollection.cs
- CompositionAdorner.cs
- ComplexTypeEmitter.cs
- DesignerLinkAdapter.cs
- HttpRuntimeSection.cs
- ErasingStroke.cs
- RegionInfo.cs
- DataSysAttribute.cs