Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- CopyCodeAction.cs
- PropertyTabAttribute.cs
- DataGridCell.cs
- FrameworkRichTextComposition.cs
- MultipleViewProviderWrapper.cs
- UnsignedPublishLicense.cs
- OracleParameter.cs
- SendMailErrorEventArgs.cs
- XD.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- XmlAutoDetectWriter.cs
- GreaterThan.cs
- LongCountAggregationOperator.cs
- NamespaceCollection.cs
- BaseParaClient.cs
- Literal.cs
- ListView.cs
- WebPartConnectionsCancelVerb.cs
- AutoCompleteStringCollection.cs
- PathParser.cs
- Page.cs
- ClientSideQueueItem.cs
- ComponentRenameEvent.cs
- FillErrorEventArgs.cs
- OracleInternalConnection.cs
- Token.cs
- VScrollBar.cs
- DataGridViewRowConverter.cs
- GPRECT.cs
- ObjectHandle.cs
- UriTemplateClientFormatter.cs
- ManagedWndProcTracker.cs
- RegexStringValidator.cs
- Margins.cs
- ListViewCancelEventArgs.cs
- _NestedSingleAsyncResult.cs
- StylusPlugin.cs
- TextElementCollectionHelper.cs
- UIElement3DAutomationPeer.cs
- RectangleHotSpot.cs
- SafeArrayTypeMismatchException.cs
- ShaderEffect.cs
- ProcessModule.cs
- FormsAuthenticationTicket.cs
- SymLanguageVendor.cs
- UnsafeNetInfoNativeMethods.cs
- SymbolType.cs
- RowUpdatingEventArgs.cs
- CapabilitiesSection.cs
- RegexFCD.cs
- ServicePoint.cs
- RenderingEventArgs.cs
- TableSectionStyle.cs
- StructuredTypeEmitter.cs
- WebServiceClientProxyGenerator.cs
- EditorPart.cs
- MenuItemStyleCollection.cs
- ListViewInsertedEventArgs.cs
- GridViewRow.cs
- PermissionSetEnumerator.cs
- OleDbConnectionFactory.cs
- OdbcPermission.cs
- Blend.cs
- nulltextnavigator.cs
- DataServicePagingProviderWrapper.cs
- FileInfo.cs
- AudioFormatConverter.cs
- securitycriticaldataClass.cs
- CompilerTypeWithParams.cs
- HeaderedItemsControl.cs
- DetailsViewRowCollection.cs
- CommonDialog.cs
- EventListener.cs
- ReflectionTypeLoadException.cs
- ControlParameter.cs
- TableParaClient.cs
- AuthenticationException.cs
- SQLUtility.cs
- HierarchicalDataTemplate.cs
- DataGridViewComboBoxColumnDesigner.cs
- XmlReaderSettings.cs
- Parsers.cs
- HMACMD5.cs
- IndicFontClient.cs
- KeyMatchBuilder.cs
- Relationship.cs
- RemoteWebConfigurationHostServer.cs
- SerializationSectionGroup.cs
- PrivacyNoticeBindingElementImporter.cs
- AutomationPattern.cs
- PolyLineSegment.cs
- SQLByteStorage.cs
- HttpWebRequestElement.cs
- FormViewPagerRow.cs
- ImageAnimator.cs
- DateTimeSerializationSection.cs
- ViewStateException.cs
- InternalTypeHelper.cs
- Funcletizer.cs
- SiteMapNode.cs