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
- FrameDimension.cs
- DataGridAutoFormatDialog.cs
- ReliableReplySessionChannel.cs
- StringValidator.cs
- GenericTypeParameterBuilder.cs
- BooleanAnimationBase.cs
- XmlNotation.cs
- XPathNodeList.cs
- SeverityFilter.cs
- EntityViewGenerator.cs
- BinaryMessageEncoder.cs
- ControlBuilder.cs
- HtmlObjectListAdapter.cs
- InputLanguageProfileNotifySink.cs
- Signature.cs
- ExpandedWrapper.cs
- DbQueryCommandTree.cs
- InkCollectionBehavior.cs
- OleDbPropertySetGuid.cs
- IChannel.cs
- BlurEffect.cs
- PropertyTabChangedEvent.cs
- UshortList2.cs
- SqlBulkCopyColumnMapping.cs
- Util.cs
- CodeIdentifiers.cs
- DisposableCollectionWrapper.cs
- PersistenceTypeAttribute.cs
- FloaterParagraph.cs
- MDIControlStrip.cs
- ValueUtilsSmi.cs
- SeverityFilter.cs
- BitmapEffectGroup.cs
- OutKeywords.cs
- DbProviderConfigurationHandler.cs
- UniformGrid.cs
- ExpanderAutomationPeer.cs
- VideoDrawing.cs
- Hex.cs
- PointCollectionValueSerializer.cs
- Transform3DGroup.cs
- AnnotationMap.cs
- _ScatterGatherBuffers.cs
- SafeNativeMethodsOther.cs
- DescendentsWalker.cs
- TimersDescriptionAttribute.cs
- AccessedThroughPropertyAttribute.cs
- FixedTextContainer.cs
- SspiSecurityTokenParameters.cs
- Parser.cs
- AttachedPropertyInfo.cs
- EnumValidator.cs
- ConfigErrorGlyph.cs
- SqlDependencyUtils.cs
- ExtenderProvidedPropertyAttribute.cs
- Frame.cs
- IPEndPointCollection.cs
- TaiwanCalendar.cs
- DeviceContext2.cs
- AssemblyNameEqualityComparer.cs
- ObjectHandle.cs
- Publisher.cs
- CodeDirectiveCollection.cs
- ArraySubsetEnumerator.cs
- MasterPageCodeDomTreeGenerator.cs
- DynamicILGenerator.cs
- ToolStripItem.cs
- BindToObject.cs
- DeviceContext2.cs
- ConfigDefinitionUpdates.cs
- DataGridViewTopLeftHeaderCell.cs
- Validator.cs
- ConvertEvent.cs
- XmlExpressionDumper.cs
- ItemAutomationPeer.cs
- ThemeableAttribute.cs
- XmlTypeAttribute.cs
- WebServiceClientProxyGenerator.cs
- Constants.cs
- BasicSecurityProfileVersion.cs
- DataServiceQueryException.cs
- TextEncodedRawTextWriter.cs
- DataGridViewHitTestInfo.cs
- GridViewColumnHeaderAutomationPeer.cs
- Vertex.cs
- BrowserTree.cs
- ViewManager.cs
- HMACSHA384.cs
- CultureTableRecord.cs
- RealizationContext.cs
- StatusBarDrawItemEvent.cs
- NotifyIcon.cs
- CodeMethodReturnStatement.cs
- CornerRadiusConverter.cs
- Nullable.cs
- PerformanceCounterManager.cs
- DataReceivedEventArgs.cs
- ReferencedType.cs
- SR.cs
- PrintingPermission.cs