Esempio n. 1
0
 private void removeNamespceRecursively(ThreadContext context, XmlNode xmlNode) {
   Node node = xmlNode.node;
   if (node.getNodeType() == Node.ELEMENT_NODE) {
     node.setPrefix(null);
     node.getOwnerDocument().renameNode(node, null, node.getLocalName());
   }
   XmlNodeSet nodeSet = (XmlNodeSet) xmlNode.children(context);
   for (long i = 0; i < nodeSet.length(); i++) {
     XmlNode childNode =
         (XmlNode) nodeSet.slice(context, RubyFixnum.newFixnum(context.getRuntime(), i));
     removeNamespceRecursively(context, childNode);
   }
 }
Esempio n. 2
0
 @Override
 public void accept(ThreadContext context, SaveContextVisitor visitor) {
   visitor.enter((Element) node);
   XmlNodeSet xmlNodeSet = (XmlNodeSet) children(context);
   if (xmlNodeSet.length() > 0) {
     RubyArray array = (RubyArray) xmlNodeSet.to_a(context);
     for (int i = 0; i < array.getLength(); i++) {
       Object item = array.get(i);
       if (item instanceof XmlNode) {
         XmlNode cur = (XmlNode) item;
         cur.accept(context, visitor);
       } else if (item instanceof XmlNamespace) {
         XmlNamespace cur = (XmlNamespace) item;
         cur.accept(context, visitor);
       }
     }
   }
   visitor.leave((Element) node);
 }