Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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. // //[....] //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ApplicationInfo.cs
- SocketAddress.cs
- Converter.cs
- CardSpacePolicyElement.cs
- autovalidator.cs
- TextParagraph.cs
- activationcontext.cs
- MonitorWrapper.cs
- ContentDesigner.cs
- IndexingContentUnit.cs
- RuleSettings.cs
- DebugTracing.cs
- Emitter.cs
- IUnknownConstantAttribute.cs
- TraceListeners.cs
- XmlExtensionFunction.cs
- TemplateColumn.cs
- ExcCanonicalXml.cs
- NetCodeGroup.cs
- SmiRecordBuffer.cs
- UnicodeEncoding.cs
- FastPropertyAccessor.cs
- RSAPKCS1KeyExchangeFormatter.cs
- XamlSerializerUtil.cs
- XslVisitor.cs
- BuildProvider.cs
- OracleBinary.cs
- ExtensionFile.cs
- ListViewItem.cs
- odbcmetadatafactory.cs
- COM2PropertyBuilderUITypeEditor.cs
- ContainerFilterService.cs
- MULTI_QI.cs
- DataSourceDescriptorCollection.cs
- RemoteWebConfigurationHostServer.cs
- DotExpr.cs
- DesignBindingEditor.cs
- AsymmetricKeyExchangeFormatter.cs
- DashStyle.cs
- WinEventWrap.cs
- ObservableDictionary.cs
- OdbcError.cs
- CultureInfo.cs
- Rect3D.cs
- PropertyGridView.cs
- DecimalAnimation.cs
- sitestring.cs
- TaiwanLunisolarCalendar.cs
- BaseProcessor.cs
- AdjustableArrowCap.cs
- Transform.cs
- HtmlInputSubmit.cs
- CodeGroup.cs
- EventHandlerList.cs
- MruCache.cs
- HttpRequest.cs
- RegexRunner.cs
- UserControlBuildProvider.cs
- ParameterBuilder.cs
- ServicePoint.cs
- AccessKeyManager.cs
- EnumDataContract.cs
- DataGridRelationshipRow.cs
- ResourceContainer.cs
- CodeIterationStatement.cs
- MarkupObject.cs
- Rotation3DKeyFrameCollection.cs
- TheQuery.cs
- SafeFileMappingHandle.cs
- SoapObjectReader.cs
- OperationCanceledException.cs
- ShapingEngine.cs
- PathNode.cs
- TextDecoration.cs
- TextElementCollectionHelper.cs
- COM2ColorConverter.cs
- XmlNamedNodeMap.cs
- TwoPhaseCommit.cs
- HandlerBase.cs
- LazyTextWriterCreator.cs
- MenuItemCollection.cs
- MessageSecurityOverHttp.cs
- AnnotationObservableCollection.cs
- CodeThrowExceptionStatement.cs
- RuntimeVariableList.cs
- ResponseBodyWriter.cs
- PointLightBase.cs
- UnauthorizedWebPart.cs
- WinEventTracker.cs
- Set.cs
- SqlDataSourceWizardForm.cs
- Domain.cs
- CodeVariableReferenceExpression.cs
- DocumentPageTextView.cs
- WSSecurityPolicy11.cs
- SchemaCollectionPreprocessor.cs
- InkPresenterAutomationPeer.cs
- StoryFragments.cs
- SnapLine.cs
- DbUpdateCommandTree.cs