Author: ks
Date: Wed Oct 31 21:53:46 2007
New Revision: 6647

Log:
- More xhtml -> docbook tests.
- Minor xsl fixes.
- Made html2docbook.php example a command-line utility.

Added:
    experimental/Document/tests/files/docbook_sample_basic.xml
    experimental/Document/tests/files/docbook_sample_lists.xml
    experimental/Document/tests/files/docbook_sample_tables.xml
    experimental/Document/tests/files/xhtml_sample_basic.xml
    experimental/Document/tests/files/xhtml_sample_lists.xml
    experimental/Document/tests/files/xhtml_sample_tables.xml
Modified:
    experimental/Document/docs/html2docbook.php
    experimental/Document/docs/html2docbook_static.php
    experimental/Document/src/converters/xhtml_docbook.xsl
    experimental/Document/tests/convert_xhtml_test.php
    experimental/Document/tests/document_basic_test.php

Modified: experimental/Document/docs/html2docbook.php
==============================================================================
--- experimental/Document/docs/html2docbook.php [iso-8859-1] (original)
+++ experimental/Document/docs/html2docbook.php [iso-8859-1] Wed Oct 31 
21:53:46 2007
@@ -1,34 +1,13 @@
 <?php
 require_once 'html2docbook_autoload.php';
 
-$xhtml = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
-<head>
-  <title>Test document</title>
-</head>
-<body>
-<h1>Header 1</h1>
-<p>
-Para 1
-</p>
-<h2>Header 1.1</h2>
-<p>
-Para 2
-</p>
-<ul>
-       <li>
-       <p>
-       List item 1 para 1
-       </p>
-       <p>
-       List item 1 para 2
-       </p>
-       </li>
-       <li>List item 2</li>
-       <li>List item 2 line 1<br/>line 2</li>
-</ul>
-</body>
-</html>';
+if ( count( $argc ) < 1 || count( $argc ) > 2 )
+{
+  echo "\nUsage: html2docbook <html filename> [<docbook filename>]\n";
+  die();
+}
+
+$xhtml = file_get_contents( $argv[1] );
 
 $docXhtml = new ezcDocumentXML( 'xhtml', $xhtml );
 
@@ -36,6 +15,9 @@
 $docDocbook = $converter->convert( $docXhtml );
 $result = $docDocbook->getXML();
 
-echo "Docbook:\n" . $result;
+if ( isset( $argv[2] ) )
+    file_put_contents( $argv[2], $result );
+else
+    echo "Docbook:\n" . $result;
 
 ?>

Modified: experimental/Document/docs/html2docbook_static.php
==============================================================================
--- experimental/Document/docs/html2docbook_static.php [iso-8859-1] (original)
+++ experimental/Document/docs/html2docbook_static.php [iso-8859-1] Wed Oct 31 
21:53:46 2007
@@ -1,43 +1,21 @@
 <?php
 require_once 'html2docbook_autoload.php';
 
-$xhtml = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
-<head>
-  <title>Test document</title>
-</head>
-<body>
-<h1>Header 1</h1>
-<p>
-Para 1
-</p>
-<h2>Header 1.1</h2>
-<p>
-Para 2
-</p>
-<ul>
-       <li>
-       <p>
-       List item 1 para 1
-       </p>
-       <p>
-       List item 1 para 2
-       </p>
-       </li>
-       <li>List item 2</li>
-       <li>List item 2 line 1<br/>line 2</li>
-</ul>
-<h1>Header 2</h1>
-<p>
-Para 3
-</p>
-</body>
-</html>';
+if ( count( $argc ) < 1 || count( $argc ) > 2 )
+{
+  echo "\nUsage: html2docbook <html filename> [<docbook filename>]\n";
+  die();
+}
+
+$xhtml = file_get_contents( $argv[1] );
 
 $docXhtml = new ezcDocumentXML( 'xhtml', $xhtml );
 $docDocbook = ezcDocumentXhtmlToDocbook::convert( $docXhtml );
 $result = $docDocbook->getXML();
 
-echo "Docbook:\n" . $result;
+if ( isset( $argv[2] ) )
+    file_put_contents( $argv[2], $result );
+else
+    echo "Docbook:\n" . $result;
 
 ?>

Modified: experimental/Document/src/converters/xhtml_docbook.xsl
==============================================================================
--- experimental/Document/src/converters/xhtml_docbook.xsl [iso-8859-1] 
(original)
+++ experimental/Document/src/converters/xhtml_docbook.xsl [iso-8859-1] Wed Oct 
31 21:53:46 2007
@@ -132,26 +132,6 @@
   </xsl:attribute>
  </anchor>
 </xsl:template>
