Author: ks
Date: Thu Nov  8 15:11:14 2007
New Revision: 6679

Log:
- Initial conversion from eZp3 to eZp4 xml.

Added:
    experimental/Document/src/converters/ezp3_ezp4.php
    experimental/Document/src/converters/ezp3_ezp4.xsl
    experimental/Document/tests/files/ezp3_sample.xml
Modified:
    experimental/Document/TODO

Modified: experimental/Document/TODO
==============================================================================
--- experimental/Document/TODO [iso-8859-1] (original)
+++ experimental/Document/TODO [iso-8859-1] Thu Nov  8 15:11:14 2007
@@ -3,6 +3,7 @@
 
 - Implement XHTML -> Docbook conversion class (ezcDocumentXhtmlToDocbook) and 
XSLT.
 - Implement Docbook -> XHTML conversion class and XSLT.
+- Implement eZp 3 -> eZp 4 conversion class and XSLT.
 - Implement eZp -> Docbook conversion class and XSLT.
 - Implement Docbook -> eZp conversion class and XSLT.
 - Implement ReST parsing to XML and ReST-XML -> Docbook conversion class and 
XSLT.

Added: experimental/Document/src/converters/ezp3_ezp4.php
==============================================================================
--- experimental/Document/src/converters/ezp3_ezp4.php (added)
+++ experimental/Document/src/converters/ezp3_ezp4.php [iso-8859-1] Thu Nov  8 
15:11:14 2007
@@ -1,0 +1,74 @@
+<?php
+
+/**
+ * File containing the ezcDocument class
+ *
+ * @package Document
+ * @version //autogen//
+ * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved.
+ * @license http://ez.no/licenses/new_bsd New BSD License
+ * 
+ * A base class for document format handlers.
+ *
+ */
+
+
+class ezcDocumentEzp3ToEzp4 implements ezcDocumentConverter
+{
+    /**
+     * XSLT stylesheet
+     *
+     * @var DOMDocument
+     */
+    static private $xslt = null;
+
+    /**
+     * XSLT processor
+     *
+     * @var XSLTProcessor
+     */
+    static private $proc = null;
+
+    /**
+     * Various conversion parameters
+     *
+     * @var mixed
+     */
+    private $parameters = array();
+
+    /**
+     * Constructs new converter
+     */
+    public function __construct( $parameters = array() )
+    {
+        $this->parameters = $parameters;
+    }
+
+    /**
+     * Returns converted document
+     *
+     * @return ezcDocumentXML
+     */
+    static public function convert( ezcDocument $doc, $parameters = array() )
+    {
+        if ( !ezcDocumentXhtmlToDocbook::$proc )
+        {
+            if ( !ezcDocumentXhtmlToDocbook::$xslt )
+            {
+                ezcDocumentXhtmlToDocbook::$xslt = new DOMDocument;
+                ezcDocumentXhtmlToDocbook::$xslt->load( dirname( __FILE__ ) . 
'/../converters/ezp3_ezp4.xsl' );
+            }
+            ezcDocumentXhtmlToDocbook::$proc = new XSLTProcessor;
+            ezcDocumentXhtmlToDocbook::$proc->importStyleSheet( 
ezcDocumentXhtmlToDocbook::$xslt );
+        }
+
+        // XSLT transformation
+        $resultDOM = ezcDocumentXhtmlToDocbook::$proc->transformToDoc( 
$doc->getDOM() );
+
+        $resultDoc = new ezcDocumentXML( 'docbook', $resultDOM);
+        return $resultDoc;
+    }
+
+}
+
+?>

Added: experimental/Document/src/converters/ezp3_ezp4.xsl
==============================================================================
--- experimental/Document/src/converters/ezp3_ezp4.xsl (added)
+++ experimental/Document/src/converters/ezp3_ezp4.xsl [iso-8859-1] Thu Nov  8 
15:11:14 2007
@@ -1,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" 
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";               
  
+                xmlns:set="http://exslt.org/sets";
+                xmlns:dyn="http://exslt.org/dynamic";
+                extension-element-prefixes="set dyn"
+                exclude-result-prefixes="xsl">
+
+<xsl:output method="xml" indent="yes" />
+            
+<!-- Main block-level conversions -->
+<xsl:template match="section">
+ <xsl:param name="level" select="0"/>
+ <xsl:choose>  
+  <xsl:when test="$level = 0">
+   <document>
+    <xsl:apply-templates select="paragraph"/>
+   </document>
+  </xsl:when>
+  <xsl:otherwise>
+   <xsl:apply-templates select="paragraph"/>
+  </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="paragraph">
+ <para>
+  <xsl:apply-templates/>
+ </para>
+</xsl:template>
+
+<xsl:template match="strong|emphasize">
+ <xsl:copy>
+  <xsl:apply-templates/>
+ </xsl:copy>
+</xsl:template>
+              
+<xsl:template match="text()">
+ <xsl:copy-of select="."/>
+</xsl:template>
+
+</xsl:stylesheet>

Added: experimental/Document/tests/files/ezp3_sample.xml
==============================================================================
--- experimental/Document/tests/files/ezp3_sample.xml (added)
+++ experimental/Document/tests/files/ezp3_sample.xml [iso-8859-1] Thu Nov  8 
15:11:14 2007
@@ -1,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section>
+    <paragraph>abc
+        <strong>def</strong></paragraph>
+</section>
+


-- 
svn-components mailing list
[EMAIL PROTECTED]
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to