Author: cziegeler
Date: Wed Nov 25 12:32:04 2009
New Revision: 884069

URL: http://svn.apache.org/viewvc?rev=884069&view=rev
Log:
Use latest commons html and remove workaround for nekohtml

Added:
    sling/trunk/contrib/extensions/rewriter/src/main/HtmlSerializerFactory.java 
  (with props)
    
sling/trunk/contrib/extensions/rewriter/src/main/XHtmlSerializerFactory.java   
(with props)
Modified:
    sling/trunk/contrib/extensions/rewriter/pom.xml

Modified: sling/trunk/contrib/extensions/rewriter/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/pom.xml?rev=884069&r1=884068&r2=884069&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/pom.xml (original)
+++ sling/trunk/contrib/extensions/rewriter/pom.xml Wed Nov 25 12:32:04 2009
@@ -60,6 +60,9 @@
                 <configuration>
                     <instructions>
                         <Bundle-Category>sling</Bundle-Category>
+                        <Import-Package>
+                            
org.apache.cocoon.components.serializers.util;resolution:=optional,*
+                        </Import-Package>
                         <Export-Package>
                             org.apache.sling.rewriter
                         </Export-Package>
@@ -93,9 +96,15 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.cocoon</groupId>
+            <artifactId>cocoon-serializers-charsets</artifactId>
+            <version>1.0.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.html</artifactId>
-            <version>0.9.0</version>
+            <version>0.9.1-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>

Added: 
sling/trunk/contrib/extensions/rewriter/src/main/HtmlSerializerFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/HtmlSerializerFactory.java?rev=884069&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/rewriter/src/main/HtmlSerializerFactory.java 
(added)
+++ sling/trunk/contrib/extensions/rewriter/src/main/HtmlSerializerFactory.java 
Wed Nov 25 12:32:04 2009
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.rewriter.impl.components;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+
+import org.apache.sling.rewriter.ProcessingComponentConfiguration;
+import org.apache.sling.rewriter.ProcessingContext;
+import org.apache.sling.rewriter.Serializer;
+import org.apache.sling.rewriter.SerializerFactory;
+
+/**
+ * This sax serializer serializes html-
+ * @scr.component metatype="no"
+ * @scr.service
+ * @scr.property name="pipeline.type" value="html-serializer"
+ */
+public class HtmlSerializerFactory implements SerializerFactory {
+
+    /**
+     * @see org.apache.sling.rewriter.SerializerFactory#createSerializer()
+     */
+    public Serializer createSerializer() {
+        return new HTMLSerializer();
+    }
+
+    /**
+     * <p>A serializer converting XHTML into plain old HTML.</p>
+     *
+     * <p>For configuration options of this serializer, please look at the
+     * {...@link XHtmlSerializerFactory} and
+     * {...@link 
org.apache.cocoon.components.serializers.util.EncodingSerializer}.</p>
+     *
+     * <p>Any of the XHTML document type declared or used will be converted 
into
+     * its HTML 4.01 counterpart, and in addition to those a "compatible" 
doctype
+     * can be supported to exploit a couple of shortcuts into MSIE's rendering
+     * engine. The values for the <code>doctype-default</code> can then be:</p>
+     *
+     * <dl>
+     *   <dt>"<code>none</code>"</dt>
+     *   <dd>Not to emit any dococument type declaration.</dd>
+     *   <dt>"<code>compatible</code>"</dt>
+     *   <dd>The HTML 4.01 Transitional (exploiting MSIE shortcut).</dd>
+     *   <dt>"<code>strict</code>"</dt>
+     *   <dd>The HTML 4.01 Strict document type.</dd>
+     *   <dt>"<code>loose</code>"</dt>
+     *   <dd>The HTML 4.01 Transitional document type.</dd>
+     *   <dt>"<code>frameset</code>"</dt>
+     *   <dd>The HTML 4.01 Frameset document type.</dd>
+     * </dl>
+     *
+     */
+    public class HTMLSerializer
+        extends org.apache.cocoon.components.serializers.util.HTMLSerializer
+        implements Serializer {
+
+        /**
+         * @see 
org.apache.sling.rewriter.Serializer#init(org.apache.sling.rewriter.ProcessingContext,
 org.apache.sling.rewriter.ProcessingComponentConfiguration)
+         */
+        public void init(ProcessingContext context,
+                ProcessingComponentConfiguration config)
+        throws IOException {
+            String encoding = config.getConfiguration().get("encoding", 
"UTF-8");
+            try {
+                this.setEncoding(encoding);
+            } catch (UnsupportedEncodingException exception) {
+                throw new IOException("Encoding not supported: " + encoding);
+            }
+
+            this.setIndentPerLevel(config.getConfiguration().get("indent", 0));
+            
this.setDoctypeDefault(config.getConfiguration().get("doctype-default", 
String.class));
+
+            this.setup(context.getRequest());
+            this.setOutputStream(context.getOutputStream());
+        }
+
+        /**
+         * @see org.apache.sling.rewriter.Serializer#dispose()
+         */
+        public void dispose() {
+            // nothing to do
+        }
+    }
+}