-
-<!--<xsl:template name="string.subst">
- <xsl:param name="string" select="''"/>
- <xsl:param name="substitute" select="''"/>
- <xsl:param name="with" select="''"/>
- <xsl:choose>
-  <xsl:when test="contains($string,$substitute)">
-   <xsl:variable name="pre" select="substring-before($string,$substitute)"/>
-   <xsl:variable name="post" select="substring-after($string,$substitute)"/>
-   <xsl:call-template name="string.subst">
-    <xsl:with-param name="string" select="concat($pre,$with,$post)"/>
-    <xsl:with-param name="substitute" select="$substitute"/>
-    <xsl:with-param name="with" select="$with"/>
-   </xsl:call-template>
-  </xsl:when>
-  <xsl:otherwise>
-   <xsl:value-of select="$string"/>
-  </xsl:otherwise>
- </xsl:choose>
-</xsl:template> -->
 
 <!-- Images -->
 <!-- Images and image maps -->
@@ -224,6 +204,61 @@
  </xsl:choose>
 </xsl:template>
 
+<!-- inline formatting -->
+<xsl:template match="html:b | html:strong">
+ <emphasis role="strong">
+  <xsl:apply-templates/>
+ </emphasis>
+</xsl:template>
+
+<xsl:template match="html:i | html:em | html:emphasize">
+ <emphasis>
+  <xsl:apply-templates/>
+ </emphasis>
+</xsl:template>
+
+<xsl:template match="html:u">
+ <citetitle>
+  <xsl:apply-templates/>
+ </citetitle>
+</xsl:template>
+
+<xsl:template match="html:tt">
+ <literal>
+  <xsl:apply-templates/>
+ </literal>
+</xsl:template>
+
+<xsl:template match="html:sub">
+ <subscript>
+  <xsl:apply-templates/>
+ </subscript>
+</xsl:template>
+
+<xsl:template match="html:sup">
+ <superscript>
+  <xsl:apply-templates/>
+ </superscript>
+</xsl:template>
+
+<xsl:template match="html:acronym">
+ <acronym>
+  <xsl:apply-templates/>
+ </acronym>
+</xsl:template>
+
+<xsl:template match="html:q">
+ <quote>
+  <xsl:apply-templates/>
+ </quote>
+</xsl:template>
+
+<xsl:template match="html:cite">
+ <citetitle>
+  <xsl:apply-templates/>
+ </citetitle>
+</xsl:template>
+
 <!-- LIST ELEMENTS -->
 <xsl:template match="html:ul">
  <itemizedlist>
@@ -279,61 +314,6 @@
    </xsl:otherwise>
   </xsl:choose>
  </listitem>
-</xsl:template>
-                
-<!-- inline formatting -->
-<xsl:template match="html:b | html:strong">
- <emphasis role="strong">
-  <xsl:apply-templates/>
- </emphasis>
-</xsl:template>
-
-<xsl:template match="html:i | html:em | html:emphasize">
- <emphasis>
-  <xsl:apply-templates/>
- </emphasis>
-</xsl:template>
-
-<xsl:template match="html:u">
- <citetitle>
-  <xsl:apply-templates/>
- </citetitle>
-</xsl:template>
-
-<xsl:template match="html:tt">
- <literal>
-  <xsl:apply-templates/>
- </literal>
-</xsl:template>
-
-<xsl:template match="html:sub">
- <subscript>
-  <xsl:apply-templates/>
- </subscript>
-</xsl:template>
-
-<xsl:template match="html:sup">
- <superscript>
-  <xsl:apply-templates/>
- </superscript>
-</xsl:template>
-
-<xsl:template match="html:acronym">
- <acronym>
-  <xsl:apply-templates/>
- </acronym>
-</xsl:template>
-
-<xsl:template match="html:q">
- <quote>
-  <xsl:apply-templates/>
- </quote>
-</xsl:template>
-
-<xsl:template match="html:cite">
- <citetitle>
-  <xsl:apply-templates/>
- </citetitle>
 </xsl:template>
 
 <!-- Table conversion -->

