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
- RpcCryptoContext.cs
- HostSecurityManager.cs
- AssemblySettingAttributes.cs
- TypeName.cs
- ByteStorage.cs
- Parsers.cs
- TransactionFormatter.cs
- EventManager.cs
- ToolStripContentPanel.cs
- FormViewModeEventArgs.cs
- LingerOption.cs
- TextMetrics.cs
- FontEmbeddingManager.cs
- RestHandlerFactory.cs
- MergeFailedEvent.cs
- OracleDataReader.cs
- PasswordTextNavigator.cs
- SafeHandle.cs
- RenderContext.cs
- DecimalConverter.cs
- ScriptRegistrationManager.cs
- UInt32.cs
- InputElement.cs
- ModuleElement.cs
- DefaultTextStoreTextComposition.cs
- SeekStoryboard.cs
- DataGridViewRowHeaderCell.cs
- GridViewColumnCollection.cs
- NavigationProgressEventArgs.cs
- DirectoryInfo.cs
- XNodeValidator.cs
- PointAnimationBase.cs
- Rectangle.cs
- FileDialogCustomPlace.cs
- XmlSchemaSimpleContentRestriction.cs
- TraceSection.cs
- TypeConverters.cs
- XMLDiffLoader.cs
- BadImageFormatException.cs
- TransformerConfigurationWizardBase.cs
- ProcessRequestAsyncResult.cs
- DocumentCollection.cs
- SharedPersonalizationStateInfo.cs
- Substitution.cs
- StringCollectionEditor.cs
- SoapAttributes.cs
- ValidateNames.cs
- InvariantComparer.cs
- ListDictionary.cs
- SingleTagSectionHandler.cs
- ListCommandEventArgs.cs
- Matrix3DValueSerializer.cs
- DBParameter.cs
- MetadataSource.cs
- TextLineBreak.cs
- TypeDependencyAttribute.cs
- SmtpClient.cs
- TextServicesProperty.cs
- BufferedReadStream.cs
- RuntimeHelpers.cs
- Preprocessor.cs
- BitmapFrame.cs
- ProgressBar.cs
- Restrictions.cs
- FaultReasonText.cs
- SimpleFieldTemplateFactory.cs
- TargetParameterCountException.cs
- StatusBarPanel.cs
- SQLChars.cs
- Int32CAMarshaler.cs
- TextAnchor.cs
- Util.cs
- FlowPosition.cs
- WebPartEditorApplyVerb.cs
- WeakReferenceList.cs
- IconConverter.cs
- TextEffectCollection.cs
- SafeNativeMethods.cs
- KnownTypes.cs
- ChangeBlockUndoRecord.cs
- EFAssociationProvider.cs
- DataSourceProvider.cs
- ValueExpressions.cs
- XmlSchemaComplexType.cs
- CustomLineCap.cs
- XmlSchemaComplexType.cs
- Or.cs
- SourceItem.cs
- ChannelSinkStacks.cs
- EnumValAlphaComparer.cs
- GPStream.cs
- Style.cs
- TileBrush.cs
- LinkButton.cs
- TemplatePartAttribute.cs
- XmlCodeExporter.cs
- TakeQueryOptionExpression.cs
- ExtensionDataReader.cs
- DataFormats.cs
- DocumentPaginator.cs