Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / XPath / Internal / Function.cs / 1 / Function.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace MS.Internal.Xml.XPath {
using System;
using System.Xml;
using System.Xml.XPath;
using System.Diagnostics;
using System.Collections;
internal class Function : AstNode {
public enum FunctionType {
FuncLast,
FuncPosition,
FuncCount,
FuncID,
FuncLocalName,
FuncNameSpaceUri,
FuncName,
FuncString,
FuncBoolean,
FuncNumber,
FuncTrue,
FuncFalse,
FuncNot,
FuncConcat,
FuncStartsWith,
FuncContains,
FuncSubstringBefore,
FuncSubstringAfter,
FuncSubstring,
FuncStringLength,
FuncNormalize,
FuncTranslate,
FuncLang,
FuncSum,
FuncFloor,
FuncCeiling,
FuncRound,
FuncUserDefined,
};
private FunctionType functionType;
private ArrayList argumentList;
private string name = null;
private string prefix = null;
public Function(FunctionType ftype, ArrayList argumentList) {
this.functionType = ftype;
this.argumentList = new ArrayList(argumentList);
}
public Function(string prefix, string name, ArrayList argumentList) {
this.functionType = FunctionType.FuncUserDefined;
this.prefix = prefix;
this.name = name;
this.argumentList = new ArrayList(argumentList);
}
public Function(FunctionType ftype) {
this.functionType = ftype;
}
public Function(FunctionType ftype, AstNode arg) {
functionType = ftype;
argumentList = new ArrayList();
argumentList.Add(arg);
}
public override AstType Type { get {return AstType.Function;} }
public override XPathResultType ReturnType {
get {
return ReturnTypes[(int) functionType];
}
}
public FunctionType TypeOfFunction { get { return functionType; } }
public ArrayList ArgumentList { get { return argumentList; } }
public string Prefix { get { return prefix; } }
public string Name { get { return name; } }
internal static XPathResultType[] ReturnTypes = {
/* FunctionType.FuncLast */ XPathResultType.Number ,
/* FunctionType.FuncPosition */ XPathResultType.Number ,
/* FunctionType.FuncCount */ XPathResultType.Number ,
/* FunctionType.FuncID */ XPathResultType.NodeSet,
/* FunctionType.FuncLocalName */ XPathResultType.String ,
/* FunctionType.FuncNameSpaceUri */ XPathResultType.String ,
/* FunctionType.FuncName */ XPathResultType.String ,
/* FunctionType.FuncString */ XPathResultType.String ,
/* FunctionType.FuncBoolean */ XPathResultType.Boolean,
/* FunctionType.FuncNumber */ XPathResultType.Number ,
/* FunctionType.FuncTrue */ XPathResultType.Boolean,
/* FunctionType.FuncFalse */ XPathResultType.Boolean,
/* FunctionType.FuncNot */ XPathResultType.Boolean,
/* FunctionType.FuncConcat */ XPathResultType.String ,
/* FunctionType.FuncStartsWith */ XPathResultType.Boolean,
/* FunctionType.FuncContains */ XPathResultType.Boolean,
/* FunctionType.FuncSubstringBefore */ XPathResultType.String ,
/* FunctionType.FuncSubstringAfter */ XPathResultType.String ,
/* FunctionType.FuncSubstring */ XPathResultType.String ,
/* FunctionType.FuncStringLength */ XPathResultType.Number ,
/* FunctionType.FuncNormalize */ XPathResultType.String ,
/* FunctionType.FuncTranslate */ XPathResultType.String ,
/* FunctionType.FuncLang */ XPathResultType.Boolean,
/* FunctionType.FuncSum */ XPathResultType.Number ,
/* FunctionType.FuncFloor */ XPathResultType.Number ,
/* FunctionType.FuncCeiling */ XPathResultType.Number ,
/* FunctionType.FuncRound */ XPathResultType.Number ,
/* FunctionType.FuncUserDefined */ XPathResultType.Any
};
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListViewItem.cs
- Baml2006ReaderContext.cs
- DataGridColumnReorderingEventArgs.cs
- GenerateTemporaryAssemblyTask.cs
- DesignerSerializationVisibilityAttribute.cs
- DayRenderEvent.cs
- CriticalHandle.cs
- WebServiceParameterData.cs
- RightsManagementEncryptionTransform.cs
- PolicyManager.cs
- XmlSchemaRedefine.cs
- DatePickerTextBox.cs
- EditorPart.cs
- BulletedListEventArgs.cs
- OdbcConnectionOpen.cs
- InsufficientMemoryException.cs
- XhtmlStyleClass.cs
- SizeLimitedCache.cs
- ActivityCodeGenerator.cs
- SortedSet.cs
- Rect3D.cs
- ClientScriptManager.cs
- DelayLoadType.cs
- PerformanceCounterPermissionAttribute.cs
- RenderData.cs
- MediaSystem.cs
- CodeCatchClauseCollection.cs
- SqlMethods.cs
- QuaternionKeyFrameCollection.cs
- ManipulationLogic.cs
- LineVisual.cs
- InkCollectionBehavior.cs
- ScriptIgnoreAttribute.cs
- PageOrientation.cs
- XmlHierarchicalDataSourceView.cs
- WinInetCache.cs
- HttpModuleCollection.cs
- Renderer.cs
- SqlParameterCollection.cs
- IisTraceListener.cs
- HttpCacheVaryByContentEncodings.cs
- DataTemplateSelector.cs
- AspNetHostingPermission.cs
- SharedConnectionListener.cs
- Stylus.cs
- SQLBinaryStorage.cs
- JsonStringDataContract.cs
- IPHostEntry.cs
- LicFileLicenseProvider.cs
- Task.cs
- SizeAnimationClockResource.cs
- ConfigXmlCDataSection.cs
- SettingsPropertyWrongTypeException.cs
- XmlSchemaCompilationSettings.cs
- WebPartCloseVerb.cs
- EntityWithChangeTrackerStrategy.cs
- ActivityCodeDomReferenceService.cs
- EmptyStringExpandableObjectConverter.cs
- ReaderContextStackData.cs
- _CookieModule.cs
- ParallelRangeManager.cs
- PersonalizationEntry.cs
- SqlWorkflowPersistenceService.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- UTF7Encoding.cs
- MetaColumn.cs
- ToolStripRenderEventArgs.cs
- ImageSourceConverter.cs
- DiagnosticTrace.cs
- PerformanceCounterPermissionAttribute.cs
- CodeCatchClause.cs
- JumpTask.cs
- StateRuntime.cs
- UserControlFileEditor.cs
- autovalidator.cs
- DataBoundControlHelper.cs
- WindowsTab.cs
- TrustManagerPromptUI.cs
- BrowserTree.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- XmlSerializationReader.cs
- DataServiceEntityAttribute.cs
- AccessViolationException.cs
- processwaithandle.cs
- CharacterHit.cs
- _NativeSSPI.cs
- DocumentAutomationPeer.cs
- PropertyRef.cs
- WebPartAuthorizationEventArgs.cs
- ScrollViewerAutomationPeer.cs
- ComEventsSink.cs
- OptionalColumn.cs
- Brush.cs
- TabItemWrapperAutomationPeer.cs
- StrongNameMembershipCondition.cs
- CDSsyncETWBCLProvider.cs
- AppDomainAttributes.cs
- _TransmitFileOverlappedAsyncResult.cs
- PackagePartCollection.cs
- RequestQueue.cs