Propchange: 
sling/trunk/contrib/extensions/rewriter/src/main/HtmlSerializerFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
sling/trunk/contrib/extensions/rewriter/src/main/HtmlSerializerFactory.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: 
sling/trunk/contrib/extensions/rewriter/src/main/HtmlSerializerFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
sling/trunk/contrib/extensions/rewriter/src/main/XHtmlSerializerFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/rewriter/src/main/XHtmlSerializerFactory.java?rev=884069&view=auto
==============================================================================
--- 
sling/trunk/contrib/extensions/rewriter/src/main/XHtmlSerializerFactory.java 
(added)
+++ 
sling/trunk/contrib/extensions/rewriter/src/main/XHtmlSerializerFactory.java 
Wed Nov 25 12:32:04 2009
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.rewriter.impl.components;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+
+import org.apache.sling.rewriter.ProcessingComponentConfiguration;
+import org.apache.sling.rewriter.ProcessingContext;
+import org.apache.sling.rewriter.Serializer;
+import org.apache.sling.rewriter.SerializerFactory;
+
+/**
+ * This sax serializer serializes xhtml-
+ * @scr.component metatype="no"
+ * @scr.service
+ * @scr.property name="pipeline.type" value="xhtml-serializer"
+ */
+public class XHtmlSerializerFactory implements SerializerFactory {
+
+    /**
+     * @see org.apache.sling.rewriter.SerializerFactory#createSerializer()
+     */
+    public Serializer createSerializer() {
+        return new XHTMLSerializer();
+    }
+
+    /**
+     * <p>A pedantinc XHTML serializer encoding all recognized entities with 
their
+     * proper HTML names.</p>
+     *
+     * <p>For configuration options of this serializer, please look at the
+     * {...@link 
org.apache.cocoon.components.serializers.util.EncodingSerializer},
+     * in addition to those, this serializer also support the specification of 
a
+     * default doctype. This default will be used if no document type is 
received
+     * in the SAX events.
+     *
+     * <p>The value <i>mytype</i> can be one of:</p>
+     *
+     * <dl>
+     *   <dt>"<code>none</code>"</dt>
+     *   <dd>Not to emit any dococument type declaration.</dd>
+     *   <dt>"<code>strict</code>"</dt>
+     *   <dd>The XHTML 1.0 Strict document type.</dd>
+     *   <dt>"<code>loose</code>"</dt>
+     *   <dd>The XHTML 1.0 Transitional document type.</dd>
+     *   <dt>"<code>frameset</code>"</dt>
+     *   <dd>The XHTML 1.0 Frameset document type.</dd>
+     * </dl>
+     *
+     */
+    public class XHTMLSerializer
+        extends org.apache.cocoon.components.serializers.util.XHTMLSerializer
+        implements Serializer  {
+
+        /**
+         * @see 
org.apache.sling.rewriter.Serializer#init(org.apache.sling.rewriter.ProcessingContext,
 org.apache.sling.rewriter.ProcessingComponentConfiguration)
+         */
+        public void init(ProcessingContext context,
+                         ProcessingComponentConfiguration config)
+        throws IOException {
+            final String encoding = config.getConfiguration().get("encoding", 
"UTF-8");
+            try {
+                this.setEncoding(encoding);
+            } catch (UnsupportedEncodingException exception) {
+                throw new IOException("Encoding not supported: " + encoding);
+            }
+            setIndentPerLevel(config.getConfiguration().get("indent", 0));
+            
setOmitXmlDeclaration(config.getConfiguration().get("omit-xml-declaration", 
"no"));
+            setDoctypeDefault(config.getConfiguration().get("doctype-default", 
String.class));
+
+            this.setup(context.getRequest());
+            this.setOutputStream(context.getOutputStream());
+        }
+
+        /**
+         * @see org.apache.sling.rewriter.Serializer#dispose()
+         */
+        public void dispose() {
+            // nothing to do
+        }
+    }
+}

Propchange: 
sling/trunk/contrib/extensions/rewriter/src/main/XHtmlSerializerFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
sling/trunk/contrib/extensions/rewriter/src/main/XHtmlSerializerFactory.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: 
sling/trunk/contrib/extensions/rewriter/src/main/XHtmlSerializerFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to