sandygao 2002/12/13 09:31:12
Modified: java/src/org/apache/xerces/util DOMUtil.java
Log:
Now it works with both DTM nodes and Xerces DOM nodes.
This enables the possibility that we support both DTM and DOM as schema
source at the same time.
Revision Changes Path
1.7 +16 -7 xml-xerces/java/src/org/apache/xerces/util/DOMUtil.java
Index: DOMUtil.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/util/DOMUtil.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DOMUtil.java 29 Jan 2002 01:15:18 -0000 1.6
+++ DOMUtil.java 13 Dec 2002 17:31:12 -0000 1.7
@@ -59,7 +59,6 @@
import org.apache.xerces.dom.AttrImpl;
import org.apache.xerces.dom.DocumentImpl;
-import org.apache.xerces.dom.NodeImpl;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
@@ -207,7 +206,7 @@
Node child = parent.getFirstChild();
while (child != null) {
if (child.getNodeType() == Node.ELEMENT_NODE &&
- !((NodeImpl)child).getReadOnly()) {
+ !isHidden(child)) {
return (Element)child;
}
child = child.getNextSibling();
@@ -242,7 +241,7 @@
Node child = parent.getLastChild();
while (child != null) {
if (child.getNodeType() == Node.ELEMENT_NODE &&
- ((NodeImpl)child).getReadOnly()) {
+ !isHidden(child)) {
return (Element)child;
}
child = child.getPreviousSibling();
@@ -277,7 +276,7 @@
Node sibling = node.getNextSibling();
while (sibling != null) {
if (sibling.getNodeType() == Node.ELEMENT_NODE &&
- !((NodeImpl)sibling).getReadOnly()) {
+ !isHidden(sibling)) {
return (Element)sibling;
}
sibling = sibling.getNextSibling();
@@ -290,17 +289,27 @@
// set this Node as being hidden
public static void setHidden(Node node) {
- ((NodeImpl)node).setReadOnly(true, false);
+ if (node instanceof org.apache.xerces.impl.xs.opti.NodeImpl)
+ ((org.apache.xerces.impl.xs.opti.NodeImpl)node).setReadOnly(true,
false);
+ else if (node instanceof org.apache.xerces.dom.NodeImpl)
+ ((org.apache.xerces.dom.NodeImpl)node).setReadOnly(true, false);
} // setHidden(node):void
// set this Node as being visible
public static void setVisible(Node node) {
- ((NodeImpl)node).setReadOnly(false, false);
+ if (node instanceof org.apache.xerces.impl.xs.opti.NodeImpl)
+ ((org.apache.xerces.impl.xs.opti.NodeImpl)node).setReadOnly(false,
false);
+ else if (node instanceof org.apache.xerces.dom.NodeImpl)
+ ((org.apache.xerces.dom.NodeImpl)node).setReadOnly(false, false);
} // setVisible(node):void
// is this node hidden?
public static boolean isHidden(Node node) {
- return ((NodeImpl)node).getReadOnly();
+ if (node instanceof org.apache.xerces.impl.xs.opti.NodeImpl)
+ return ((org.apache.xerces.impl.xs.opti.NodeImpl)node).getReadOnly();
+ else if (node instanceof org.apache.xerces.dom.NodeImpl)
+ return ((org.apache.xerces.dom.NodeImpl)node).getReadOnly();
+ return false;
} // isHidden(Node):boolean
/** Finds and returns the first child node with the given name. */
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]