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
- ObjectStateEntry.cs
- QilChoice.cs
- BigInt.cs
- EventTask.cs
- Decoder.cs
- LingerOption.cs
- DesignerDataSchemaClass.cs
- GridItemPatternIdentifiers.cs
- bindurihelper.cs
- SmtpNetworkElement.cs
- HtmlInputFile.cs
- WebServiceHandler.cs
- ReadOnlyPermissionSet.cs
- DataGridViewTextBoxCell.cs
- InputProcessorProfilesLoader.cs
- PrivilegeNotHeldException.cs
- HttpStreamXmlDictionaryWriter.cs
- DynamicILGenerator.cs
- DataGridItemEventArgs.cs
- WebPartExportVerb.cs
- MatchingStyle.cs
- SqlAggregateChecker.cs
- SafeLibraryHandle.cs
- ConditionalBranch.cs
- DataFormat.cs
- ADMembershipUser.cs
- CodeConditionStatement.cs
- RegexMatch.cs
- QueryContinueDragEventArgs.cs
- ExpressionBindingsDialog.cs
- PopOutPanel.cs
- IPipelineRuntime.cs
- XPathNodeInfoAtom.cs
- XmlHelper.cs
- RelatedEnd.cs
- UnmanagedBitmapWrapper.cs
- LinqDataSourceSelectEventArgs.cs
- WebControl.cs
- Int16Animation.cs
- TableParagraph.cs
- ApplicationInfo.cs
- MailAddressParser.cs
- StandardCommands.cs
- ContentPlaceHolder.cs
- WeakHashtable.cs
- FileCodeGroup.cs
- XmlWellformedWriter.cs
- ServerIdentity.cs
- SamlAuthenticationStatement.cs
- NamedElement.cs
- ProtectedConfigurationProviderCollection.cs
- BindingGroup.cs
- ContextMenuAutomationPeer.cs
- SQLDoubleStorage.cs
- CollectionViewGroup.cs
- DataGridViewColumn.cs
- LayoutManager.cs
- SizeF.cs
- FilteredXmlReader.cs
- IgnoreSection.cs
- CompositeScriptReference.cs
- typedescriptorpermissionattribute.cs
- APCustomTypeDescriptor.cs
- DockAndAnchorLayout.cs
- FontFamily.cs
- RadioButton.cs
- HttpDebugHandler.cs
- WorkflowOperationAsyncResult.cs
- NegotiateStream.cs
- SystemUnicastIPAddressInformation.cs
- ExpressionBuilder.cs
- HttpProfileBase.cs
- DBCSCodePageEncoding.cs
- LicenseContext.cs
- PeerNameRecord.cs
- PowerEase.cs
- OdbcCommand.cs
- HtmlInputText.cs
- CssStyleCollection.cs
- SqlInternalConnectionSmi.cs
- ParallelQuery.cs
- FileRecordSequence.cs
- SByteConverter.cs
- ResourcePart.cs
- SystemWebCachingSectionGroup.cs
- UpdateTranslator.cs
- InputMethodStateTypeInfo.cs
- PointCollection.cs
- FastEncoderStatics.cs
- ChangeProcessor.cs
- CodeMethodReturnStatement.cs
- NestedContainer.cs
- ActionFrame.cs
- SystemFonts.cs
- DesignerDataRelationship.cs
- WebServiceParameterData.cs
- CurrentChangedEventManager.cs
- SqlAliasesReferenced.cs
- XmlRootAttribute.cs
- RightsManagementEncryptionTransform.cs