1 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 nodeName (Object node) 13 { 14 Object 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 ) 28 return Symbol.make("", nodeName.toString(), ""); 29 return nodeName; 30 } 31 32 public Object apply1 (Object node) 33 { 34 return nodeName(node); 35 } 36 } 37 38 | Popular Tags |