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
- LogoValidationException.cs
- ControlIdConverter.cs
- EntityParameter.cs
- XamlSerializer.cs
- Bezier.cs
- UrlUtility.cs
- WindowsRichEdit.cs
- XsdDateTime.cs
- BaseHashHelper.cs
- InteropAutomationProvider.cs
- ContractListAdapter.cs
- DataSetMappper.cs
- PropertyGridCommands.cs
- ExclusiveHandleList.cs
- DockProviderWrapper.cs
- DocumentApplication.cs
- Set.cs
- ISO2022Encoding.cs
- EntityFrameworkVersions.cs
- MultipartContentParser.cs
- SqlDelegatedTransaction.cs
- TextFindEngine.cs
- Ipv6Element.cs
- IisTraceListener.cs
- DataServiceProcessingPipelineEventArgs.cs
- OrCondition.cs
- ValidatedControlConverter.cs
- ControlParameter.cs
- UshortList2.cs
- DataServiceQuery.cs
- RenderTargetBitmap.cs
- CorrelationQuery.cs
- DoubleLinkList.cs
- ObjectDataProvider.cs
- DesignerCategoryAttribute.cs
- UniqueConstraint.cs
- TypedRowGenerator.cs
- PolyQuadraticBezierSegment.cs
- FixedBufferAttribute.cs
- FlowLayoutPanel.cs
- VBIdentifierName.cs
- SyndicationDeserializer.cs
- ServiceDesigner.xaml.cs
- X509PeerCertificateAuthentication.cs
- ThaiBuddhistCalendar.cs
- _Rfc2616CacheValidators.cs
- DebugTracing.cs
- DetailsViewPageEventArgs.cs
- NonNullItemCollection.cs
- Evaluator.cs
- TextTreeRootTextBlock.cs
- CodeVariableDeclarationStatement.cs
- AxWrapperGen.cs
- GlyphRunDrawing.cs
- Encoding.cs
- HostingPreferredMapPath.cs
- TreeNodeBinding.cs
- TextBoxView.cs
- InternalSendMessage.cs
- ToolStripMenuItemCodeDomSerializer.cs
- PolicyImporterElementCollection.cs
- Size3D.cs
- CurrencyWrapper.cs
- AppDomainShutdownMonitor.cs
- SplineQuaternionKeyFrame.cs
- XmlSchemaSimpleContent.cs
- OleDbConnection.cs
- ExpandedWrapper.cs
- WinFormsUtils.cs
- PrePostDescendentsWalker.cs
- XmlSchemaElement.cs
- ToolBarOverflowPanel.cs
- ImmutableObjectAttribute.cs
- ProxyAttribute.cs
- RegexCapture.cs
- MonitoringDescriptionAttribute.cs
- xdrvalidator.cs
- FloatMinMaxAggregationOperator.cs
- ValidationSettings.cs
- IdentityReference.cs
- DispatcherTimer.cs
- InheritanceContextHelper.cs
- Lazy.cs
- TraceSection.cs
- RequestCache.cs
- BitmapPalette.cs
- _SpnDictionary.cs
- SettingsPropertyWrongTypeException.cs
- FigureParagraph.cs
- ServicePointManager.cs
- FrameworkRichTextComposition.cs
- ListViewGroupConverter.cs
- ScriptBehaviorDescriptor.cs
- TagPrefixAttribute.cs
- DataSourceXmlTextReader.cs
- ProgressBarBrushConverter.cs
- XPathNodeHelper.cs
- DummyDataSource.cs
- ClassicBorderDecorator.cs
- AutomationAttributeInfo.cs