|
//------------------------------------------------------------------------------
// <copyright file="XslFlags.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
// <owner current="true" primary="true">sdub</owner>
//------------------------------------------------------------------------------
namespace System.Xml.Xsl {
[Flags]
internal enum XslFlags {
None = 0x0000,
// XPath types flags. These flags indicate what type the result of the expression may have.
String = 0x0001,
Number = 0x0002,
Boolean = 0x0004,
Node = 0x0008,
Nodeset = 0x0010,
Rtf = 0x0020,
TypeFilter = AnyType,
AnyType = XslFlags.String | XslFlags.Number | XslFlags.Boolean | XslFlags.Node | XslFlags.Nodeset | XslFlags.Rtf,
// Focus flags. These flags indicate which of the three focus values (context item, context position,
// context size) are required for calculation of the expression.
Current = 0x0100,
Position = 0x0200,
Last = 0x0400,
FocusFilter = FullFocus,
FullFocus = XslFlags.Current | XslFlags.Position | XslFlags.Last,
// Indicates that the expression contains at least one of xsl:call-template, xsl:apply-templates,
// xsl:apply-imports, [xsl:]use-attribute-sets. Needed for default values of xsl:param's.
HasCalls = 0x1000,
// Used for xsl:param's only. Indicates that at least one caller does not pass value for this param,
// so its default value will be used.
MayBeDefault = 0x2000,
// Indicates that expression may produce side effects
// This flag is on for xsl:message and for calls to extension functions.
SideEffects = 0x4000,
// Indicates that the corresponding graph vertex has been already visited in flag propagation process.
Stop = 0x8000,
}
}
|