Package org.exoplatform.services.html

Examples of org.exoplatform.services.html.HTMLNode


      if (config.children().length > 0 || config.children_types().length > 0)
      {
         Iterator<HTMLNode> iter = node.getChildren().iterator();
         while (iter.hasNext())
         {
            HTMLNode child = iter.next();
            if (HTML.isChild(node, child.getConfig()))
               continue;
            iter.remove();
            if (config.move() == MoveType.INSERT)
               insert(node, child);
            //        if(config.move() == MoveType.ADD) node.getParent().addChild(child);
         }
      }

      if (config.move() != MoveType.HEADER)
         return;

      HTMLNode header = null;
      if (ParserService.getRootNode().getChildren().size() > 0)
      {
         header = ParserService.getRootNode().getChildren().get(0);
      }
      if (header == null || !header.isNode(Name.HEAD))
      {
         header = ParserService.createHeader();
      }
      node.getParent().getChildren().remove(node);
      header.addChild(node);
      node.setParent(header);
   }
View Full Code Here


      node.setParent(header);
   }

   private void insert(HTMLNode node, HTMLNode element)
   {
      HTMLNode parent = node.getParent();
      List<HTMLNode> children = parent.getChildren();
      int i = children.indexOf(node);
      if (i < 0)
         return;
      children.add(i, element);
      element.setParent(parent);
View Full Code Here

      {
         set(node);
         return;
      }

      HTMLNode parent = ParserService.getNodeCreator().getOpenParent(node.getConfig(), true);
      if (parent != null && parent.getConfig().end() == Tag.OPTIONAL && HTML.isEndType(node, parent.getConfig()))
      {
         ParserService.getNodeCloser().close((NodeImpl)parent);
         parent = ParserService.getNodeCreator().getOpenParent(node.getConfig(), true);
      }

      //close all older children in parent #Bug 28/11
      List<HTMLNode> children = parent.getChildren();
      if (children.size() > 0)
      {
         ParserService.getNodeCloser().close((NodeImpl)children.get(children.size() - 1));
      }
View Full Code Here

      if (paths == null)
         return;
      List<HTMLNode> list = new ArrayList<HTMLNode>();
      for (NodePath path : paths)
      {
         HTMLNode element = lookFor(root, path);
         if (element != null)
            list.add(element);
      }
      for (HTMLNode element : list)
      {
         HTMLNode parent = element.getParent();
         parent.getChildren().remove(element);
      }
   }
View Full Code Here

      }
   }

   public synchronized static HTMLDocument create(HTMLNode root, NodePath[] paths)
   {
      HTMLNode html = HTMLParser.clone(root);
      for (NodePath path : paths)
      {
         HTMLNode element = lookFor(root, path);
         if (element != null)
            html.addChild(element);
      }
      HTMLDocument document = new HTMLDocument();
      document.setRoot(html);
View Full Code Here

      return new NodePath(toIndexs(element));
   }

   public synchronized static Index[] toIndexs(HTMLNode element)
   {
      HTMLNode parent = element.getParent();
      List<Index> list = new ArrayList<Index>();
      while (parent != null)
      {
         list.add(toIndex(parent, element));
         element = parent;
View Full Code Here

   private void move(HTMLNode root)
   {
      List<HTMLNode> children = root.getChildren();
      if (children == null || children.size() < 1)
         return;
      HTMLNode head = null;
      HTMLNode body = null;
      for (HTMLNode child : children)
      {
         if (child.isNode(Name.HEAD))
            head = child;
         if (child.isNode(Name.BODY))
            body = child;
      }
      if (head == null)
         head = ParserService.createHeader();
      if (body == null)
         body = ParserService.createBody();

      Iterator<HTMLNode> iter = children.iterator();
      while (iter.hasNext())
      {
         HTMLNode ele = iter.next();
         if (ele.isNode(Name.HEAD) || ele.isNode(Name.BODY))
            continue;
         if (ele.isNode(Name.SCRIPT))
         {
            head.addChild(ele);
            ele.setParent(head);
         }
         else
         {
            body.addChild(ele);
            ele.setParent(body);
         }
         iter.remove();
      }
   }
View Full Code Here

   private final static String READER_ID = "HTMLParserReader";

   public static synchronized HTMLNode clone(HTMLNode node)
   {
      NodeImpl nodeImpl = (NodeImpl)node;
      HTMLNode newNode = null;
      if (nodeImpl.getType() == TypeToken.CONTENT || nodeImpl.getType() == TypeToken.COMMENT)
      {
         newNode = new NodeImpl(nodeImpl.getValue(), nodeImpl.getName());
      }
      else
View Full Code Here

               chars = CharsUtil.cutAndTrim(chars, 0, chars.length);
               if (chars.length < 1)
                  continue;
               child.setValue(chars);
            }
            HTMLNode parent = getAncestor(child, Name.A);
            if (parent != null)
            {
               if (values.size() < 1)
                  return false;
               continue;
View Full Code Here

      return true;
   }

   private HTMLNode getAncestor(HTMLNode node, Name name)
   {
      HTMLNode current = node.getParent();
      while (current != null)
      {
         if (current.isNode(name))
            return current;
         current = current.getParent();
      }
      return null;
   }
View Full Code Here

TOP

Related Classes of org.exoplatform.services.html.HTMLNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.