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
- DataListItemEventArgs.cs
- XPathExpr.cs
- TableDetailsCollection.cs
- XmlTextEncoder.cs
- Int16AnimationUsingKeyFrames.cs
- HostSecurityManager.cs
- TextElementEditingBehaviorAttribute.cs
- GenericUriParser.cs
- HttpFileCollection.cs
- Border.cs
- tooltip.cs
- DataControlFieldHeaderCell.cs
- XmlDataSource.cs
- ErrorFormatterPage.cs
- IndicShape.cs
- FixUp.cs
- TheQuery.cs
- CodeMemberProperty.cs
- SocketInformation.cs
- TraceHandler.cs
- OrElse.cs
- EntityStoreSchemaGenerator.cs
- SqlInfoMessageEvent.cs
- XmlSchemaAny.cs
- SchemaImporter.cs
- XmlAnyElementAttribute.cs
- MultipartContentParser.cs
- ClaimComparer.cs
- Matrix.cs
- ControlAdapter.cs
- CodeEventReferenceExpression.cs
- Set.cs
- CodePageEncoding.cs
- VarRemapper.cs
- FrameworkName.cs
- CompilerError.cs
- EntityDesignerBuildProvider.cs
- DecimalFormatter.cs
- BulletDecorator.cs
- RawMouseInputReport.cs
- EllipseGeometry.cs
- HMACMD5.cs
- LoginView.cs
- BackStopAuthenticationModule.cs
- ClientSession.cs
- XmlNode.cs
- GregorianCalendar.cs
- ServiceDiscoveryElement.cs
- ResumeStoryboard.cs
- CodePageUtils.cs
- FlowDecision.cs
- diagnosticsswitches.cs
- ElementProxy.cs
- returneventsaver.cs
- StringDictionary.cs
- Point3DAnimation.cs
- MethodRental.cs
- SHA512Managed.cs
- DateTimeOffsetStorage.cs
- HopperCache.cs
- DataBindingExpressionBuilder.cs
- ExpressionVisitor.cs
- UserUseLicenseDictionaryLoader.cs
- DbParameterCollection.cs
- WindowsGraphics.cs
- AlternationConverter.cs
- ImageAnimator.cs
- HttpException.cs
- HttpDictionary.cs
- StaticResourceExtension.cs
- SupportsPreviewControlAttribute.cs
- RepeaterItem.cs
- Translator.cs
- LicenseContext.cs
- HttpCacheVaryByContentEncodings.cs
- WebPermission.cs
- EntityDataSourceWrapper.cs
- RuntimeHelpers.cs
- SortExpressionBuilder.cs
- coordinator.cs
- BamlWriter.cs
- ActiveDocumentEvent.cs
- AnnotationDocumentPaginator.cs
- PrintDocument.cs
- Int16KeyFrameCollection.cs
- WebServiceTypeData.cs
- LayoutManager.cs
- FillBehavior.cs
- BuildProviderAppliesToAttribute.cs
- CodeValidator.cs
- SafeSecurityHandles.cs
- dtdvalidator.cs
- Validator.cs
- FileLevelControlBuilderAttribute.cs
- MsmqIntegrationReceiveParameters.cs
- XmlWrappingReader.cs
- InputMethodStateChangeEventArgs.cs
- DataFieldConverter.cs
- XmlBinaryReader.cs
- TreeViewAutomationPeer.cs