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
- InternalTypeHelper.cs
- EditorZoneBase.cs
- XmlSchemaObjectCollection.cs
- PropertyManager.cs
- CurrencyManager.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- XmlnsDefinitionAttribute.cs
- BinaryConverter.cs
- FigureHelper.cs
- OracleConnection.cs
- TakeQueryOptionExpression.cs
- UpdatePanel.cs
- DrawListViewSubItemEventArgs.cs
- ProviderMetadata.cs
- UrlAuthFailedErrorFormatter.cs
- PathHelper.cs
- SymDocumentType.cs
- ReachVisualSerializerAsync.cs
- SchemaEntity.cs
- MenuScrollingVisibilityConverter.cs
- RegexCode.cs
- SqlEnums.cs
- KnownTypeDataContractResolver.cs
- manifestimages.cs
- XmlSchemaInferenceException.cs
- ConfigXmlText.cs
- MetadataArtifactLoaderFile.cs
- DecodeHelper.cs
- RouteValueDictionary.cs
- SecurityResources.cs
- CodeMethodReturnStatement.cs
- MergablePropertyAttribute.cs
- FlowDocumentReaderAutomationPeer.cs
- StatusStrip.cs
- FormClosedEvent.cs
- WsdlBuildProvider.cs
- CodeValidator.cs
- PackageRelationship.cs
- HyperLinkDataBindingHandler.cs
- EntityException.cs
- ITreeGenerator.cs
- SelectionManager.cs
- XmlSchemaAnnotation.cs
- TypeDescriptorFilterService.cs
- ReferenceService.cs
- AsynchronousChannelMergeEnumerator.cs
- ZoneIdentityPermission.cs
- EvidenceTypeDescriptor.cs
- UserNameSecurityTokenAuthenticator.cs
- assertwrapper.cs
- SqlClientFactory.cs
- RequestNavigateEventArgs.cs
- XmlSignatureProperties.cs
- TypeConverterHelper.cs
- EntryPointNotFoundException.cs
- DivideByZeroException.cs
- LoadedEvent.cs
- LogFlushAsyncResult.cs
- OletxCommittableTransaction.cs
- WebBrowserEvent.cs
- DynamicObject.cs
- SafeNativeMethodsOther.cs
- DiffuseMaterial.cs
- StreamingContext.cs
- Pkcs9Attribute.cs
- EntityCollection.cs
- SecurityHelper.cs
- TreeNodeBindingCollection.cs
- ReferenceEqualityComparer.cs
- IdentitySection.cs
- XamlSerializationHelper.cs
- X509Certificate2Collection.cs
- WindowsGraphicsCacheManager.cs
- GatewayIPAddressInformationCollection.cs
- ItemType.cs
- TypeUsageBuilder.cs
- VideoDrawing.cs
- AssociationSetMetadata.cs
- ToolStripItemTextRenderEventArgs.cs
- RegularExpressionValidator.cs
- IgnoreFileBuildProvider.cs
- OutOfMemoryException.cs
- Polygon.cs
- GroupDescription.cs
- ListControlBuilder.cs
- GraphicsPathIterator.cs
- BaseTemplateBuildProvider.cs
- TextRunCache.cs
- FileUpload.cs
- SignatureHelper.cs
- AccessDataSourceDesigner.cs
- remotingproxy.cs
- DependencyObjectProvider.cs
- mactripleDES.cs
- SessionStateModule.cs
- ObjectRef.cs
- documentation.cs
- LinqTreeNodeEvaluator.cs
- EventRouteFactory.cs
- ByteAnimationUsingKeyFrames.cs