Modified: experimental/Document/tests/convert_xhtml_test.php
==============================================================================
--- experimental/Document/tests/convert_xhtml_test.php [iso-8859-1] (original)
+++ experimental/Document/tests/convert_xhtml_test.php [iso-8859-1] Wed Oct 31 
21:53:46 2007
@@ -19,16 +19,34 @@
 {
     public function testDocumentXHtmlToDocbook()
     {
-        $xhtml = file_get_contents( dirname( __FILE__ ) . 
'/files/xhtml_sample.xml' );
-        $docbook = file_get_contents( dirname( __FILE__ ) . 
'/files/docbook_sample.xml' );
+        $converter = new ezcDocumentXhtmlToDocbook;
+        
+        $xhtml = file_get_contents( dirname( __FILE__ ) . 
'/files/xhtml_sample_basic.xml' );
+        $docbook = file_get_contents( dirname( __FILE__ ) . 
'/files/docbook_sample_basic.xml' );
 
         $docXhtml = new ezcDocumentXML( 'xhtml', $xhtml );
-        $converter = new ezcDocumentXhtmlToDocbook;
         $docDocbook = $converter->convert( $docXhtml );
         $result = $docDocbook->getXML();
 
-        self::assertEquals( $docbook, $result, 'Converting XHTML to DocBook 
failed.' );
+        self::assertEquals( $docbook, $result, 'Converting XHTML to DocBook 
failed (basic test).' );
+        
+        $xhtml = file_get_contents( dirname( __FILE__ ) . 
'/files/xhtml_sample_lists.xml' );
+        $docbook = file_get_contents( dirname( __FILE__ ) . 
'/files/docbook_sample_lists.xml' );
 
+        $docXhtml = new ezcDocumentXML( 'xhtml', $xhtml );
+        $docDocbook = $converter->convert( $docXhtml );
+        $result = $docDocbook->getXML();
+
+        self::assertEquals( $docbook, $result, 'Converting XHTML to DocBook 
failed (lists test).' );
+
+        $xhtml = file_get_contents( dirname( __FILE__ ) . 
'/files/xhtml_sample_tables.xml' );
+        $docbook = file_get_contents( dirname( __FILE__ ) . 
'/files/docbook_sample_tables.xml' );
+
+        $docXhtml = new ezcDocumentXML( 'xhtml', $xhtml );
+        $docDocbook = $converter->convert( $docXhtml );
+        $result = $docDocbook->getXML();
+
+        self::assertEquals( $docbook, $result, 'Converting XHTML to DocBook 
failed (tables test).' );
     }
 
     public static function suite()

Modified: experimental/Document/tests/document_basic_test.php
==============================================================================
--- experimental/Document/tests/document_basic_test.php [iso-8859-1] (original)
+++ experimental/Document/tests/document_basic_test.php [iso-8859-1] Wed Oct 31 
21:53:46 2007
@@ -19,7 +19,7 @@
 {
     public function testXMLDocumentCreation()
     {
-        $xhtmlXML = file_get_contents( dirname( __FILE__ ) . 
'/files/xhtml_sample.xml' );
+        $xhtmlXML = file_get_contents( dirname( __FILE__ ) . 
'/files/xhtml_sample_basic.xml' );
         
         $docXhtml = new ezcDocumentXML( 'xhtml', $xhtmlXML );
         $xhtmlDOM = $docXhtml->getDOM();

Added: experimental/Document/tests/files/docbook_sample_basic.xml
==============================================================================
--- experimental/Document/tests/files/docbook_sample_basic.xml (added)
+++ experimental/Document/tests/files/docbook_sample_basic.xml [iso-8859-1] Wed 
Oct 31 21:53:46 2007
@@ -1,0 +1,15 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN" 
"http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd";>
+<article><articleinfo><title>Test 
document</title></articleinfo><section><title>Header 1</title><para>
+Para 1
+</para><section><title>Header 1.1</title><para>
+Para 2
+</para></section></section><section><title>Header 2</title><para>
+Inline <ulink url="http://example.com";>example</ulink> link.
+</para><literallayout>
+Some literal text
+</literallayout><para>
+Inline Image: <inlinemediaobject><imageobject><imagedata 
fileref="http://www.google.com/intl/en_ALL/images/logo.gif"/></imageobject></inlinemediaobject>
 image
+</para><mediaobject><imageobject><imagedata 
fileref="http://www.google.com/intl/en_ALL/images/logo.gif"/></imageobject></mediaobject><para>
+Inline tags:
+<emphasis role="strong">storng text</emphasis><emphasis>emphasized 
text</emphasis><literal>literal</literal><subscript>subscript</subscript><superscript>superscript</superscript><quote>quote</quote><citetitle>cite
 title</citetitle><acronym>FBI</acronym><programlisting>a = 
b</programlisting></para></section></article>

Added: experimental/Document/tests/files/docbook_sample_lists.xml
==============================================================================
--- experimental/Document/tests/files/docbook_sample_lists.xml (added)
+++ experimental/Document/tests/files/docbook_sample_lists.xml [iso-8859-1] Wed 
Oct 31 21:53:46 2007
@@ -1,0 +1,3 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN" 
"http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd";>
+<article><articleinfo><title>Test document</title></articleinfo></article>

Added: experimental/Document/tests/files/docbook_sample_tables.xml
==============================================================================
--- experimental/Document/tests/files/docbook_sample_tables.xml (added)
+++ experimental/Document/tests/files/docbook_sample_tables.xml [iso-8859-1] 
Wed Oct 31 21:53:46 2007
@@ -1,0 +1,3 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN" 
"http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd";>
+<article><articleinfo><title>Test document</title></articleinfo></article>

Added: experimental/Document/tests/files/xhtml_sample_basic.xml
==============================================================================
--- experimental/Document/tests/files/xhtml_sample_basic.xml (added)
+++ experimental/Document/tests/files/xhtml_sample_basic.xml [iso-8859-1] Wed 
Oct 31 21:53:46 2007
@@ -1,0 +1,39 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  <title>Test document</title>
+</head>
+<body>
+<h1>Header 1</h1>
+<p>
+Para 1
+</p>
+<h2>Header 1.1</h2>
+<p>
+Para 2
+</p>
+<h1>Header 2</h1>
+<p>
+Inline <a href="http://example.com";>example</a> link.
+</p>
+<pre>
+Some literal text
+</pre>
+<p>
+Inline Image: <img src="http://www.google.com/intl/en_ALL/images/logo.gif"/> 
image
+</p>
+<img src="http://www.google.com/intl/en_ALL/images/logo.gif"/>
+<p>
+Inline tags:
+<strong>storng text</strong>
+<em>emphasized text</em>
+<tt>literal</tt>
+<sub>subscript</sub>
+<sup>superscript</sup>
+<q>quote</q>
+<cite>cite title</cite>
+<acronym>FBI</acronym>
+<code>a = b</code>
+</p>
+</body>
+</html>

Added: experimental/Document/tests/files/xhtml_sample_lists.xml
==============================================================================
--- experimental/Document/tests/files/xhtml_sample_lists.xml (added)
+++ experimental/Document/tests/files/xhtml_sample_lists.xml [iso-8859-1] Wed 
Oct 31 21:53:46 2007
@@ -1,0 +1,29 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  <title>Test document</title>
+</head>
+<body>
+Unordered list:
+<ul>
+ <li>
+  <p>List item 1 para 1
+  </p>
+  <p>List item 1 para 2
+  </p>
+ </li>
+ <li>List item 2</li>
+ <li>List item 3</li>
+</ul>
+Ordered list:
+<ol>
+ <li>Element 1
+  <ol>
+    <li>Element 1.1</li>
+    <li>Element 1.2</li>
+  </ol>
+  </li>
+ <li>Element 2</li>
+</ol>
+</body>
+</html>

Added: experimental/Document/tests/files/xhtml_sample_tables.xml
==============================================================================
--- experimental/Document/tests/files/xhtml_sample_tables.xml (added)
+++ experimental/Document/tests/files/xhtml_sample_tables.xml [iso-8859-1] Wed 
Oct 31 21:53:46 2007
@@ -1,0 +1,41 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  <title>Test document</title>
+</head>
+<body>
+<table>
+    <tr>
+      <td>cell 1.1</td>
+      <td>cell 1.2</td>
+    </tr>
+    <tr>
+      <td>cell 2.1</td>
+      <td>cell 2.2</td>
+    </tr>
+</table>
+<table>
+  <caption>Complex table</caption>
+   <thead>
+    <tr>
+      <th>header 1</th>
+      <th>header 2</th>
+    </tr>
+   </thead>
+   <tbody>
+    <tr>
+      <td colspan="2">cell 1.1</td><td>cell 2.1</td>
+    </tr>
+    <tr>
+      <td>cell 1.2</td>
+    </tr>
+    <tr>
+      <td rowspan="2">cell 1.3</td>
+    </tr>
+    <tr>
+      <td>cell 1.4</td><td>cell 2.4</td>
+    </tr>
+  </tbody>
+</table>
+</body>
+</html>


-- 
svn-components mailing list
svn-components@lists.ez.no
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to