You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2010/02/12 09:26:03 UTC

svn commit: r909289 - /myfaces/trinidad-maven/tags/maven-plugin-parent-2.0.1/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java

Author: matzew
Date: Fri Feb 12 08:26:03 2010
New Revision: 909289

URL: http://svn.apache.org/viewvc?rev=909289&view=rev
Log:
TRINIDAD-1681 - Generated Facelets taglib.xml files contain the OLD DTD

Thanks for the patch, Max

Modified:
    myfaces/trinidad-maven/tags/maven-plugin-parent-2.0.1/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java

Modified: myfaces/trinidad-maven/tags/maven-plugin-parent-2.0.1/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/tags/maven-plugin-parent-2.0.1/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java?rev=909289&r1=909288&r2=909289&view=diff
==============================================================================
--- myfaces/trinidad-maven/tags/maven-plugin-parent-2.0.1/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java (original)
+++ myfaces/trinidad-maven/tags/maven-plugin-parent-2.0.1/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java Fri Feb 12 08:26:03 2010
@@ -163,10 +163,13 @@
 
           TransformerFactory transFactory = TransformerFactory.newInstance();
           Transformer identity = transFactory.newTransformer();
-          identity.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC,
-                                     _FACELETS_TAG_LIBRARY_DOCTYPE_PUBLIC);
-          identity.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,
-                                     _FACELETS_TAG_LIBRARY_DOCTYPE_SYSTEM);
+          if (!_isJSF20PLus())
+          {
+            identity.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC,
+                                       _FACELETS_TAG_LIBRARY_DOCTYPE_PUBLIC);
+            identity.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,
+                                       _FACELETS_TAG_LIBRARY_DOCTYPE_SYSTEM);
+          }
           identity.transform(mergedSource, mergedResult);
 
           targetFile.setReadOnly();
@@ -247,10 +250,28 @@
   {
     stream.writeStartDocument("1.0");
     stream.writeCharacters("\n");
-    stream.writeDTD(dtd);
-    stream.writeCharacters("\n");
+    
+    boolean isJSF20PLus = _isJSF20PLus();
+    
+    String ns = _FACELETS_NAMESPACE_URI_20;
+    
+    if (!isJSF20PLus)
+    {
+      ns = _FACELETS_NAMESPACE_URI;
+      stream.writeDTD(dtd);
+      stream.writeCharacters("\n");
+    }
+    
     stream.writeStartElement("facelet-taglib");
-    stream.writeDefaultNamespace(_FACELETS_NAMESPACE_URI);
+    stream.writeDefaultNamespace(ns);
+    
+    if (isJSF20PLus)
+    {
+      stream.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
+      stream.writeAttribute("http://www.w3.org/2001/XMLSchema-instance", "schemaLocation",
+                            "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd");
+      stream.writeAttribute("version", "2.0");
+    }
     stream.writeCharacters("\n  ");
   }
 
@@ -636,6 +657,9 @@
 
   static private final String _FACELETS_NAMESPACE_URI =
               "http://java.sun.com/JSF/Facelet";
+  
+  static private final String _FACELETS_NAMESPACE_URI_20 =
+              "http://java.sun.com/xml/ns/javaee";
 
   static final private String _FACELETS_TAG_LIBRARY_DOCTYPE_PUBLIC =
               "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN";