TRINIDAD-1681 - Generated Facelets taglib.xml files contain the OLD DTD

Thanks for the patch, Max
diff --git a/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java b/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java
index 0e82ce0..627d4d9 100644
--- a/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java
+++ b/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateFaceletsTaglibsMojo.java
@@ -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";