/* */ package org.jaxen.dom;
/* */
/* */ import java.io.
IOException;
/* */ import java.util.
HashMap;
/* */ import java.util.
Iterator;
/* */ import java.util.
NoSuchElementException;
/* */ import javax.xml.parsers.
DocumentBuilder;
/* */ import javax.xml.parsers.
DocumentBuilderFactory;
/* */ import javax.xml.parsers.
ParserConfigurationException;
/* */ import org.jaxen.
DefaultNavigator;
/* */ import org.jaxen.
FunctionCallException;
/* */ import org.jaxen.
JaxenConstants;
/* */ import org.jaxen.
Navigator;
/* */ import org.jaxen.
XPath;
/* */ import org.jaxen.saxpath.
SAXPathException;
/* */ import org.w3c.dom.
Attr;
/* */ import org.w3c.dom.
Document;
/* */ import org.w3c.dom.
NamedNodeMap;
/* */ import org.w3c.dom.
Node;
/* */ import org.w3c.dom.
NodeList;
/* */ import org.w3c.dom.
ProcessingInstruction;
/* */ import org.xml.sax.
SAXException;
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public class
DocumentNavigator
/* */ extends
DefaultNavigator
/* */ {
/* */ private static final long
serialVersionUID = 8460943068889528115L;
/* 110 */ private static final
DocumentNavigator SINGLETON = new
DocumentNavigator();
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public static
Navigator getInstance() {
/* 134 */ return (
Navigator)
SINGLETON;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Iterator getChildAxisIterator(
Object contextNode) {
/* 152 */ return new
NodeIterator(this, (
Node)
contextNode)
/* */ {
/* */ protected
Node getFirstNode(
Node node) {
/* 155 */ return
node.
getFirstChild();
/* */ }
/* */ private final
DocumentNavigator this$0;
/* */ protected
Node getNextNode(
Node node) {
/* 159 */ return
node.
getNextSibling();
/* */ }
/* */ };
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Iterator getParentAxisIterator(
Object contextNode) {
/* 173 */
Node node = (
Node)
contextNode;
/* */
/* 175 */ if (
node.
getNodeType() == 2) {
/* 176 */ return new
NodeIterator(this,
node)
/* */ {
/* */ private final
DocumentNavigator this$0;
/* */
/* */ protected
Node getFirstNode(
Node n) {
/* 181 */ return ((
Attr)
n).
getOwnerElement();
/* */ }
/* */ protected
Node getNextNode(
Node n) {
/* 184 */ return null;
/* */ }
/* */ };
/* */ }
/* 188 */ return new
NodeIterator(this,
node) { private final
DocumentNavigator this$0;
/* */
/* */ protected
Node getFirstNode(
Node n) {
/* 191 */ return
n.
getParentNode();
/* */ }
/* */ protected
Node getNextNode(
Node n) {
/* 194 */ return null;
/* */ } }
/* */ ;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Object getParentNode(
Object child) {
/* 212 */
Node node = (
Node)
child;
/* 213 */ if (
node.
getNodeType() == 2) {
/* 214 */ return ((
Attr)
node).
getOwnerElement();
/* */ }
/* 216 */ return
node.
getParentNode();
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Iterator getFollowingSiblingAxisIterator(
Object contextNode) {
/* 228 */ return new
NodeIterator(this, (
Node)
contextNode) { private final
DocumentNavigator this$0;
/* */
/* */ protected
Node getFirstNode(
Node node) {
/* 231 */ return
getNextNode(
node);
/* */ }
/* */ protected
Node getNextNode(
Node node) {
/* 234 */ return
node.
getNextSibling();
/* */ } }
/* */ ;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Iterator getPrecedingSiblingAxisIterator(
Object contextNode) {
/* 248 */ return new
NodeIterator(this, (
Node)
contextNode) { private final
DocumentNavigator this$0;
/* */
/* */ protected
Node getFirstNode(
Node node) {
/* 251 */ return
getNextNode(
node);
/* */ }
/* */ protected
Node getNextNode(
Node node) {
/* 254 */ return
node.
getPreviousSibling();
/* */ } }
/* */ ;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Iterator getFollowingAxisIterator(
Object contextNode) {
/* 268 */ return new
NodeIterator(this, (
Node)
contextNode) { private final
DocumentNavigator this$0;
/* */
/* */ protected
Node getFirstNode(
Node node) {
/* 271 */ if (
node == null) {
/* 272 */ return null;
/* */ }
/* */
/* 275 */
Node sibling =
node.
getNextSibling();
/* 276 */ if (
sibling == null) {
/* 277 */ return
getFirstNode(
node.
getParentNode());
/* */ }
/* */
/* 280 */ return
sibling;
/* */ }
/* */
/* */
/* */ protected
Node getNextNode(
Node node) {
/* 285 */ if (
node == null) {
/* 286 */ return null;
/* */ }
/* */
/* 289 */
Node n =
node.
getFirstChild();
/* 290 */ if (
n == null)
n =
node.
getNextSibling();
/* 291 */ if (
n == null) return
getFirstNode(
node.
getParentNode());
/* 292 */ return
n;
/* */ } }
/* */ ;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Iterator getAttributeAxisIterator(
Object contextNode) {
/* 307 */ if (
isElement(
contextNode)) {
/* 308 */ return new
AttributeIterator((
Node)
contextNode);
/* */ }
/* */
/* 311 */ return
JaxenConstants.
EMPTY_ITERATOR;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Iterator getNamespaceAxisIterator(
Object contextNode) {
/* 345 */ if (
isElement(
contextNode)) {
/* */
/* 347 */
HashMap nsMap = new
HashMap();
/* */
/* */
/* */
/* */
/* 352 */
Node n = (
Node)
contextNode;
/* 353 */ for (;
n != null;
/* 354 */
n =
n.
getParentNode()) {
/* */
/* */
/* 357 */
String myNamespace =
n.
getNamespaceURI();
/* 358 */ if (
myNamespace != null && !"".
equals(
myNamespace)) {
/* 359 */
String myPrefix =
n.
getPrefix();
/* 360 */ if (!
nsMap.
containsKey(
myPrefix)) {
/* 361 */
NamespaceNode ns = new
NamespaceNode((
Node)
contextNode,
myPrefix,
myNamespace);
/* 362 */
nsMap.
put(
myPrefix,
ns);
/* */ }
/* */ }
/* */
/* 366 */ if (
n.
hasAttributes()) {
/* 367 */
NamedNodeMap atts =
n.
getAttributes();
/* 368 */ int
length =
atts.
getLength();
/* */ int
i;
/* 370 */ for (
i = 0;
i <
length;
i++) {
/* 371 */
Attr att = (
Attr)
atts.
item(
i);
/* */
/* 373 */
String attributeNamespace =
att.
getNamespaceURI();
/* 374 */ if (!"http://www.w3.org/2000/xmlns/".
equals(
attributeNamespace))
/* */ {
/* 376 */ if (
attributeNamespace != null) {
/* 377 */
String prefix =
att.
getPrefix();
/* 378 */
NamespaceNode ns = new
NamespaceNode((
Node)
contextNode,
prefix,
attributeNamespace);
/* */
/* */
/* 381 */ if (!
nsMap.
containsKey(
prefix))
nsMap.
put(
prefix,
ns);
/* */
/* */ }
/* */ }
/* */ }
/* */
/* 387 */ for (
i = 0;
i <
length;
i++) {
/* 388 */
Attr att = (
Attr)
atts.
item(
i);
/* */
/* 390 */
String attributeNamespace =
att.
getNamespaceURI();
/* 391 */ if ("http://www.w3.org/2000/xmlns/".
equals(
attributeNamespace)) {
/* 392 */
NamespaceNode ns = new
NamespaceNode((
Node)
contextNode,
att);
/* */
/* */
/* 395 */
String name =
ns.
getNodeName();
/* 396 */ if (!
nsMap.
containsKey(
name))
nsMap.
put(
name,
ns);
/* */
/* */ }
/* */ }
/* */ }
/* */ }
/* */
/* */
/* */
/* 405 */
nsMap.
put("xml", new
NamespaceNode((
Node)
contextNode, "xml", "http://www.w3.org/XML/1998/namespace"));
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* 413 */
NamespaceNode defaultNS = (
NamespaceNode)
nsMap.
get("");
/* 414 */ if (
defaultNS != null &&
defaultNS.
getNodeValue().
length() == 0) {
/* 415 */
nsMap.
remove("");
/* */ }
/* 417 */ return
nsMap.
values().
iterator();
/* */ }
/* */
/* 420 */ return
JaxenConstants.
EMPTY_ITERATOR;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
XPath parseXPath(
String xpath) throws
SAXPathException {
/* 433 */ return (
XPath)new
DOMXPath(
xpath);
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Object getDocumentNode(
Object contextNode) {
/* 444 */ if (
isDocument(
contextNode)) return
contextNode;
/* 445 */ return ((
Node)
contextNode).
getOwnerDocument();
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getElementNamespaceUri(
Object element) {
/* */ try {
/* 461 */
Node node = (
Node)
element;
/* 462 */ if (
node.
getNodeType() == 1) {
/* 463 */ return
node.
getNamespaceURI();
/* */ }
/* */ }
/* 466 */ catch (
ClassCastException ex) {}
/* */
/* 468 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getElementName(
Object element) {
/* 481 */ if (
isElement(
element)) {
/* 482 */
String name = ((
Node)
element).
getLocalName();
/* 483 */ if (
name == null)
name = ((
Node)
element).
getNodeName();
/* 484 */ return
name;
/* */ }
/* 486 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getElementQName(
Object element) {
/* */ try {
/* 500 */
Node node = (
Node)
element;
/* 501 */ if (
node.
getNodeType() == 1) {
/* 502 */ return
node.
getNodeName();
/* */ }
/* */ }
/* 505 */ catch (
ClassCastException ex) {}
/* */
/* 507 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getAttributeNamespaceUri(
Object attribute) {
/* */ try {
/* 522 */
Node node = (
Node)
attribute;
/* 523 */ if (
node.
getNodeType() == 2) {
/* 524 */ return
node.
getNamespaceURI();
/* */ }
/* */ }
/* 527 */ catch (
ClassCastException ex) {}
/* */
/* 529 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getAttributeName(
Object attribute) {
/* 542 */ if (
isAttribute(
attribute)) {
/* 543 */
String name = ((
Node)
attribute).
getLocalName();
/* 544 */ if (
name == null)
name = ((
Node)
attribute).
getNodeName();
/* 545 */ return
name;
/* */ }
/* 547 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getAttributeQName(
Object attribute) {
/* */ try {
/* 562 */
Node node = (
Node)
attribute;
/* 563 */ if (
node.
getNodeType() == 2) {
/* 564 */ return
node.
getNodeName();
/* */ }
/* */ }
/* 567 */ catch (
ClassCastException ex) {}
/* */
/* 569 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public boolean
isDocument(
Object object) {
/* 581 */ return (
object instanceof
Node && ((
Node)
object).
getNodeType() == 9);
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public boolean
isNamespace(
Object object) {
/* 594 */ return
object instanceof
NamespaceNode;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public boolean
isElement(
Object object) {
/* 606 */ return (
object instanceof
Node && ((
Node)
object).
getNodeType() == 1);
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public boolean
isAttribute(
Object object) {
/* 621 */ return (
object instanceof
Node && ((
Node)
object).
getNodeType() == 2 && !"http://www.w3.org/2000/xmlns/".
equals(((
Node)
object).
getNamespaceURI()));
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public boolean
isComment(
Object object) {
/* 635 */ return (
object instanceof
Node && ((
Node)
object).
getNodeType() == 8);
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public boolean
isText(
Object object) {
/* 648 */ if (
object instanceof
Node) {
/* 649 */ switch (((
Node)
object).
getNodeType()) {
/* */ case 3:
/* */ case 4:
/* 652 */ return true;
/* */ }
/* 654 */ return false;
/* */ }
/* */
/* 657 */ return false;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public boolean
isProcessingInstruction(
Object object) {
/* 670 */ return (
object instanceof
Node && ((
Node)
object).
getNodeType() == 7);
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getElementStringValue(
Object object) {
/* 684 */ if (
isElement(
object)) {
/* 685 */ return
getStringValue((
Node)
object, new
StringBuffer()).
toString();
/* */ }
/* */
/* 688 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ private
StringBuffer getStringValue(
Node node,
StringBuffer buffer) {
/* 702 */ if (
isText(
node)) {
/* 703 */
buffer.
append(
node.
getNodeValue());
/* */ } else {
/* 705 */
NodeList children =
node.
getChildNodes();
/* 706 */ int
length =
children.
getLength();
/* 707 */ for (int
i = 0;
i <
length;
i++) {
/* 708 */
getStringValue(
children.
item(
i),
buffer);
/* */ }
/* */ }
/* 711 */ return
buffer;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getAttributeStringValue(
Object object) {
/* 724 */ if (
isAttribute(
object)) return ((
Node)
object).
getNodeValue();
/* 725 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getTextStringValue(
Object object) {
/* 737 */ if (
isText(
object)) return ((
Node)
object).
getNodeValue();
/* 738 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getCommentStringValue(
Object object) {
/* 750 */ if (
isComment(
object)) return ((
Node)
object).
getNodeValue();
/* 751 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getNamespaceStringValue(
Object object) {
/* 764 */ if (
isNamespace(
object)) return ((
NamespaceNode)
object).
getNodeValue();
/* 765 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getNamespacePrefix(
Object object) {
/* 777 */ if (
isNamespace(
object)) return ((
NamespaceNode)
object).
getLocalName();
/* 778 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String translateNamespacePrefixToUri(
String prefix,
Object element) {
/* 791 */
Iterator it =
getNamespaceAxisIterator(
element);
/* 792 */ while (
it.
hasNext()) {
/* 793 */
NamespaceNode ns =
it.
next();
/* 794 */ if (
prefix.
equals(
ns.
getNodeName())) return
ns.
getNodeValue();
/* */ }
/* 796 */ return null;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Object getDocument(
String uri) throws
FunctionCallException {
/* */ try {
/* 815 */
DocumentBuilderFactory factory =
DocumentBuilderFactory.
newInstance();
/* 816 */
factory.
setNamespaceAware(true);
/* 817 */
DocumentBuilder builder =
factory.
newDocumentBuilder();
/* 818 */ return
builder.
parse(
uri);
/* */ }
/* 820 */ catch (
ParserConfigurationException e) {
/* 821 */ throw new
FunctionCallException("JAXP setup error in document() function: " +
e.
getMessage(),
e);
/* */ }
/* 823 */ catch (
SAXException e) {
/* 824 */ throw new
FunctionCallException("XML error in document() function: " +
e.
getMessage(),
e);
/* */ }
/* 826 */ catch (
IOException e) {
/* 827 */ throw new
FunctionCallException("I/O error in document() function: " +
e.
getMessage(),
e);
/* */ }
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getProcessingInstructionTarget(
Object obj) {
/* 842 */ if (
isProcessingInstruction(
obj)) {
/* 843 */
ProcessingInstruction pi = (
ProcessingInstruction)
obj;
/* 844 */ return
pi.
getTarget();
/* */ }
/* 846 */ throw new
ClassCastException(
obj + " is not a processing instruction");
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
String getProcessingInstructionData(
Object obj) {
/* 859 */ if (
isProcessingInstruction(
obj)) {
/* 860 */
ProcessingInstruction pi = (
ProcessingInstruction)
obj;
/* 861 */ return
pi.
getData();
/* */ }
/* 863 */ throw new
ClassCastException(
obj + " is not a processing instruction");
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ abstract class
NodeIterator
/* */ implements
Iterator
/* */ {
/* */ private
Node node;
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ private final
DocumentNavigator this$0;
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
NodeIterator(
DocumentNavigator this$0,
Node contextNode) {
/* 894 */ this.
this$0 =
this$0;
/* 895 */ this.
node =
getFirstNode(
contextNode);
/* 896 */ while (!
isXPathNode(this.
node)) {
/* 897 */ this.
node =
getNextNode(this.
node);
/* */ }
/* */ }
/* */
/* */
/* */ public boolean
hasNext() {
/* 903 */ return (this.
node != null);
/* */ }
/* */
/* */
/* */ public
Object next() {
/* 908 */ if (this.
node == null) throw new
NoSuchElementException();
/* 909 */
Node ret = this.
node;
/* 910 */ this.
node =
getNextNode(this.
node);
/* 911 */ while (!
isXPathNode(this.
node)) {
/* 912 */ this.
node =
getNextNode(this.
node);
/* */ }
/* 914 */ return
ret;
/* */ }
/* */
/* */
/* */ public void
remove() {
/* 919 */ throw new
UnsupportedOperationException();
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ protected abstract
Node getFirstNode(
Node param1Node);
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ protected abstract
Node getNextNode(
Node param1Node);
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ private boolean
isXPathNode(
Node node) {
/* 959 */ if (
node == null) return true;
/* */
/* 961 */ switch (
node.
getNodeType()) {
/* */ case 5:
/* */ case 6:
/* */ case 10:
/* */ case 11:
/* */ case 12:
/* 967 */ return false;
/* */ }
/* 969 */ return true;
/* */ }
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ private static class
AttributeIterator
/* */ implements
Iterator
/* */ {
/* */ private
NamedNodeMap map;
/* */
/* */
/* */
/* */
/* */
/* */
/* */ private int
pos;
/* */
/* */
/* */
/* */
/* */
/* */
/* */ private int
lastAttribute;
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public boolean
hasNext() {
/* */ return (this.
pos <= this.
lastAttribute);
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public
Object next() {
/* */
Node attr = this.
map.
item(this.
pos++);
/* */ if (
attr == null) {
/* */ throw new
NoSuchElementException();
/* */ }
/* */ if ("http://www.w3.org/2000/xmlns/".
equals(
attr.
getNamespaceURI())) {
/* */ return
next();
/* */ }
/* */ return
attr;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
AttributeIterator(
Node parent) {
/* 1032 */ this.
lastAttribute = -1;
/* */ this.
map =
parent.
getAttributes();
/* */ this.
pos = 0;
/* */ for (int
i = this.
map.
getLength() - 1;
i >= 0;
i--) {
/* */
Node node = this.
map.
item(
i);
/* */ if (!"http://www.w3.org/2000/xmlns/".
equals(
node.
getNamespaceURI())) {
/* */ this.
lastAttribute =
i;
/* */ break;
/* */ }
/* */ }
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */ public void
remove() {
/* */ throw new
UnsupportedOperationException();
/* */ }
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */ public
Object getElementById(
Object object,
String elementId) {
/* 1058 */
Document doc = (
Document)
getDocumentNode(
object);
/* 1059 */ if (
doc != null) return
doc.
getElementById(
elementId);
/* 1060 */ return null;
/* */ }
/* */ }
/* Location: /Users/tommy/.m2/repository/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar!/org/jaxen/dom/DocumentNavigator.class
* Java compiler version: 2 (46.0)
* JD-Core Version: 1.1.3
*/