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