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
- XmlStreamNodeWriter.cs
- RuntimeHelpers.cs
- ObjectTag.cs
- BitmapDecoder.cs
- RectAnimationClockResource.cs
- JumpTask.cs
- ReachSerializableProperties.cs
- Propagator.cs
- OdbcStatementHandle.cs
- TrustLevel.cs
- versioninfo.cs
- ObjectMaterializedEventArgs.cs
- MinimizableAttributeTypeConverter.cs
- PrimitiveSchema.cs
- Ref.cs
- FragmentNavigationEventArgs.cs
- CodeRemoveEventStatement.cs
- SEHException.cs
- messageonlyhwndwrapper.cs
- ButtonPopupAdapter.cs
- ZipIOExtraFieldPaddingElement.cs
- ExpressionList.cs
- FixedTextBuilder.cs
- EndPoint.cs
- SqlRemoveConstantOrderBy.cs
- Int64Storage.cs
- NativeMethods.cs
- XmlBindingWorker.cs
- SqlClientMetaDataCollectionNames.cs
- XmlSchemaSimpleType.cs
- NamespaceInfo.cs
- InkCanvasFeedbackAdorner.cs
- PrintDialog.cs
- EnumUnknown.cs
- IItemProperties.cs
- AutomationProperty.cs
- WindowsEditBoxRange.cs
- StatusBarPanel.cs
- IfAction.cs
- SuppressMessageAttribute.cs
- DictionaryKeyPropertyAttribute.cs
- DESCryptoServiceProvider.cs
- KeyValuePairs.cs
- ToolTipService.cs
- MeshGeometry3D.cs
- ReferenceSchema.cs
- ObjectTag.cs
- RemotingHelper.cs
- SerializationException.cs
- itemelement.cs
- LocalizableAttribute.cs
- AssertFilter.cs
- Tuple.cs
- Win32.cs
- HyperLinkStyle.cs
- DataGridAutoFormat.cs
- HttpResponseInternalBase.cs
- EditorZoneBase.cs
- ServiceEndpointElement.cs
- ImageFormat.cs
- CheckBoxList.cs
- SimpleWorkerRequest.cs
- CookieProtection.cs
- ExtentKey.cs
- ResourceExpressionBuilder.cs
- AppLevelCompilationSectionCache.cs
- BitmapMetadataEnumerator.cs
- DesignTimeParseData.cs
- StaticResourceExtension.cs
- Misc.cs
- TableParagraph.cs
- SqlDuplicator.cs
- TraceContextRecord.cs
- CriticalFinalizerObject.cs
- AspCompat.cs
- CheckBoxBaseAdapter.cs
- sitestring.cs
- SerializationInfo.cs
- AutomationInteropProvider.cs
- UnicastIPAddressInformationCollection.cs
- ReadOnlyHierarchicalDataSource.cs
- TrackBarRenderer.cs
- VisualStyleTypesAndProperties.cs
- Point3DAnimationUsingKeyFrames.cs
- PropertyPathWorker.cs
- DataObjectFieldAttribute.cs
- ElapsedEventArgs.cs
- FixedSOMPageElement.cs
- MetadataUtil.cs
- TextTrailingWordEllipsis.cs
- CoreSwitches.cs
- XmlFormatWriterGenerator.cs
- TextViewDesigner.cs
- MultiView.cs
- httpserverutility.cs
- SynchronizationLockException.cs
- InstanceCreationEditor.cs
- TitleStyle.cs
- StaticContext.cs
- PathStreamGeometryContext.cs