KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gnu > kawa > xml > NodeName


1 // Copyright (c) 2003 Per M.A. Bothner.
2
// This is free software; for terms and warranty disclaimer see ./COPYING.
3

4 package gnu.kawa.xml;
5 import gnu.mapping.*;
6 import gnu.lists.*;
7
8 public class NodeName extends Procedure1
9 {
10   public static NodeName nodeName = new NodeName();
11
12   public static Object JavaDoc nodeName (Object JavaDoc node)
13   {
14     Object JavaDoc nodeName = null;
15     if (node instanceof AbstractSequence)
16       {
17     AbstractSequence seq = (AbstractSequence) node;
18     nodeName = seq.getNextTypeObject(seq.startPos());
19       }
20     else if (node instanceof SeqPosition && ! (node instanceof TreePosition))
21       {
22     SeqPosition pos = (SeqPosition) node;
23     nodeName = pos.sequence.getNextTypeObject(pos.ipos);
24       }
25     if (nodeName == null)
26       return Values.empty;
27     if (nodeName instanceof String JavaDoc)
28       return Symbol.make("", nodeName.toString(), "");
29     return nodeName;
30   }
31
32   public Object JavaDoc apply1 (Object JavaDoc node)
33   {
34     return nodeName(node);
35   }
36 }
37
38
Popular Tags