[Yanel-dev] XML resource patch
Evaldas Taroza
etaroza at optaros.com
Wed Jan 16 09:32:20 CET 2008
Some small changes to BasicXMLResource and SerializerFactory.
Evaldas
-- =
+41 79 616 53 76
Optaros - www.optaros.com
-------------- next part --------------
Index: core/java/org/wyona/yanel/core/serialization/SerializerFactory.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- core/java/org/wyona/yanel/core/serialization/SerializerFactory.java (re=
vision 30347)
+++ core/java/org/wyona/yanel/core/serialization/SerializerFactory.java (wo=
rking copy)
@@ -4,6 +4,7 @@
import org.apache.log4j.Category;
import org.apache.xml.serializer.OutputPropertiesFactory;
import org.apache.xml.serializer.Serializer;
+import org.apache.xml.serializer.SerializerFactory;
=
/**
* Factory to create serializers. =
@@ -16,10 +17,12 @@
public static final int XHTML_STRICT =3D 1;
public static final int HTML_TRANSITIONAL =3D 2;
public static final int XML =3D 3;
+ public static final int TEXT =3D 4;
=
public static final String XHTML_STRICT_KEY =3D "XHTML_STRICT";
public static final String HTML_TRANSITIONAL_KEY =3D "HTML_TRANSITIONA=
L";
public static final String XML_KEY =3D "XML";
+ public static final String TEXT_KEY =3D "TEXT";
=
public static Serializer getSerializer(Properties format) {
Serializer serializer =3D new HTMLSerializer();
@@ -32,10 +35,12 @@
return getSerializer(XHTML_STRICT);
} else if (key.equals(HTML_TRANSITIONAL_KEY)) {
return getSerializer(HTML_TRANSITIONAL);
- } if (key.equals(XML_KEY)) {
+ } else if (key.equals(XML_KEY)) {
return getSerializer(XML);
+ } else if (key.equals(TEXT_KEY)) {
+ return getSerializer(TEXT);
}
- return null;
+ return getSerializer(TEXT);
}
=
public static Serializer getSerializer(int key) {
@@ -47,8 +52,7 @@
format.setProperty("doctype-public", "-//W3C//DTD XHTML 1.0 St=
rict//EN");
format.setProperty("doctype-system", "http://www.w3.org/TR/xht=
ml1/DTD/xhtml1-strict.dtd");
serializer.setOutputFormat(format);
- }
- if (key =3D=3D HTML_TRANSITIONAL) {
+ }else if (key =3D=3D HTML_TRANSITIONAL) {
serializer =3D new HTMLSerializer();
Properties format =3D OutputPropertiesFactory.getDefaultMethod=
Properties("html");
format.setProperty("indent", "yes");
@@ -56,12 +60,14 @@
format.setProperty("doctype-public", "-//W3C//DTD HTML 4.01 Tr=
ansitional//EN");
format.setProperty("doctype-system", "http://www.w3.org/TR/htm=
l4/loose.dtd");
serializer.setOutputFormat(format);
- }
- if (key =3D=3D XML) {
+ }else if (key =3D=3D XML) {
serializer =3D new XMLSerializer();
Properties format =3D OutputPropertiesFactory.getDefaultMethod=
Properties("xml");
format.setProperty("indent", "yes");
serializer.setOutputFormat(format);
+ } else {
+ Properties format =3D OutputPropertiesFactory.getDefaultMethod=
Properties("text");
+ serializer =3D SerializerFactory.getSerializer(format);
}
return serializer;
}
Index: impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java (revisio=
n 30348)
+++ impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java (working=
copy)
@@ -64,10 +64,6 @@
protected static String DEFAULT_VIEW_ID =3D "default";
protected static String SOURCE_VIEW_ID =3D "source";
=
- protected static String SERIALIZER_OMIT_XML_DECLARATION =3D "serialize=
r-omit-xml-declaration";
- protected static String SERIALIZER_DOCTYPE_PUBLIC =3D "serializer-doct=
ype-public";
- protected static String SERIALIZER_DOCTYPE_SYSTEM =3D "serializer-doct=
ype-system";
-
protected HashMap viewDescriptors;
=
public ViewDescriptor getViewDescriptor(String viewId) {
@@ -261,10 +257,8 @@
=
if (mimeType.equals("text/html")) {
serializer =3D SerializerFactory.getSerializer(SerializerF=
actory.HTML_TRANSITIONAL);
- } else if (mimeType.equals("application/xml")) {
- serializer =3D SerializerFactory.getSerializer(SerializerF=
actory.XML);
} else {
- serializer =3D SerializerFactory.getSerializer(SerializerF=
actory.XHTML_STRICT);
+ serializer =3D SerializerFactory.getSerializer(SerializerF=
actory.XML);
}
}
// allow to override xml declaration and doctype:
More information about the Yanel-development
mailing list