Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / XPathExpr.cs / 1305376 / 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) { expr.SetContext(nsResolver); } 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. // //[....] //----------------------------------------------------------------------------- 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) { expr.SetContext(nsResolver); } return expr; } private void PrintQuery(XmlWriter w) { ((CompiledXpathExpr)this).QueryTree.PrintQuery(w); } } } // 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
- ExeConfigurationFileMap.cs
- IImplicitResourceProvider.cs
- ProfilePropertySettings.cs
- ForEachDesigner.xaml.cs
- FormCollection.cs
- DataRecord.cs
- ViewGenerator.cs
- CursorInteropHelper.cs
- TextBreakpoint.cs
- PageParserFilter.cs
- securitymgrsite.cs
- X509LogoTypeExtension.cs
- BaseDataListActionList.cs
- SqlInfoMessageEvent.cs
- Canvas.cs
- CellConstantDomain.cs
- ChildrenQuery.cs
- NoneExcludedImageIndexConverter.cs
- XComponentModel.cs
- TypeBrowserDialog.cs
- InitializingNewItemEventArgs.cs
- ConnectionsZone.cs
- BufferModesCollection.cs
- PieceDirectory.cs
- DataGridViewCellStateChangedEventArgs.cs
- CanExecuteRoutedEventArgs.cs
- StylusCollection.cs
- ValueTypeFixupInfo.cs
- BooleanToVisibilityConverter.cs
- FormViewInsertedEventArgs.cs
- XmlSortKeyAccumulator.cs
- ColorDialog.cs
- HyperLinkStyle.cs
- httpapplicationstate.cs
- PingReply.cs
- WebPartVerbCollection.cs
- SocketException.cs
- ToolStripContentPanelDesigner.cs
- DataGridColumnHeader.cs
- CharacterShapingProperties.cs
- Parameter.cs
- RepeatButton.cs
- CodeTypeOfExpression.cs
- CssStyleCollection.cs
- DuplicateWaitObjectException.cs
- IgnoreSectionHandler.cs
- PageRequestManager.cs
- CompModSwitches.cs
- CodeIdentifiers.cs
- InvalidAsynchronousStateException.cs
- SelectionItemPattern.cs
- BitmapImage.cs
- RelationshipEndCollection.cs
- InheritanceAttribute.cs
- StreamInfo.cs
- WrapperEqualityComparer.cs
- FactoryGenerator.cs
- XmlSchemaSimpleTypeList.cs
- ObjectDataSourceWizardForm.cs
- DurationConverter.cs
- ArithmeticException.cs
- SessionStateModule.cs
- Stylesheet.cs
- EditingCoordinator.cs
- PenThreadPool.cs
- CompoundFileDeflateTransform.cs
- ArrayTypeMismatchException.cs
- DataTransferEventArgs.cs
- _DomainName.cs
- ExpressionPrinter.cs
- initElementDictionary.cs
- ElementHost.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- StoreAnnotationsMap.cs
- SelectedPathEditor.cs
- SqlDependencyUtils.cs
- XmlAttributeHolder.cs
- PeerObject.cs
- ValidationEventArgs.cs
- RijndaelCryptoServiceProvider.cs
- Error.cs
- SequentialActivityDesigner.cs
- ModuleConfigurationInfo.cs
- FileDialogCustomPlacesCollection.cs
- EncodingInfo.cs
- UnionCqlBlock.cs
- SendDesigner.xaml.cs
- ComponentResourceKey.cs
- CompilationRelaxations.cs
- Receive.cs
- PropagatorResult.cs
- MenuRendererStandards.cs
- ProofTokenCryptoHandle.cs
- Animatable.cs
- InstanceDataCollectionCollection.cs
- DiagnosticsConfigurationHandler.cs
- Module.cs
- followingsibling.cs
- BaseCodePageEncoding.cs
- Line.cs