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