2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / Mono.Xml.Xsl.Operations / XslFallback.cs
1 //
2 // XslFallback.cs
3 //
4 // Authors:
5 //      Ben Maurer (bmaurer@users.sourceforge.net)
6 //      Atsushi Enomoto (ginga@kit.hi-ho.ne.jp)
7 //      
8 // (C) 2003 Ben Maurer
9 // (C) 2003 Atsushi Enomoto
10 //
11
12 using System;
13 using System.Collections;
14 using System.Xml;
15 using System.Xml.XPath;
16 using System.Xml.Xsl;
17
18 namespace Mono.Xml.Xsl.Operations {
19         public class XslFallback : XslCompiledElement
20         {
21                 XslOperation children;
22                 
23                 public XslFallback (Compiler c) : base (c) {}
24                 
25                 protected override void Compile (Compiler c)
26                 {
27                         if (!c.Input.MoveToFirstChild ()) return;
28                         children = c.CompileTemplateContent ();
29                         c.Input.MoveToParent ();
30                 }
31                 
32                 public override void Evaluate (XslTransformProcessor p)
33                 {
34                         children.Evaluate (p);
35                 }
36         }
37 }