jstrachan    2003/10/01 03:56:30

  Modified:    html2xdoc/src/test/org/apache/maven/html2xdoc
                        TestHtml2Xdoc.java
               html2xdoc/src/main/org/apache/maven/html2xdoc
                        Html2XdocBean.java
  Added:       html2xdoc/src/test/org/apache/maven/html2xdoc
                        linkInHeading.html linkInHeading.xml
  Log:
  fixed bug where headings contained elements (<span> or <a>) containing the text 
which resulted in headings with no text
  
  Revision  Changes    Path
  1.4       +1 -0      
maven-plugins/html2xdoc/src/test/org/apache/maven/html2xdoc/TestHtml2Xdoc.java
  
  Index: TestHtml2Xdoc.java
  ===================================================================
  RCS file: 
/home/cvs/maven-plugins/html2xdoc/src/test/org/apache/maven/html2xdoc/TestHtml2Xdoc.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TestHtml2Xdoc.java        1 Oct 2003 10:43:03 -0000       1.3
  +++ TestHtml2Xdoc.java        1 Oct 2003 10:56:30 -0000       1.4
  @@ -101,6 +101,7 @@
       // Test cases
       //-------------------------------------------------------------------------
       public void testOne() throws Exception {
  +        assertConversion("linkInHeading.html", "linkInHeading.xml");
           assertConversion("codeinpara.html", "codeinpara.xml");
                assertConversion("input1.html", "output1.xml");
                assertConversion("h1h2.html", "h1h2.xml");
  
  
  
  1.1                  
maven-plugins/html2xdoc/src/test/org/apache/maven/html2xdoc/linkInHeading.html
  
  Index: linkInHeading.html
  ===================================================================
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <title>A title</title>
  </head>
  <body>
  
  <h3>
  <a name="foo">the real title</a></h3>
  Some text
  </body>
  </html>
  
  
  
  1.1                  
maven-plugins/html2xdoc/src/test/org/apache/maven/html2xdoc/linkInHeading.xml
  
  Index: linkInHeading.xml
  ===================================================================
  <document>
    <properties>
      <title>A title</title>
    </properties>
    <body>
      <section name="the real title">
        <p>Some text
        </p>
      </section>
    </body>
  </document>
  
  
  
  1.4       +21 -1     
maven-plugins/html2xdoc/src/main/org/apache/maven/html2xdoc/Html2XdocBean.java
  
  Index: Html2XdocBean.java
  ===================================================================
  RCS file: 
/home/cvs/maven-plugins/html2xdoc/src/main/org/apache/maven/html2xdoc/Html2XdocBean.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Html2XdocBean.java        1 Oct 2003 10:43:03 -0000       1.3
  +++ Html2XdocBean.java        1 Oct 2003 10:56:30 -0000       1.4
  @@ -250,8 +250,28 @@
           } else {
               currentNode = currentSectionNode.addElement("subsection");
           }
  -        currentNode.addAttribute("name", node.getText());
  +        currentNode.addAttribute("name", getSectionText(node));
           currentParaNode = null;
  +    }
  +
  +    /**
  +     * @return the section text for the given node. If the node
  +     * contains an embedded element (such as an &lt;a&gt; element)
  +     * then return its text
  +     */
  +    protected String getSectionText(Node node) {
  +        String text = node.getText().trim();
  +        if (text.length() <= 0 && node instanceof Element) {
  +            Element element = (Element) node;
  +
  +            // maybe we contain a hypertext link
  +            List childElements = element.elements();
  +            if (! childElements.isEmpty()) {
  +                Node child = (Node) childElements.get(0);
  +                return child.getText();
  +            }
  +        }
  +        return text;
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to