5 // Ben Maurer (bmaurer@users.sourceforge.net)
6 // Atsushi Enomoto (ginga@kit.hi-ho.ne.jp)
9 // (C) 2003 Atsushi Enomoto
13 using System.Collections;
15 using System.Xml.XPath;
18 namespace Mono.Xml.Xsl.Operations {
19 // also applicable to xsl:when
20 public class XslIf : XslCompiledElement {
22 XslOperation children;
24 public XslIf (Compiler c) : base (c) {}
26 protected override void Compile (Compiler c)
28 c.AssertAttribute ("test");
29 test = c.CompileExpression (c.GetAttribute ("test"));
31 if (!c.Input.MoveToFirstChild ()) return;
32 children = c.CompileTemplateContent ();
33 c.Input.MoveToParent ();
36 public bool EvaluateIfTrue (XslTransformProcessor p)
38 if (p.EvaluateBoolean (test)) {
39 children.Evaluate (p);
45 public override void Evaluate (XslTransformProcessor p)