@@ -0,0 +1,2319 @@
+/*%0A * See the NOTICE file distributed with this work for additional%0A * information regarding copyright ownership.%0A *%0A * This is free software; you can redistribute it and/or modify it%0A * under the terms of the GNU Lesser General Public License as%0A * published by the Free Software Foundation; either version 2.1 of%0A * the License, or (at your option) any later version.%0A *%0A * This software is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU%0A * Lesser General Public License for more details.%0A *%0A * You should have received a copy of the GNU Lesser General Public%0A * License along with this software; if not, write to the Free%0A * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA%0A * 02110-1301 USA, or see the FSF site: http://www.fsf.org.%0A */%0Apackage org.xwiki.officeimporter.filter;%0A%0Aimport org.w3c.dom.Comment;%0Aimport org.w3c.dom.Document;%0Aimport org.w3c.dom.Element;%0Aimport org.w3c.dom.Node;%0Aimport org.w3c.dom.NodeList;%0A%0A/**%0A * The purpose of this filter is to replace xhtml anchors like %7B@code%3Ca name=%22name%22%3E%3C/a%3E%7D with xwiki compatible links%0A * like %7B@code%3C!--startmacro:id%7C-%7Cname=%22name%22%7C-%7C--%3E%3Ca name=%22name%22%3E%3C/a%3E%3C!--stopmacro--%3E%7D.%0A * %0A * @version $Id$%0A * @since 1.8M1%0A */%0Apublic class AnchorFilter implements HTMLFilter%0A%7B%0A    /**%0A     * %7B@inheritDoc%7D%0A     */%0A    public void filter(Document document)%0A    %7B%0A        NodeList links = document.getElementsByTagName(%22a%22);%0A        for (int i = 0; i %3C links.getLength(); i++) %7B%0A            if (links.item(i) instanceof Element) %7B%0A                Element link = (Element) links.item(i);%0A                String anchorName = link.getAttribute(%22name%22);%0A                boolean isAnchor = !anchorName.equals(%22%22);%0A                if (isAnchor) %7B%0A                    Node parent = link.getParentNode();%0A                    Comment beforeComment =%0A                        document.createComment(String.format(%22startmacro:id%7C-%7Cname=%5C%22%25s%5C%22%7C-%7C%22, anchorName));%0A                    Comment afterComment = document.createComment(%22stopmacro%22);%0A                    parent.insertBefore(beforeComment, link);%0A                    parent.insertBefore(afterComment, link.getNextSibling());%0A                %7D%0A            %7D%0A        %7D%0A    %7D%0A%7D%0A

Develop the initial feature set for the Office Importer module