1 28 29 package com.caucho.xml; 30 31 import org.w3c.dom.EntityReference ; 32 import org.w3c.dom.Node ; 33 34 import java.io.IOException ; 35 36 public class QEntityReference extends QNode implements EntityReference { 37 String _name; 38 39 public QEntityReference(String name) 40 { 41 _name = name; 42 } 43 44 protected QEntityReference(QDocument owner, String name) 45 { 46 super(owner); 47 48 _name = name; 49 } 50 51 public String getNodeName() { return _name; } 52 public String getTagName() { return _name; } 53 public short getNodeType() { return ENTITY_REFERENCE_NODE; } 54 55 private void lazyEvaluateChild() 56 { 57 if (_owner == null || _owner._dtd == null) 58 return; 59 60 QEntity entity = _owner._dtd.getEntity(_name); 61 if (entity == null || entity._firstChild == null) 62 return; 63 64 _firstChild = entity._firstChild; 65 _lastChild = entity._lastChild; 66 } 67 68 public Node getFirstChild() 69 { 70 if (_firstChild != null) 71 return _firstChild; 72 73 lazyEvaluateChild(); 74 75 return _firstChild; 76 } 77 78 public Node getLastChild() 79 { 80 if (_lastChild != null) 81 return _lastChild; 82 83 lazyEvaluateChild(); 84 85 return _lastChild; 86 } 87 88 public void print(XmlPrinter os) throws IOException 89 { 90 if (os.finishAttributes()) 91 os.print(">"); 92 93 os.print("&"); 94 os.print(getNodeName()); 95 os.print(";"); 96 } 97 98 public String toString() 99 { 100 return "EntityRef[" + getNodeName() + "]"; 101 } 102 } 103 | Popular Tags |