You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by GitBox <gi...@apache.org> on 2018/10/05 04:00:21 UTC

[GitHub] rtaneja1 closed pull request #935: [NETBEANS-1074] : module review web.jsf

rtaneja1 closed pull request #935: [NETBEANS-1074] : module review web.jsf
URL: https://github.com/apache/incubator-netbeans/pull/935
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/enterprise/web.jsf/build.xml b/enterprise/web.jsf/build.xml
index 21cd36d3a1..828a838552 100644
--- a/enterprise/web.jsf/build.xml
+++ b/enterprise/web.jsf/build.xml
@@ -23,13 +23,6 @@
 
     <import file="../../nbbuild/templates/projectized.xml"/>
 
-    <property name="resources.dir" value="./src/org/netbeans/modules/web/jsf/resources/"/>
-
-    <target name="build-init" depends="projectized.build-init">
-        <unzip src="external/web.jsf-glassfish-ext-resources.zip" dest="${resources.dir}"/>
-        <unzip src="external/web.jsf-w3c-ext-resources.zip" dest="${resources.dir}"/>
-    </target>
-
     <target name="netbeans-extra" depends="release"/>
 
 </project>
diff --git a/enterprise/web.jsf/external/binaries-list b/enterprise/web.jsf/external/binaries-list
deleted file mode 100644
index 1ec22f3d06..0000000000
--- a/enterprise/web.jsf/external/binaries-list
+++ /dev/null
@@ -1,2 +0,0 @@
-2060FE0D9EBECE3DB6719F9EF9E516DAD823354B web.jsf-glassfish-ext-resources.zip
-9E1E8A183C8E918E64FE43FBDDFF043BC7FEC8C2 web.jsf-w3c-ext-resources.zip
diff --git a/enterprise/web.jsf/external/glassfish-license.txt b/enterprise/web.jsf/external/glassfish-license.txt
deleted file mode 100644
index 833a843cfe..0000000000
--- a/enterprise/web.jsf/external/glassfish-license.txt
+++ /dev/null
@@ -1,274 +0,0 @@
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)Version 1.1
-
-1. Definitions.
-
-     1.1. "Contributor" means each individual or entity that creates or contributes to the creation of Modifications.
-
-     1.2. "Contributor Version" means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
-
-     1.3. "Covered Software" means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
-
-     1.4. "Executable" means the Covered Software in any form other than Source Code.
-
-     1.5. "Initial Developer" means the individual or entity that first makes Original Software available under this License.
-
-     1.6. "Larger Work" means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
-
-     1.7. "License" means this document.
-
-     1.8. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
-
-     1.9. "Modifications" means the Source Code and Executable form of any of the following:
-
-     A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
-
-     B. Any new file that contains any part of the Original Software or previous Modification; or
-
-     C. Any new file that is contributed or otherwise made available under the terms of this License.
-
-     1.10. "Original Software" means the Source Code and Executable form of computer software code that is originally released under this License.
-
-     1.11. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
-
-     1.12. "Source Code" means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
-
-     1.13. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
-
-2. License Grants.
-
-     2.1. The Initial Developer Grant.
-
-     Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
-
-     (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
-
-     (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
-
-     (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
-
-     (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
-
-     2.2. Contributor Grant.
-
-     Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
-
-     (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
-
-     (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
-
-     (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
-
-     (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
-
-3. Distribution Obligations.
-
-     3.1. Availability of Source Code.
-
-     Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
-
-     3.2. Modifications.
-
-     The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
-
-     3.3. Required Notices.
-
-     You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
-
-     3.4. Application of Additional Terms.
-
-     You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients' rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
-
-     3.5. Distribution of Executable Versions.
-
-     You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient's rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
-
-     3.6. Larger Works.
-
-     You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
-
-4. Versions of the License.
-
-     4.1. New Versions.
-
-     Oracle is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
-
-     4.2. Effect of New Versions.
-
-     You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
-
-     4.3. Modified Versions.
-
-     When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
-
-5. DISCLAIMER OF WARRANTY.
-
-     COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-6. TERMINATION.
-
-     6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
-
-     6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as "Participant") alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
-
-     6.3. If You assert a patent infringement claim against Participant alleging that the Participant Software directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
-
-     6.4. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
-     The Covered Software is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" (as that term is defined at 48 C.F.R. ? 252.227-7014(a)(1)) and "commercial computer software documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
-
-9. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction's conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
-     As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
-
-----------
-NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
-The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California.
-
-
-
-
-The GNU General Public License (GPL) Version 2, June 1991
-
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification follow.
-
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-
-   a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
-
-   b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
-
-   c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
-
-3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
-
-   a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-
-   b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-
-   c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
-
-If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
-
-This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-
-   One line to give the program's name and a brief idea of what it does.
-
-   Copyright (C)
-
-   This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
-
-   Gnomovision version 69, Copyright (C) year name of author
-   Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
-
-   Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-   signature of Ty Coon, 1 April 1989
-   Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
-
-
-"CLASSPATH" EXCEPTION TO THE GPL VERSION 2
-
-Certain source files distributed by Oracle are subject to the following clarification and special exception to the GPL Version 2, but only where Oracle has expressly included in the particular source file's header the words "Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the License file that accompanied this code."
-
-Linking this library statically or dynamically with other modules is making a combined work based on this library.  Thus, the terms and conditions of the GNU General Public License Version 2 cover the whole combination.
-
-As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module.  An independent module is a module which is not derived from or based on this library.  If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so.  If you do not wish to do so, delete this exception statement from your version.
diff --git a/enterprise/web.jsf/external/w3c-license.txt b/enterprise/web.jsf/external/w3c-license.txt
deleted file mode 100644
index 78b5539394..0000000000
--- a/enterprise/web.jsf/external/w3c-license.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-W3C Software and Document Notice and License
-
-
-
-Status: This license takes effect 13 May, 2015.
-
-
-
-This work is being provided by the copyright holders under the following license.
-
-License
-
-By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
-
-Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
-.The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
-.Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
-.Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright � [YEAR] W3C� (MIT, ERCIM, Keio, Beihang)." 
-
-Disclaimers
-
-THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
-
-COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
-
-The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders.
-
-Notes
-
-
-
-This version: http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
-
-Previous version: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
-
-This version makes clear that the license is applicable to both software and text, by changing the name and substituting "work" for instances of "software and its documentation." It moves "notice of changes or modifications to the files" to the copyright notice, to make clear that the license is compatible with other liberal licenses.
-
diff --git a/enterprise/web.jsf/licenseinfo.xml b/enterprise/web.jsf/licenseinfo.xml
new file mode 100644
index 0000000000..9c2ed73ba5
--- /dev/null
+++ b/enterprise/web.jsf/licenseinfo.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<licenseinfo>
+    <fileset>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/compositionTemplateClient.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/cssLayout.css</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/default.css</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/forward.jsp</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/htmlTemplateClient.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/index.xhtml</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/simpleFacelets.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/tableLayout.css</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-css-1.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-css-2.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-css-3.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-css-4.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-css-5.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-css-6.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-css-7.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-css-8.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-jsf2.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-jsf22.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-table-1.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-table-2.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-table-3.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-table-4.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-table-5.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-table-6.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-table-7.template</file>
+        <file>src/org/netbeans/modules/web/jsf/facelets/resources/templates/template-table-8.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/AjaxScripts.jspf</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/JsfCrudELResolver.java.txt</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/JsfUtil.java.txt</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/PagingInfo.java.txt</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/jsfcrud.css</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/jsfcrud.js</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/JSFManagedBean.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/JSP.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/JSPDoc.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/JSPDocX.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/JSPF.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/commandLink-jsf2.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/commandLink.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/compositeComponent.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/detailJsp.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/dummy.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/editJsp.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/facesComponent.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/listJsp.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/newJsp.template</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/templates/tableCommands.template</file>
+        <file>test/unit/src/org/netbeans/modules/web/jsf/refactoring/data/goldenfiles/ModificationsTest/gold-modifications.xml</file>
+        <file>test/unit/src/org/netbeans/modules/web/jsf/xdm/model/data/goldenfiles/JSFConfigModelTest/gold-application.xml</file>
+        <license ref="Apache-2.0-ASF" />
+        <comment type="TEMPLATE_MINIMAL_IP" />
+    </fileset>
+    <fileset>
+        <file>src/org/netbeans/modules/web/jsf/resources/xml.xsd</file>
+        <license ref="W3C2" />
+        <comment type="CATEGORY_B" />
+    </fileset>
+    <fileset>
+        <file>src/org/netbeans/modules/web/jsf/resources/facelet-taglib_1_0.dtd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/javaee_5.xsd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/javaee_web_services_client_1_2.xsd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/web-facelettaglibrary_2_0.xsd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/web-facelettaglibrary_2_2.xsd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_0.dtd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_1.dtd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_2.xsd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_0.xsd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_1.xsd</file>
+        <file>src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_2.xsd</file>
+        <license ref="CDDL-1.1" />
+        <comment type="CATEGORY_B" />
+    </fileset>
+</licenseinfo>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/edit.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/edit.ftl
index 699b38add3..6a765bf2f4 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/edit.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/edit.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/table.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/table.ftl
index f714eb0055..1a9dd0033d 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/table.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/table.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/view.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/view.ftl
index f70311f4e5..ad695166a9 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/view.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/resources/view.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/facelet-taglib_1_0.dtd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/facelet-taglib_1_0.dtd
new file mode 100644
index 0000000000..0252bc56c3
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/facelet-taglib_1_0.dtd
@@ -0,0 +1,74 @@
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Oracle in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+  Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+<!--
+ This file incorporates work covered by the following copyright and
+ permission notice:
+
+ Licensed 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.
+-->
+
+<!ELEMENT facelet-taglib (library-class|(namespace,(tag|function)+))>
+<!ATTLIST facelet-taglib xmlns CDATA #FIXED "http://java.sun.com/JSF/Facelet">
+<!ELEMENT namespace (#PCDATA)>
+<!ELEMENT library-class (#PCDATA)>
+<!ELEMENT tag (tag-name,(handler-class|component|converter|validator|source))>
+<!ELEMENT tag-name (#PCDATA)>
+<!ELEMENT handler-class (#PCDATA)>
+<!ELEMENT component (component-type,renderer-type?,handler-class?)>
+<!ELEMENT component-type (#PCDATA)>
+<!ELEMENT renderer-type (#PCDATA)>
+<!ELEMENT converter (converter-id, handler-class?)>
+<!ELEMENT converter-id (#PCDATA)>
+<!ELEMENT validator (validator-id, handler-class?)>
+<!ELEMENT validator-id (#PCDATA)>
+<!ELEMENT source (#PCDATA)>
+<!ELEMENT function (function-name,function-class,function-signature)>
+<!ELEMENT function-name (#PCDATA)>
+<!ELEMENT function-class (#PCDATA)>
+<!ELEMENT function-signature (#PCDATA)>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config.xml b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config.xml
index f6cd9d7ba2..15f976e0ae 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config.xml
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <!DOCTYPE faces-config PUBLIC
   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
   "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_1_2.xml b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_1_2.xml
index adfdb48bb1..70be807943 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_1_2.xml
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_1_2.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="1.2"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_0.xml b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_0.xml
index c7256a321f..2b3210e0d2 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_0.xml
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_0.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="2.0"
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_1.xml b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_1.xml
index 6d56430c2d..1033db0195 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_1.xml
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_1.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="2.1"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_2.xml b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_2.xml
index ceffa95a8c..c199776139 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_2.xml
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/faces-config_2_2.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="2.2"
     xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/forwardToJSF.jsp b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/forwardToJSF.jsp
index abef7daa61..0e2fafaf0f 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/forwardToJSF.jsp
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/forwardToJSF.jsp
@@ -1,3 +1,22 @@
+<%--
+    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.
+
+--%>
 <%@page pageEncoding="__ENCODING__"%>
 
 <%--
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/javaee_5.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/javaee_5.xsd
new file mode 100644
index 0000000000..7cf320db9f
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/javaee_5.xsd
@@ -0,0 +1,1784 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common
+ Development and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Oracle in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+ 
+ Contributor(s):
+ 
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<xsd:schema
+     targetNamespace="http://java.sun.com/xml/ns/javaee"
+     xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+     elementFormDefault="qualified"
+     attributeFormDefault="unqualified"
+     version="5">
+  <xsd:annotation>
+    <xsd:documentation>
+      @(#)javaee_5.xsds	1.54 05/08/05
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright 2003-2005 Sun Microsystems, Inc.
+      4150 Network Circle
+      Santa Clara, California 95054
+      U.S.A
+      All rights reserved.
+
+      Sun Microsystems, Inc. has intellectual property rights
+      relating to technology described in this document. In
+      particular, and without limitation, these intellectual
+      property rights may include one or more of the U.S. patents
+      listed at http://www.sun.com/patents and one or more
+      additional patents or pending patent applications in the
+      U.S. and other countries.
+
+      This document and the technology which it describes are
+      distributed under licenses restricting their use, copying,
+      distribution, and decompilation. No part of this document
+      may be reproduced in any form by any means without prior
+      written authorization of Sun and its licensors, if any.
+
+      Third-party software, including font technology, is
+      copyrighted and licensed from Sun suppliers.
+
+      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+      Cup logo are trademarks or registered trademarks of Sun
+      Microsystems, Inc. in the U.S. and other countries.
+
+      Federal Acquisitions: Commercial Software - Government Users
+      Subject to Standard License Terms and Conditions.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+<xsd:annotation>
+<xsd:documentation>
+
+The following definitions that appear in the common
+shareable schema(s) of J2EE deployment descriptors should be
+interpreted with respect to the context they are included:
+
+Deployment Component may indicate one of the following:
+    j2ee application;
+    application client;
+    web application;
+    enterprise bean;
+    resource adapter;
+
+Deployment File may indicate one of the following:
+    ear file;
+    war file;
+    jar file;
+    rar file;
+
+</xsd:documentation>
+</xsd:annotation>
+
+  <xsd:include schemaLocation="xml.xsd"/>
+
+  <xsd:include schemaLocation="javaee_web_services_client_1_2.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:group name="descriptionGroup">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This group keeps the usage of the contained description related
+	elements consistent across Java EE deployment descriptors.
+
+	All elements may occur multiple times with different languages,
+	to support localization of the content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="display-name"
+		   type="javaee:display-nameType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="icon"
+		   type="javaee:iconType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:group>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="descriptionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The description type is used by a description element to
+	provide text describing the parent element.  The elements
+	that use this type should include any information that the
+	Deployment Component's Deployment File file producer wants
+	to provide to the consumer of the Deployment Component's
+	Deployment File (i.e., to the Deployer). Typically, the
+	tools used by such a Deployment File consumer will display
+	the description when processing the parent element that
+	contains the description.
+
+	The lang attribute defines the language that the
+	description is provided in. The default value is "en" (English).
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:xsdStringType">
+	<xsd:attribute ref="xml:lang"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="dewey-versionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type defines a dewey decimal that is used
+	to describe versions of documents.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:restriction base="xsd:token">
+      <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="display-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The display-name type contains a short name that is intended
+	  to be displayed by tools. It is used by display-name
+	  elements.  The display name need not be unique.
+
+	  Example:
+
+	  ...
+	     <display-name xml:lang="en">
+	       Employee Self Service
+	     </display-name>
+
+	  The value of the xml:lang attribute is "en" (English) by default.
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:string">
+	<xsd:attribute ref="xml:lang"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-linkType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The ejb-linkType is used by ejb-link
+	  elements in the ejb-ref or ejb-local-ref elements to specify
+	  that an EJB reference is linked to enterprise bean.
+
+	  The value of the ejb-link element must be the ejb-name of an
+	  enterprise bean in the same ejb-jar file or in another ejb-jar
+	  file in the same Java EE application unit.
+
+	  Alternatively, the name in the ejb-link element may be
+	  composed of a path name specifying the ejb-jar containing the
+	  referenced enterprise bean with the ejb-name of the target
+	  bean appended and separated from the path name by "#".  The
+	  path name is relative to the Deployment File containing
+	  Deployment Component that is referencing the enterprise
+	  bean.  This allows multiple enterprise beans with the same
+	  ejb-name to be uniquely identified.
+
+	  Examples:
+
+	      <ejb-link>EmployeeRecord</ejb-link>
+
+	      <ejb-link>../products/product.jar#ProductEJB</ejb-link>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-local-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The ejb-local-refType is used by ejb-local-ref elements for
+	the declaration of a reference to an enterprise bean's local
+	home. The declaration consists of:
+
+	    - an optional description
+	    - the EJB reference name used in the code of the Deployment
+	      Component that's referencing the enterprise bean.
+	    - the optional expected type of the referenced enterprise bean
+	    - the optional expected local interface of the referenced
+              enterprise bean
+	    - the optional expected local home interface of the referenced
+              enterprise bean
+	    - optional ejb-link information, used to specify the
+	      referenced enterprise bean
+            - optional elements to define injection of the named enterprise
+              bean into a component field or property.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref-name"
+		   type="javaee:ejb-ref-nameType"/>
+      <xsd:element name="ejb-ref-type"
+		   type="javaee:ejb-ref-typeType"
+                   minOccurs="0"/>
+      <xsd:element name="local-home"
+		   type="javaee:local-homeType"
+                   minOccurs="0"/>
+      <xsd:element name="local"
+		   type="javaee:localType"
+                   minOccurs="0"/>
+      <xsd:element name="ejb-link"
+		   type="javaee:ejb-linkType"
+		   minOccurs="0"/>
+      <xsd:element name="injection-target"
+		   type="javaee:injection-targetType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-ref-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The ejb-ref-name element contains the name of an EJB
+	  reference. The EJB reference is an entry in the
+	  Deployment Component's environment and is relative to the
+	  java:comp/env context.  The name must be unique within the
+	  Deployment Component.
+
+	  It is recommended that name is prefixed with "ejb/".
+
+	  Example:
+
+	  <ejb-ref-name>ejb/Payroll</ejb-ref-name>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:jndi-nameType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-ref-typeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The ejb-ref-typeType contains the expected type of the
+	referenced enterprise bean.
+
+	The ejb-ref-type designates a value
+	that must be one of the following:
+
+	    Entity
+	    Session
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:enumeration value="Entity"/>
+	<xsd:enumeration value="Session"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ejb-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The ejb-refType is used by ejb-ref elements for the
+	declaration of a reference to an enterprise bean's home. The
+	declaration consists of:
+
+	    - an optional description
+	    - the EJB reference name used in the code of
+	      the Deployment Component that's referencing the enterprise
+	      bean.
+	    - the optional expected type of the referenced enterprise bean
+            - the optional remote interface of the referenced enterprise bean
+	    - the optional expected home interface of the referenced
+              enterprise bean
+	    - optional ejb-link information, used to specify the
+	      referenced enterprise bean
+            - optional elements to define injection of the named enterprise
+              bean into a component field or property
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref-name"
+		   type="javaee:ejb-ref-nameType"/>
+      <xsd:element name="ejb-ref-type"
+		   type="javaee:ejb-ref-typeType"
+		   minOccurs="0"/>
+      <xsd:element name="home"
+		   type="javaee:homeType"
+		   minOccurs="0"/>
+      <xsd:element name="remote"
+		   type="javaee:remoteType"
+                   minOccurs="0"/>
+      <xsd:element name="ejb-link"
+		   type="javaee:ejb-linkType"
+		   minOccurs="0"/>
+      <xsd:element name="injection-target"
+		   type="javaee:injection-targetType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="emptyType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type is used to designate an empty
+	element when used.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="env-entry-type-valuesType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  This type contains the fully-qualified Java type of the
+	  environment entry value that is expected by the
+	  application's code.
+
+	  The following are the legal values of env-entry-type-valuesType:
+
+	      java.lang.Boolean
+	      java.lang.Byte
+	      java.lang.Character
+	      java.lang.String
+	      java.lang.Short
+	      java.lang.Integer
+	      java.lang.Long
+	      java.lang.Float
+	      java.lang.Double
+
+	  Example:
+
+	  <env-entry-type>java.lang.Boolean</env-entry-type>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:enumeration value="java.lang.Boolean"/>
+	<xsd:enumeration value="java.lang.Byte"/>
+	<xsd:enumeration value="java.lang.Character"/>
+	<xsd:enumeration value="java.lang.String"/>
+	<xsd:enumeration value="java.lang.Short"/>
+	<xsd:enumeration value="java.lang.Integer"/>
+	<xsd:enumeration value="java.lang.Long"/>
+	<xsd:enumeration value="java.lang.Float"/>
+	<xsd:enumeration value="java.lang.Double"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="env-entryType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The env-entryType is used to declare an application's
+	environment entry. The declaration consists of an optional
+	description, the name of the environment entry, a type
+	(optional if the value is injected, otherwise required), and
+	an optional value.
+
+	It also includes optional elements to define injection of
+	the named resource into fields or JavaBeans properties.
+
+	If a value is not specified and injection is requested,
+	no injection will occur and no entry of the specified name
+	will be created.  This allows an initial value to be
+	specified in the source code without being incorrectly
+	changed when no override has been specified.
+
+	If a value is not specified and no injection is requested,
+	a value must be supplied during deployment.
+
+	This type is used by env-entry elements.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="env-entry-name"
+		   type="javaee:jndi-nameType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The env-entry-name element contains the name of a
+	      Deployment Component's environment entry.  The name
+	      is a JNDI name relative to the java:comp/env
+	      context.  The name must be unique within a
+	      Deployment Component. The uniqueness
+	      constraints must be defined within the declared
+	      context.
+
+	      Example:
+
+	      <env-entry-name>minAmount</env-entry-name>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="env-entry-type"
+		   type="javaee:env-entry-type-valuesType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The env-entry-type element contains the Java language
+	      type of the environment entry.  If an injection target
+	      is specified for the environment entry, the type may
+	      be omitted, or must match the type of the injection
+	      target.  If no injection target is specified, the type
+	      is required.
+
+	      Example:
+
+	      <env-entry-type>java.lang.Integer</env-entry-type>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="env-entry-value"
+		   type="javaee:xsdStringType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The env-entry-value designates the value of a
+	      Deployment Component's environment entry. The value
+	      must be a String that is valid for the
+	      constructor of the specified type that takes a
+	      single String parameter, or for java.lang.Character,
+	      a single character.
+
+	      Example:
+
+	      <env-entry-value>100.00</env-entry-value>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="injection-target"
+		   type="javaee:injection-targetType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="fully-qualified-classType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The elements that use this type designate the name of a
+	Java class or interface.  The name is in the form of a
+	"binary name", as defined in the JLS.  This is the form
+	of name used in Class.forName().  Tools that need the
+	canonical name (the name used in source code) will need
+	to convert this binary name to the canonical name.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="generic-booleanType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type defines four different values which can designate
+	boolean values. This includes values yes and no which are
+	not designated by xsd:boolean
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:enumeration value="true"/>
+	<xsd:enumeration value="false"/>
+	<xsd:enumeration value="yes"/>
+	<xsd:enumeration value="no"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="homeType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The homeType defines the fully-qualified name of
+	  an enterprise bean's home interface.
+
+	  Example:
+
+	      <home>com.aardvark.payroll.PayrollHome</home>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="iconType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The icon type contains small-icon and large-icon elements
+	that specify the file names for small and large GIF, JPEG,
+	or PNG icon images used to represent the parent element in a
+	GUI tool.
+
+	The xml:lang attribute defines the language that the
+	icon file names are provided in. Its value is "en" (English)
+	by default.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="small-icon" type="javaee:pathType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The small-icon element contains the name of a file
+	      containing a small (16 x 16) icon image. The file
+	      name is a relative path within the Deployment
+	      Component's Deployment File.
+
+	      The image may be in the GIF, JPEG, or PNG format.
+	      The icon can be used by tools.
+
+	      Example:
+
+	      <small-icon>employee-service-icon16x16.jpg</small-icon>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="large-icon" type="javaee:pathType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The large-icon element contains the name of a file
+	      containing a large
+	      (32 x 32) icon image. The file name is a relative
+	      path within the Deployment Component's Deployment
+	      File.
+
+	      The image may be in the GIF, JPEG, or PNG format.
+	      The icon can be used by tools.
+
+	      Example:
+
+	      <large-icon>employee-service-icon32x32.jpg</large-icon>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+    </xsd:sequence>
+
+    <xsd:attribute ref="xml:lang"/>
+    <xsd:attribute name="id" type="xsd:ID"/>
+
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="injection-targetType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	An injection target specifies a class and a name within
+	that class into which a resource should be injected.
+
+	The injection target class specifies the fully qualified
+	class name that is the target of the injection.  The
+	Java EE specifications describe which classes can be an
+	injection target.
+
+	The injection target name specifies the target within
+	the specified class.  The target is first looked for as a
+	JavaBeans property name.  If not found, the target is
+	looked for as a field name.
+
+	The specified resource will be injected into the target
+	during initialization of the class by either calling the
+	set method for the target property or by setting a value
+	into the named field.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="injection-target-class"
+		   type="javaee:fully-qualified-classType"/>
+      <xsd:element name="injection-target-name"
+		   type="javaee:java-identifierType"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="java-identifierType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The java-identifierType defines a Java identifier.
+	The users of this type should further verify that
+	the content does not contain Java reserved keywords.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="java-typeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This is a generic type that designates a Java primitive
+	type or a fully qualified name of a Java interface/type,
+	or an array of such types.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:pattern value="[^\p{Z}]*"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="jndi-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The jndi-nameType type designates a JNDI name in the
+	Deployment Component's environment and is relative to the
+	java:comp/env context.  A JNDI name must be unique within the
+	Deployment Component.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:group name="jndiEnvironmentRefsGroup">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This group keeps the usage of the contained JNDI environment
+	reference elements consistent across Java EE deployment descriptors.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="env-entry"
+		   type="javaee:env-entryType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref"
+		   type="javaee:ejb-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-local-ref"
+		   type="javaee:ejb-local-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:group ref="javaee:service-refGroup"/>
+      <xsd:element name="resource-ref"
+		   type="javaee:resource-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="resource-env-ref"
+		   type="javaee:resource-env-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="message-destination-ref"
+		   type="javaee:message-destination-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:group>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="listenerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The listenerType indicates the deployment properties for a web
+	application listener bean.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="listener-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The listener-class element declares a class in the
+	    application must be registered as a web
+	    application listener bean. The value is the fully
+	    qualified classname of the listener class.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="local-homeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The local-homeType defines the fully-qualified
+	name of an enterprise bean's local home interface.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="localType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The localType defines the fully-qualified name of an
+	enterprise bean's local interface.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destination-linkType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The message-destination-linkType is used to link a message
+	destination reference or message-driven bean to a message
+	destination.
+
+	The Assembler sets the value to reflect the flow of messages
+	between producers and consumers in the application.
+
+	The value must be the message-destination-name of a message
+	destination in the same Deployment File or in another
+	Deployment File in the same Java EE application unit.
+
+	Alternatively, the value may be composed of a path name
+	specifying a Deployment File containing the referenced
+	message destination with the message-destination-name of the
+	destination appended and separated from the path name by
+	"#". The path name is relative to the Deployment File
+	containing Deployment Component that is referencing the
+	message destination.  This allows multiple message
+	destinations with the same name to be uniquely identified.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destination-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The message-destination-ref element contains a declaration
+	  of Deployment Component's reference to a message destination
+	  associated with a resource in Deployment Component's
+	  environment. It consists of:
+
+		  - an optional description
+		  - the message destination reference name
+		  - an optional message destination type
+		  - an optional specification as to whether
+		    the destination is used for
+		    consuming or producing messages, or both.
+		    if not specified, "both" is assumed.
+		  - an optional link to the message destination
+		  - optional injection targets
+
+	  The message destination type must be supplied unless an
+	  injection target is specified, in which case the type
+	  of the target is used.  If both are specified, the type
+	  must be assignment compatible with the type of the injection
+	  target.
+
+	  Examples:
+
+	  <message-destination-ref>
+		  <message-destination-ref-name>jms/StockQueue
+		  </message-destination-ref-name>
+		  <message-destination-type>javax.jms.Queue
+		  </message-destination-type>
+		  <message-destination-usage>Consumes
+		  </message-destination-usage>
+		  <message-destination-link>CorporateStocks
+		  </message-destination-link>
+	  </message-destination-ref>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="message-destination-ref-name"
+		   type="javaee:jndi-nameType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The message-destination-ref-name element specifies
+	    the name of a message destination reference; its
+	    value is the environment entry name used in
+	    Deployment Component code.  The name is a JNDI name
+	    relative to the java:comp/env context and must be
+	    unique within an ejb-jar (for enterprise beans) or a
+	    Deployment File (for others).
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="message-destination-type"
+		   type="javaee:message-destination-typeType"
+		   minOccurs="0"/>
+      <xsd:element name="message-destination-usage"
+		   type="javaee:message-destination-usageType"
+		   minOccurs="0"/>
+      <xsd:element name="message-destination-link"
+		   type="javaee:message-destination-linkType"
+		   minOccurs="0"/>
+      <xsd:element name="injection-target"
+		   type="javaee:injection-targetType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destination-typeType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The message-destination-typeType specifies the type of
+	  the destination. The type is specified by the Java interface
+	  expected to be implemented by the destination.
+
+	  Example:
+
+	    <message-destination-type>javax.jms.Queue
+	    </message-destination-type>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destination-usageType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The message-destination-usageType specifies the use of the
+	message destination indicated by the reference.  The value
+	indicates whether messages are consumed from the message
+	destination, produced for the destination, or both.  The
+	Assembler makes use of this information in linking producers
+	of a destination with its consumers.
+
+	The value of the message-destination-usage element must be
+	one of the following:
+	    Consumes
+	    Produces
+	    ConsumesProduces
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:enumeration value="Consumes"/>
+	<xsd:enumeration value="Produces"/>
+	<xsd:enumeration value="ConsumesProduces"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="message-destinationType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The message-destinationType specifies a message
+	  destination. The logical destination described by this
+	  element is mapped to a physical destination by the Deployer.
+
+	  The message destination element contains:
+
+		  - an optional description
+		  - an optional display-name
+		  - an optional icon
+		  - a message destination name which must be unique
+		    among message destination names within the same
+		    Deployment File.
+
+	  Example:
+
+	  <message-destination>
+		  <message-destination-name>CorporateStocks
+		  </message-destination-name>
+	  </message-destination>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="message-destination-name"
+		   type="javaee:string">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The message-destination-name element specifies a
+	    name for a message destination.  This name must be
+	    unique among the names of message destinations
+	    within the Deployment File.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="param-valueType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type is a general type that can be used to declare
+	parameter/value lists.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="param-name"
+		   type="javaee:string">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The param-name element contains the name of a
+	    parameter.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="param-value"
+		   type="javaee:xsdStringType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The param-value element contains the value of a
+	    parameter.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="pathType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The elements that use this type designate either a relative
+	path or an absolute path starting with a "/".
+
+	In elements that specify a pathname to a file within the
+	same Deployment File, relative filenames (i.e., those not
+	starting with "/") are considered relative to the root of
+	the Deployment File's namespace.  Absolute filenames (i.e.,
+	those starting with "/") also specify names in the root of
+	the Deployment File's namespace.  In general, relative names
+	are preferred.  The exception is .war files where absolute
+	names are preferred for consistency with the Servlet API.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="remoteType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The remote element contains the fully-qualified name
+	  of the enterprise bean's remote interface.
+
+	  Example:
+
+	      <remote>com.wombat.empl.EmployeeService</remote>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="res-authType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The res-authType specifies whether the Deployment Component
+	code signs on programmatically to the resource manager, or
+	whether the Container will sign on to the resource manager
+	on behalf of the Deployment Component. In the latter case,
+	the Container uses information that is supplied by the
+	Deployer.
+
+	The value must be one of the two following:
+
+	    Application
+	    Container
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:enumeration value="Application"/>
+	<xsd:enumeration value="Container"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="res-sharing-scopeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The res-sharing-scope type specifies whether connections
+	obtained through the given resource manager connection
+	factory reference can be shared. The value, if specified,
+	must be one of the two following:
+
+	    Shareable
+	    Unshareable
+
+	The default value is Shareable.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:enumeration value="Shareable"/>
+	<xsd:enumeration value="Unshareable"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="resource-env-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The resource-env-refType is used to define
+	  resource-env-type elements.  It contains a declaration of a
+	  Deployment Component's reference to an administered object
+	  associated with a resource in the Deployment Component's
+	  environment.  It consists of an optional description, the
+	  resource environment reference name, and an optional
+	  indication of the resource environment reference type
+	  expected by the Deployment Component code.
+
+	  It also includes optional elements to define injection of
+	  the named resource into fields or JavaBeans properties.
+
+	  The resource environment type must be supplied unless an
+	  injection target is specified, in which case the type
+	  of the target is used.  If both are specified, the type
+	  must be assignment compatible with the type of the injection
+	  target.
+
+	  Example:
+
+	  <resource-env-ref>
+	      <resource-env-ref-name>jms/StockQueue
+	      </resource-env-ref-name>
+	      <resource-env-ref-type>javax.jms.Queue
+	      </resource-env-ref-type>
+	  </resource-env-ref>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="resource-env-ref-name"
+		   type="javaee:jndi-nameType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The resource-env-ref-name element specifies the name
+	    of a resource environment reference; its value is
+	    the environment entry name used in
+	    the Deployment Component code.  The name is a JNDI
+	    name relative to the java:comp/env context and must
+	    be unique within a Deployment Component.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="resource-env-ref-type"
+		   type="javaee:fully-qualified-classType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The resource-env-ref-type element specifies the type
+	    of a resource environment reference.  It is the
+	    fully qualified name of a Java language class or
+	    interface.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="injection-target"
+		   type="javaee:injection-targetType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="resource-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The resource-refType contains a declaration of a
+	  Deployment Component's reference to an external resource. It
+	  consists of an optional description, the resource manager
+	  connection factory reference name, an optional indication of
+	  the resource manager connection factory type expected by the
+	  Deployment Component code, an optional type of authentication
+	  (Application or Container), and an optional specification of
+	  the shareability of connections obtained from the resource
+	  (Shareable or Unshareable).
+
+	  It also includes optional elements to define injection of
+	  the named resource into fields or JavaBeans properties.
+
+	  The connection factory type must be supplied unless an
+	  injection target is specified, in which case the type
+	  of the target is used.  If both are specified, the type
+	  must be assignment compatible with the type of the injection
+	  target.
+
+	  Example:
+
+	  <resource-ref>
+	      <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
+	      <res-type>javax.sql.DataSource</res-type>
+	      <res-auth>Container</res-auth>
+	      <res-sharing-scope>Shareable</res-sharing-scope>
+	  </resource-ref>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="res-ref-name"
+		   type="javaee:jndi-nameType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The res-ref-name element specifies the name of a
+	    resource manager connection factory reference.
+	    The name is a JNDI name relative to the
+	    java:comp/env context.
+	    The name must be unique within a Deployment File.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="res-type"
+		   type="javaee:fully-qualified-classType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The res-type element specifies the type of the data
+	    source. The type is specified by the fully qualified
+	    Java language class or interface
+	    expected to be implemented by the data source.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="res-auth"
+		   type="javaee:res-authType"
+		   minOccurs="0"/>
+
+      <xsd:element name="res-sharing-scope"
+		   type="javaee:res-sharing-scopeType"
+		   minOccurs="0"/>
+
+      <xsd:element name="injection-target"
+		   type="javaee:injection-targetType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="role-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The role-nameType designates the name of a security role.
+
+	The name must conform to the lexical rules for a token.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="run-asType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The run-asType specifies the run-as identity to be
+	used for the execution of a component. It contains an
+	optional description, and the name of a security role.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="role-name"
+		   type="javaee:role-nameType"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="security-role-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The security-role-refType contains the declaration of a
+	security role reference in a component's or a
+	Deployment Component's code. The declaration consists of an
+	optional description, the security role name used in the
+	code, and an optional link to a security role. If the
+	security role is not specified, the Deployer must choose an
+	appropriate security role.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="role-name"
+		   type="javaee:role-nameType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The value of the role-name element must be the String used
+	    as the parameter to the
+	    EJBContext.isCallerInRole(String roleName) method or the
+	    HttpServletRequest.isUserInRole(String role) method.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="role-link"
+		   type="javaee:role-nameType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The role-link element is a reference to a defined
+	    security role. The role-link element must contain
+	    the name of one of the security roles defined in the
+	    security-role elements.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="security-roleType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The security-roleType contains the definition of a security
+	  role. The definition consists of an optional description of
+	  the security role, and the security role name.
+
+	  Example:
+
+	      <security-role>
+	      <description>
+		  This role includes all employees who are authorized
+		  to access the employee service application.
+	      </description>
+	      <role-name>employee</role-name>
+	      </security-role>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="role-name"
+		   type="javaee:role-nameType"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="string">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This is a special string datatype that is defined by Java EE as
+	a base type for defining collapsed strings. When schemas
+	require trailing/leading space elimination as well as
+	collapsing the existing whitespace, this base type may be
+	used.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:token">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="true-falseType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This simple type designates a boolean with only two
+	permissible values
+
+	- true
+	- false
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:xsdBooleanType">
+	<xsd:pattern value="(true|false)"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="url-patternType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The url-patternType contains the url pattern of the mapping.
+	It must follow the rules specified in Section 11.2 of the
+	Servlet API Specification. This pattern is assumed to be in
+	URL-decoded form and must not contain CR(#xD) or LF(#xA).
+	If it contains those characters, the container must inform
+	the developer with a descriptive error message.
+	The container must preserve all characters including whitespaces.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdAnyURIType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type adds an "id" attribute to xsd:anyURI.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:anyURI">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdBooleanType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type adds an "id" attribute to xsd:boolean.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:boolean">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdIntegerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type adds an "id" attribute to xsd:integer.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:integer">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdNMTOKENType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type adds an "id" attribute to xsd:NMTOKEN.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:NMTOKEN">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdNonNegativeIntegerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type adds an "id" attribute to xsd:nonNegativeInteger.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:nonNegativeInteger">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdPositiveIntegerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type adds an "id" attribute to xsd:positiveInteger.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:positiveInteger">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdQNameType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type adds an "id" attribute to xsd:QName.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:QName">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="xsdStringType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	This type adds an "id" attribute to xsd:string.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string">
+	<xsd:attribute name="id" type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+</xsd:schema>
+
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/javaee_web_services_client_1_2.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/javaee_web_services_client_1_2.xsd
new file mode 100644
index 0000000000..4e8d29504c
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/javaee_web_services_client_1_2.xsd
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common
+ Development and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Oracle in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+ 
+ Contributor(s):
+ 
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+	    targetNamespace="http://java.sun.com/xml/ns/javaee"
+	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	    elementFormDefault="qualified"
+	    attributeFormDefault="unqualified"
+	    version="1.2">
+  <xsd:annotation>
+    <xsd:documentation>
+      @(#)javaee_web_services_client_1_2.xsds	1.11 08/05/05
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright 2003-2005 Sun Microsystems, Inc.
+      4150 Network Circle
+      Santa Clara, California 95054
+      U.S.A
+      All rights reserved.
+
+      Sun Microsystems, Inc. has intellectual property rights
+      relating to technology described in this document. In
+      particular, and without limitation, these intellectual
+      property rights may include one or more of the U.S. patents
+      listed at http://www.sun.com/patents and one or more
+      additional patents or pending patent applications in the
+      U.S. and other countries.
+
+      This document and the technology which it describes are
+      distributed under licenses restricting their use, copying,
+      distribution, and decompilation. No part of this document
+      may be reproduced in any form by any means without prior
+      written authorization of Sun and its licensors, if any.
+
+      Third-party software, including font technology, is
+      copyrighted and licensed from Sun suppliers.
+
+      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+      Cup logo are trademarks or registered trademarks of Sun
+      Microsystems, Inc. in the U.S. and other countries.
+
+      Federal Acquisitions: Commercial Software - Government Users
+      Subject to Standard License Terms and Conditions.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      (C) Copyright International Business Machines Corporation 2002
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="port-component-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The port-component-ref element declares a client dependency
+	on the container for resolving a Service Endpoint Interface
+	to a WSDL port. It optionally associates the Service Endpoint
+	Interface with a particular port-component. This is only used
+	by the container for a Service.getPort(Class) method call.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="service-endpoint-interface"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-endpoint-interface element defines a fully qualified
+	    Java class that represents the Service Endpoint Interface of a
+	    WSDL port.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="port-component-link"
+		   type="javaee:string"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The port-component-link element links a port-component-ref
+	    to a specific port-component required to be made available
+	    by a service reference.
+
+	    The value of a port-component-link must be the
+	    port-component-name of a port-component in the same module
+	    or another module in the same application unit. The syntax
+	    for specification follows the syntax defined for ejb-link
+	    in the EJB 2.0 specification.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:group name="service-refGroup">
+    <xsd:sequence>
+      <xsd:element name="service-ref"
+		   type="javaee:service-refType"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:key name="service-ref_handler-name-key">
+	  <xsd:annotation>
+	    <xsd:documentation>
+
+	      Defines the name of the handler. The name must be unique
+	      within the module.
+
+	    </xsd:documentation>
+	  </xsd:annotation>
+	  <xsd:selector xpath="javaee:handler"/>
+	  <xsd:field xpath="javaee:handler-name"/>
+	</xsd:key>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:group>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="service-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The service-ref element declares a reference to a Web
+	service. It contains optional description, display name and
+	icons, a declaration of the required Service interface,
+	an optional WSDL document location, an optional set
+	of JAX-RPC mappings, an optional QName for the service element,
+	an optional set of Service Endpoint Interfaces to be resolved
+	by the container to a WSDL port, and an optional set of handlers.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="service-ref-name"
+		   type="javaee:jndi-nameType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-ref-name element declares logical name that the
+	    components in the module use to look up the Web service. It
+	    is recommended that all service reference names start with
+	    "service/".
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="service-interface"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-interface element declares the fully qualified class
+	    name of the JAX-RPC Service interface the client depends on.
+	    In most cases the value will be javax.xml.rpc.Service.  A JAX-RPC
+	    generated Service Interface class may also be specified.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="wsdl-file"
+		   type="javaee:xsdAnyURIType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The wsdl-file element contains the URI location of a WSDL
+	    file. The location is relative to the root of the module.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="jaxrpc-mapping-file"
+		   type="javaee:pathType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The jaxrpc-mapping-file element contains the name of a file that
+	    describes the JAX-RPC mapping between the Java interaces used by
+	    the application and the WSDL description in the wsdl-file.  The
+	    file name is a relative path within the module file.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="service-qname"
+		   type="javaee:xsdQNameType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-qname element declares the specific WSDL service
+	    element that is being refered to.  It is not specified if no
+	    wsdl-file is declared.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="port-component-ref"
+		   type="javaee:port-component-refType"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The port-component-ref element declares a client dependency
+	    on the container for resolving a Service Endpoint Interface
+	    to a WSDL port. It optionally associates the Service Endpoint
+	    Interface with a particular port-component. This is only used
+	    by the container for a Service.getPort(Class) method call.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="handler"
+		   type="javaee:service-ref_handlerType"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Declares the handler for a port-component. Handlers can
+	    access the init-param name/value pairs using the
+	    HandlerInfo interface. If port-name is not specified, the
+	    handler is assumed to be associated with all ports of the
+	    service.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="service-ref_handlerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	Declares the handler for a port-component. Handlers can access the
+	init-param name/value pairs using the HandlerInfo interface. If
+	port-name is not specified, the handler is assumed to be associated
+	with all ports of the service.
+
+	Used in: service-ref
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="handler-name"
+		   type="javaee:string">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines the name of the handler. The name must be unique
+	    within the module.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="handler-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines a fully qualified class name for the handler
+	    implementation.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="init-param"
+		   type="javaee:param-valueType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+
+      <xsd:element name="soap-header"
+		   type="javaee:xsdQNameType"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines the QName of a SOAP header that will be processed
+	    by the handler.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="soap-role"
+		   type="javaee:string"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The soap-role element contains a SOAP actor definition that
+	    the Handler will play as a role.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="port-name"
+		   type="javaee:string"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The port-name element defines the WSDL port-name that a
+	    handler should be associated with.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+</xsd:schema>
+
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/JsfUtil.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/JsfUtil.ftl
index 9d6f7df39b..cd238ee006 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/JsfUtil.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/JsfUtil.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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.
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
-
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
-
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
@@ -112,4 +92,4 @@ public class JsfUtil {
         return converter.getAsObject(FacesContext.getCurrentInstance(), component, theId);
     }
     
-}
\ No newline at end of file
+}
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/PaginationHelper.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/PaginationHelper.ftl
index 9eac223b2c..e2aca390ab 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/PaginationHelper.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/PaginationHelper.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
-
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
-
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
+    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.
+
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/bundle.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/bundle.ftl
index a264404e8c..00f504699f 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/bundle.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/bundle.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/controller.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/controller.ftl
index 17d626e5fa..36ac7278ad 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/controller.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/controller.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
-
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
-
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
+    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.
+
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/create.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/create.ftl
index b6a040a697..a77eea59b5 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/create.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/create.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/crudtemplate.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/crudtemplate.ftl
index 092fcf9b43..8f9cd7931b 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/crudtemplate.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/crudtemplate.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/edit.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/edit.ftl
index db1ffd219f..5441e70a18 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/edit.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/edit.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/list.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/list.ftl
index bd0b53078e..e44d138299 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/list.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/list.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/view.ftl b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/view.ftl
index 3df125b82b..0df2fffded 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/view.ftl
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/view.ftl
@@ -1,41 +1,21 @@
 <#--
-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+    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
 
-Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
+      http://www.apache.org/licenses/LICENSE-2.0
 
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
+    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.
 
-The contents of this file are subject to the terms of either the GNU
-General Public License Version 2 only ("GPL") or the Common
-Development and Distribution License("CDDL") (collectively, the
-"License"). You may not use this file except in compliance with the
-License. You can obtain a copy of the License at
-http://www.netbeans.org/cddl-gplv2.html
-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
-specific language governing permissions and limitations under the
-License.  When distributing the software, include this License Header
-Notice in each file and include the License file at
-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the GPL Version 2 section of the License file that
-accompanied this code. If applicable, add the following below the
-License Header, with the fields enclosed by brackets [] replaced by
-your own identifying information:
-"Portions Copyrighted [year] [name of copyright owner]"
-
-If you wish your version of this file to be governed by only the CDDL
-or only the GPL Version 2, indicate your decision by adding
-"[Contributor] elects to include this software in this distribution
-under the [CDDL or GPL Version 2] license." If you do not indicate a
-single choice of license, a recipient has the option to distribute
-your version of this file under either the CDDL, the GPL Version 2 or
-to extend the choice of license to its licensees as provided above.
-However, if you add GPL Version 2 code and therefore, elected the GPL
-Version 2 license, then the option applies only if the new code is
-made subject to such option by the copyright holder.
-
-Contributor(s):
 -->
 <#if comment>
 
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facelettaglibrary_2_0.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facelettaglibrary_2_0.xsd
new file mode 100644
index 0000000000..303f0a312d
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facelettaglibrary_2_0.xsd
@@ -0,0 +1,515 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+
+<xsd:schema
+      targetNamespace="http://java.sun.com/xml/ns/javaee"
+      xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+      xmlns:xml="http://www.w3.org/XML/1998/namespace"
+      elementFormDefault="qualified"
+      attributeFormDefault="unqualified"
+      version="2.0">
+    <xsd:include schemaLocation="javaee_5.xsd"/>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+      Copyright 2003-2010 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+      The contents of this file are subject to the terms of either the
+      GNU General Public License Version 2 only ("GPL") or the Common
+      Development and Distribution License("CDDL") (collectively, the
+      "License").  You may not use this file except in compliance with
+      the License. You can obtain a copy of the License at
+      https://glassfish.dev.java.net/public/CDDL+GPL.html or
+      glassfish/bootstrap/legal/LICENSE.txt.  See the License for the
+      specific language governing permissions and limitations under the
+      License.
+
+      When distributing the software, include this License Header
+      Notice in each file and include the License file at
+      glassfish/bootstrap/legal/LICENSE.txt.  Sun designates this
+      particular file as subject to the "Classpath" exception as
+      provided by Oracle in the GPL Version 2 section of the License file
+      that accompanied this code.  If applicable, add the following
+      below the License Header, with the fields enclosed by brackets []
+      replaced by your own identifying information:
+      "Portions Copyrighted [year] [name of copyright owner]"
+
+      Contributor(s):
+
+      If you wish your version of this file to be governed by only the
+      CDDL or only the GPL Version 2, indicate your decision by adding
+      "[Contributor] elects to include this software in this
+      distribution under the [CDDL or GPL Version 2] license."  If you
+      don't indicate a single choice of license, a recipient has the
+      option to distribute your version of this file under either the
+      CDDL, the GPL Version 2 or to extend the choice of license to its
+      licensees as provided above.  However, if you add GPL Version 2
+      code and therefore, elected the GPL Version 2 license, then the
+      option applies only if the new code is made subject to such
+      option by the copyright holder.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+<xsd:annotation>
+        <xsd:documentation>
+
+            <![CDATA[
+
+            The XML Schema for the Tag Libraries in the JavaServer Faces
+            Standard Facelets View Declaration Language (Facelets VDL)
+            (Version 2.0).
+
+            JSF 2.0 Facelet Tag Libraries that wish to conform to this
+            schema must declare it in the following manner.
+
+            <facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
+              version="2.0">
+
+            ...
+
+            </facelet-taglib>
+
+            The instance documents may indicate the published
+            version of the schema using xsi:schemaLocation attribute
+            for javaee namespace with the following location:
+
+            http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd
+
+            ]]>
+
+        </xsd:documentation>
+    </xsd:annotation>
+
+
+
+    <xsd:element name="facelet-taglib" type="javaee:facelet-taglibType">
+        <xsd:unique name="facelet-taglib-tagname-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    tag-names must be unique within a document.
+                </xsd:documentation>
+            </xsd:annotation>
+            <xsd:selector xpath="javaee:tag"/>
+            <xsd:field xpath="javaee:tag-name"/>
+        </xsd:unique>
+        <xsd:unique name="faces-config-behavior-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Behavior IDs must be unique within a document.
+                </xsd:documentation>
+            </xsd:annotation>
+            <xsd:selector xpath="javaee:behavior"/>
+            <xsd:field xpath="javaee:behavior-id"/>
+        </xsd:unique>
+        <xsd:unique name="faces-config-converter-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Converter IDs must be unique within a document.
+                </xsd:documentation>
+            </xsd:annotation>
+            <xsd:selector xpath="javaee:converter"/>
+            <xsd:field xpath="javaee:converter-id"/>
+        </xsd:unique>
+        <xsd:unique name="faces-config-validator-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Validator IDs must be unique within a document.
+                </xsd:documentation>
+            </xsd:annotation>
+            <xsd:selector xpath="javaee:validator"/>
+            <xsd:field xpath="javaee:validator-id"/>
+        </xsd:unique>
+    </xsd:element>
+    <xsd:complexType name="facelet-taglibType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The top level XML element in a facelet tag library XML file.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:choice>
+                <xsd:element name="library-class"
+                             type="javaee:fully-qualified-classType"/>
+                <xsd:sequence>
+                    <xsd:element name="namespace" type="javaee:string"/>
+                    <xsd:element minOccurs="0" maxOccurs="1"
+                                 name="composite-library-name"
+                                 type="javaee:fully-qualified-classType"/>
+                    <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                        <xsd:element name="tag"
+                                     type="javaee:facelet-taglib-tagType"/>
+                        <xsd:element name="function"
+                                     type="javaee:facelet-taglib-functionType"/>
+
+                    </xsd:choice>
+                </xsd:sequence>
+            </xsd:choice>
+            <xsd:element name="taglib-extension"
+                         type="javaee:facelet-taglib-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+        <xsd:attribute name="version"
+                       type="javaee:facelet-taglib-versionType"
+                       use="required"/>
+    </xsd:complexType>
+    <xsd:complexType name="facelet-taglib-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Extension element for facelet-taglib. It may contain
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="facelet-taglib-tagType">
+        <xsd:annotation>
+            <xsd:documentation>
+                If the tag library XML file contains individual tag
+                declarations rather than pointing to a library-class or a
+                declaring a composite-library name, the individual tags are
+                enclosed in tag elements.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="tag-name"
+                         type="javaee:facelet-taglib-canonical-nameType"/>
+            <xsd:choice>
+                <xsd:element name="handler-class"
+                             type="javaee:fully-qualified-classType"/>
+                <xsd:element name="behavior"
+                             type="javaee:facelet-taglib-tag-behaviorType"/>
+                <xsd:element name="component"
+                             type="javaee:facelet-taglib-tag-componentType"/>
+                <xsd:element name="converter"
+                             type="javaee:facelet-taglib-tag-converterType"/>
+                <xsd:element name="validator"
+                             type="javaee:facelet-taglib-tag-validatorType"/>
+                <xsd:element name="source" type="javaee:string"/>
+            </xsd:choice>
+            <xsd:element name="attribute"
+                         type="javaee:facelet-taglib-tag-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="tag-extension"
+                         type="javaee:facelet-taglib-tag-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="facelet-taglib-tag-attributeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The attribute element defines an attribute for the nesting
+                tag. The attribute element may have several subelements
+                defining:
+
+                description a description of the attribute
+
+                name the name of the attribute
+
+                required whether the attribute is required or
+                optional
+
+                type the type of the attribute
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="name"
+                         type="javaee:xsdNMTOKENType"/>
+            <xsd:element name="required"
+                         type="javaee:generic-booleanType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        Defines if the nesting attribute is required or
+                        optional.
+
+                        If not present then the default is "false", i.e
+                        the attribute is optional.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="type"
+                             type="javaee:fully-qualified-classType"
+                             minOccurs="0">
+                    <xsd:annotation>
+                        <xsd:documentation>
+
+                            Defines the Java type of the attributes
+                            value. If this element is omitted, the
+                            expected type is assumed to be
+                            "java.lang.Object".
+
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="method-signature"
+                             type="javaee:string"
+                             minOccurs="0">
+                    <xsd:annotation>
+                        <xsd:documentation>
+
+                            Defines the method signature for a MethodExpression-
+                            enabled attribute.
+
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <xsd:complexType name="facelet-taglib-tag-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Extension element for tag It may contain
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="facelet-taglib-functionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                If the tag library XML file contains individual function
+                declarations rather than pointing to a library-class or a
+                declaring a composite-library name, the individual functions are
+                enclosed in function elements.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="function-name" type="javaee:string"/>
+            <xsd:element name="function-class"
+                         type="javaee:fully-qualified-classType"/>
+            <xsd:element name="function-signature" type="javaee:string"/>
+        </xsd:sequence>
+    </xsd:complexType>
+    <xsd:complexType name="facelet-taglib-tag-behaviorType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Within a tag element, the behavior element encapsulates
+                information specific to a JSF Behavior.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element minOccurs="1" maxOccurs="1"
+                         name="behavior-id" type="javaee:string"/>
+            <xsd:element minOccurs="0" maxOccurs="1"
+                         name="handler-class"
+                         type="javaee:fully-qualified-classType"/>
+            <xsd:element name="behavior-extension"
+                         type="javaee:facelet-taglib-tag-behavior-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+    <xsd:complexType name="facelet-taglib-tag-behavior-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Extension element for behavior. It may contain
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+    <xsd:complexType name="facelet-taglib-tag-componentType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Within a tag element, the component element encapsulates
+                information specific to a JSF UIComponent.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="component-type" type="javaee:string"/>
+            <xsd:element minOccurs="0" maxOccurs="1"
+                         name="renderer-type" type="javaee:string"/>
+            <xsd:element minOccurs="0" maxOccurs="1"
+                         name="handler-class"
+                         type="javaee:fully-qualified-classType"/>
+            <xsd:element name="component-extension"
+                         type="javaee:facelet-taglib-tag-component-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+
+        </xsd:sequence>
+    </xsd:complexType>
+    <xsd:complexType name="facelet-taglib-tag-component-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Extension element for component It may contain
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="facelet-taglib-tag-converterType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Within a tag element, the converter element encapsulates
+                information specific to a JSF Converter.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element minOccurs="1" maxOccurs="1"
+                         name="converter-id" type="javaee:string"/>
+            <xsd:element minOccurs="0" maxOccurs="1"
+                         name="handler-class"
+                         type="javaee:fully-qualified-classType"/>
+            <xsd:element name="converter-extension"
+                         type="javaee:facelet-taglib-tag-converter-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+    <xsd:complexType name="facelet-taglib-tag-converter-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Extension element for converter It may contain
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="facelet-taglib-tag-validatorType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Within a tag element, the validator element encapsulates
+                information specific to a JSF Validator.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element minOccurs="1" maxOccurs="1"
+                         name="validator-id" type="javaee:string"/>
+            <xsd:element minOccurs="0" maxOccurs="1"
+                         name="handler-class"
+                         type="javaee:fully-qualified-classType"/>
+            <xsd:element name="validator-extension"
+                         type="javaee:facelet-taglib-tag-validator-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+    <xsd:complexType name="facelet-taglib-tag-validator-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Extension element for validator It may contain
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+    <xsd:simpleType name="facelet-taglib-versionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                This type contains the recognized versions of
+                facelet-taglib supported.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:token">
+            <xsd:enumeration value="2.0"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <xsd:complexType name="facelet-taglib-canonical-nameType">
+
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Defines the canonical name of a tag or attribute being
+                defined.
+
+                The name must conform to the lexical rules for an NCName
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:simpleContent>
+            <xsd:extension base="xsd:NCName">
+                <xsd:attribute name="id" type="xsd:ID"/>
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+</xsd:schema>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facelettaglibrary_2_2.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facelettaglibrary_2_2.xsd
new file mode 100644
index 0000000000..713d197541
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facelettaglibrary_2_2.xsd
@@ -0,0 +1,681 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+
+      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+      
+      Copyright (c) 2011 - 2012 Oracle and/or its affiliates. All rights reserved.
+      
+      The contents of this file are subject to the terms of either the GNU
+      General Public License Version 2 only ("GPL") or the Common Development
+      and Distribution License("CDDL") (collectively, the "License").  You
+      may not use this file except in compliance with the License.  You can
+      obtain a copy of the License at
+      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+      or packager/legal/LICENSE.txt.  See the License for the specific
+      language governing permissions and limitations under the License.
+      
+      When distributing the software, include this License Header Notice in each
+      file and include the License file at packager/legal/LICENSE.txt.
+      
+      GPL Classpath Exception:
+      Oracle designates this particular file as subject to the "Classpath"
+      exception as provided by Oracle in the GPL Version 2 section of the License
+      file that accompanied this code.
+      
+      Modifications:
+      If applicable, add the following below the License Header, with the fields
+      enclosed by brackets [] replaced by your own identifying information:
+      "Portions Copyright [year] [name of copyright owner]"
+      
+      Contributor(s):
+      If you wish your version of this file to be governed by only the CDDL or
+      only the GPL Version 2, indicate your decision by adding "[Contributor]
+      elects to include this software in this distribution under the [CDDL or GPL
+      Version 2] license."  If you don't indicate a single choice of license, a
+      recipient has the option to distribute your version of this file under
+      either the CDDL, the GPL Version 2 or to extend the choice of license to
+      its licensees as provided above.  However, if you add GPL Version 2 code
+      and therefore, elected the GPL Version 2 license, then the option applies
+      only if the new code is made subject to such option by the copyright
+      holder.
+
+-->
+<xsd:schema targetNamespace="http://java.sun.com/xml/ns/javaee"
+            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            xmlns:xml="http://www.w3.org/XML/1998/namespace"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="2.2">
+  <xsd:include schemaLocation="javaee_6.xsd"/>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[[
+      <p>The XML Schema for the Tag Libraries in the JavaServer Faces
+      Standard Facelets View Declaration Language (Facelets VDL)
+      (Version 2.2).</p>
+      
+      <p>JSF 2.2 Facelet Tag Libraries that wish to conform to this
+      schema must declare it in the following manner.</p>
+      
+      <pre>&lt;facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibary_2_2.xsd"
+      version="2.2"&gt;
+      
+      ...
+      
+      &lt;/facelet-taglib&gt;</pre>
+      
+      <p>The instance documents may indicate the published
+      version of the schema using xsi:schemaLocation attribute
+      for javaee namespace with the following location:</p>
+      
+      <p>http://java.sun.com/xml/ns/javaee/web-facelettaglibary_2_2.xsd</p>
+      
+      ]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="facelet-taglib"
+               type="javaee:facelet-taglibType">
+    <xsd:unique name="facelet-taglib-tagname-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[<p>
+
+          tag-names must be unique within a document.
+          
+        </p>]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:tag"/>
+      <xsd:field xpath="javaee:tag-name"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-behavior-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[<p>
+
+          Behavior IDs must be unique within a document.
+          
+        </p>]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:behavior"/>
+      <xsd:field xpath="javaee:behavior-id"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-converter-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[<p>
+
+          Converter IDs must be unique within a document.
+          
+        </p>]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:converter"/>
+      <xsd:field xpath="javaee:converter-id"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-validator-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[<p>
+
+          Validator IDs must be unique within a document.
+          
+        </p>]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:validator"/>
+      <xsd:field xpath="javaee:validator-id"/>
+    </xsd:unique>
+  </xsd:element>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglibType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        The top level XML element in a facelet tag library XML file.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:choice>
+        <xsd:element name="library-class"
+                     type="javaee:fully-qualified-classType"/>
+        <xsd:sequence>
+          <xsd:element name="namespace"
+                       type="javaee:string"/>
+          <xsd:element minOccurs="0" maxOccurs="1" name="short-name"
+                       type="javaee:string">
+            <xsd:annotation>
+              <xsd:documentation><![CDATA[<p>
+              
+              An advisory short name for usages of tags from this tag library.
+              
+              </p>]]></xsd:documentation>
+            </xsd:annotation>
+          </xsd:element>
+          <xsd:element minOccurs="0"
+                       maxOccurs="1"
+                       name="composite-library-name"
+                       type="javaee:string"/>
+          <xsd:choice minOccurs="0"
+                      maxOccurs="unbounded">
+            <xsd:element name="tag"
+                         type="javaee:facelet-taglib-tagType"/>
+            <xsd:element name="function"
+                         type="javaee:facelet-taglib-functionType"/>
+          </xsd:choice>
+        </xsd:sequence>
+      </xsd:choice>
+      <xsd:element name="taglib-extension"
+                   type="javaee:facelet-taglib-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+    <xsd:attribute name="version"
+                   type="javaee:facelet-taglib-versionType"
+                   use="required"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Extension element for facelet-taglib. It may contain
+        implementation specific content.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tagType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+        <p>If the tag library XML
+        file contains individual tag declarations rather than pointing
+        to a library-class or a declaring a composite-library name, the
+        individual tags are enclosed in tag elements.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="tag-name"
+                   type="javaee:facelet-taglib-canonical-nameType"/>
+      <xsd:choice>
+        <xsd:element name="handler-class"
+                     type="javaee:fully-qualified-classType"/>
+        <xsd:element name="behavior"
+                     type="javaee:facelet-taglib-tag-behaviorType"/>
+        <xsd:element name="component"
+                     type="javaee:facelet-taglib-tag-componentType"/>
+        <xsd:element name="converter"
+                     type="javaee:facelet-taglib-tag-converterType"/>
+        <xsd:element name="validator"
+                     type="javaee:facelet-taglib-tag-validatorType"/>
+        <xsd:element name="source"
+                     type="javaee:string"/>
+      </xsd:choice>
+      <xsd:element name="attribute"
+                   type="javaee:facelet-taglib-tag-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="tag-extension"
+                   type="javaee:facelet-taglib-tag-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-attributeType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        <p>The attribute element defines an attribute for the nesting
+        tag. The attribute element may have several subelements
+        defining:</p>
+        
+        <dl>
+
+          <dt>description</dt><dd><p> a description of the attribute
+	  </p></dd>
+
+	  <dt>name</dt><dd><p> the name of the attribute
+	  </p></dd>
+        
+	  <dt>required</dt><dd><p> whether the attribute is required or
+        optional
+	  </p></dd>
+
+          <dt>type</dt><dd><p> the type of the attribute
+	  </p></dd>
+
+        </dl>
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="name"
+                   type="javaee:xsdNMTOKENType"/>
+      <xsd:element name="required"
+                   type="javaee:generic-booleanType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+            <p>Defines if the nesting attribute is required or
+            optional.</p>
+            
+            <p>If not present then the default is "false", i.e
+            the attribute is optional.</p>
+            
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:choice>
+        <xsd:element name="type"
+                     type="javaee:fully-qualified-classType"
+                     minOccurs="0">
+          <xsd:annotation>
+            <xsd:documentation><![CDATA[<p>
+
+              Defines the Java type of the attributes
+              value. If this element is omitted, the
+              expected type is assumed to be
+              "java.lang.Object".</p>
+              
+            ]]></xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element name="method-signature"
+                     type="javaee:string"
+                     minOccurs="0">
+          <xsd:annotation>
+            <xsd:documentation><![CDATA[<p>
+
+              Defines the method signature for a MethodExpression-
+              enabled attribute.  The syntax of the method-signature
+              element is as follows (taken from the function-signature
+              EBNF in web-jsptaglibrary_2_1.xsd):</p>
+
+<code>
+
+<p>MethodSignature ::= ReturnType S MethodName S? '(' S? Parameters? S? ')'</p>
+
+<p>ReturnType        ::= Type</p>
+
+<p>MethodName        ::= Identifier</p>
+
+<p>Parameters        ::= Parameter | ( Parameter S? ',' S? Parameters )</p>
+
+<p>Parameter         ::= Type</p>
+
+</code>
+
+<p>Where:</p>
+
+<ul>
+
+	  <li><p><code>Type</code> is a basic type or a fully qualified
+	  Java class name (including package name), as per the 'Type'
+	  production in the Java Language Specification, Second Edition,
+	  Chapter 18.</p></li>
+
+	  <li><p><code>Identifier</code> is a Java identifier, as per the
+	  'Identifier' production in the Java Language Specification,
+	  Second Edition, Chapter 18.</p></li>
+
+</ul>
+
+<p>Example:</p>
+
+<p><code>java.lang.String nickName( java.lang.String, int )</code></p>
+
+]]></xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Extension element for tag It may contain
+        implementation specific content.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-functionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        If the tag library XML file contains individual function
+        declarations rather than pointing to a library-class or a
+        declaring a composite-library name, the individual functions are
+        enclosed in function elements.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="function-name"
+                   type="javaee:string"/>
+      <xsd:element name="function-class"
+                   type="javaee:fully-qualified-classType"/>
+      <xsd:element name="function-signature"
+                   type="javaee:string"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-behaviorType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Within a tag element, the behavior element encapsulates
+        information specific to a JSF Behavior.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element minOccurs="1"
+                   maxOccurs="1"
+                   name="behavior-id"
+                   type="javaee:string"/>
+      <xsd:element minOccurs="0"
+                   maxOccurs="1"
+                   name="handler-class"
+                   type="javaee:fully-qualified-classType"/>
+      <xsd:element name="behavior-extension"
+                   type="javaee:facelet-taglib-tag-behavior-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-behavior-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Extension element for behavior. It may contain
+        implementation specific content.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-componentType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+      <p><span class="changed_modified_2_2">Within</span> a tag element,
+      the component element encapsulates information specific to a JSF
+      UIComponent.</p>
+
+<div class="changed_added_2_2">
+
+<p>This element must have exactly one of
+<code>&lt;component-type&gt;</code>, <code>&lt;resource-id&gt;</code>,
+or <code>&lt;handler-class&gt;</code> among its child elements.</p>
+
+</div>
+       
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:choice minOccurs="0"
+                  maxOccurs="unbounded">
+          <xsd:element name="component-type"
+                       type="javaee:string"/>
+          <xsd:element name="resource-id"
+                       type="javaee:string">
+            <xsd:annotation>
+              <xsd:documentation><![CDATA[
+
+              <p class="changed_added_2_2">A valid resource identifier
+              as specified in the spec prose document section
+              2.6.1.3.  For example:</p>
+
+          <p><code>&lt;resource-id&gt;myCC/ccName.xhtml&lt;/resource-id&gt;</code></p>
+
+              ]]></xsd:documentation>
+            </xsd:annotation>
+          </xsd:element>
+          <xsd:element name="handler-class"
+                       type="javaee:fully-qualified-classType"/>
+      </xsd:choice>
+      <xsd:element minOccurs="0"
+                   maxOccurs="1"
+                   name="renderer-type"
+                   type="javaee:string"/>
+      <xsd:element name="component-extension"
+                   type="javaee:facelet-taglib-tag-component-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-component-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Extension element for component It may contain
+        implementation specific content.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-converterType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Within a tag element, the converter element encapsulates
+        information specific to a JSF Converter.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element minOccurs="1"
+                   maxOccurs="1"
+                   name="converter-id"
+                   type="javaee:string"/>
+      <xsd:element minOccurs="0"
+                   maxOccurs="1"
+                   name="handler-class"
+                   type="javaee:fully-qualified-classType"/>
+      <xsd:element name="converter-extension"
+                   type="javaee:facelet-taglib-tag-converter-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-converter-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Extension element for converter It may contain
+        implementation specific content.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-validatorType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Within a tag element, the validator element encapsulates
+        information specific to a JSF Validator.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element minOccurs="1"
+                   maxOccurs="1"
+                   name="validator-id"
+                   type="javaee:string"/>
+      <xsd:element minOccurs="0"
+                   maxOccurs="1"
+                   name="handler-class"
+                   type="javaee:fully-qualified-classType"/>
+      <xsd:element name="validator-extension"
+                   type="javaee:facelet-taglib-tag-validator-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-tag-validator-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        Extension element for validator It may contain
+        implementation specific content.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:simpleType name="facelet-taglib-versionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        This type contains the recognized versions of
+        facelet-taglib supported.
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+      <xsd:enumeration value="2.2"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="facelet-taglib-canonical-nameType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[<p>
+
+        <p>Defines the canonical name of a tag or attribute being
+        defined.</p>
+        
+        <p>The name must conform to the lexical rules for an NCName</p>
+        
+      </p>]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:NCName">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+</xsd:schema>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_0.dtd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_0.dtd
new file mode 100644
index 0000000000..cc5970ac7a
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_0.dtd
@@ -0,0 +1,910 @@
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<!--
+    DTD for the JavaServer Faces Application Configuration File (Version 1.0)
+
+    To support validation of your configuration file(s), include the following
+    DOCTYPE element at the beginning (after the "xml" declaration):
+
+    <!DOCTYPE faces-config PUBLIC
+     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+     "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
+
+    $Id: web-facesconfig_1_0.dtd,v 1.34 2007/06/19 18:17:20 rogerk Exp $
+
+-->
+
+
+<!-- ==================== Defined Types =================================== -->
+
+
+<!--
+    An "Action" is a String that represents a method binding
+    expression that points at a method with no arguments that returns a
+    String.  It must be bracketed with "#{}", for example,
+    "#{cardemo.buyCar}".
+-->
+<!ENTITY % Action "CDATA">
+
+
+<!--
+    A "ClassName" is the fully qualified name of a Java class that is
+    instantiated to provide the functionality of the enclosing element.
+-->
+<!ENTITY % ClassName "CDATA">
+
+
+<!--
+    An "Identifier" is a string of characters that conforms to the variable
+    naming conventions of the Java programming language (JLS Section ?.?.?).
+-->
+<!ENTITY % Identifier "CDATA">
+
+
+<!--
+    A "JavaType" is either the fully qualified name of a Java class that is
+    instantiated to provide the functionality of the enclosing element, or
+    the name of a Java primitive type (such as int or char).  The class name
+    or primitive type may optionally be followed by "[]" to indicate that
+    the underlying data must be an array, rather than a scalar variable.
+-->
+<!ENTITY % JavaType "CDATA">
+
+
+<!--
+    A "Language" is a lower case two-letter code for a language as defined
+    by ISL-639.
+-->
+<!ENTITY % Language "CDATA">
+
+
+<!--
+    A "ResourcePath" is the relative or absolute path to a resource file
+    (such as a logo image).
+-->
+<!ENTITY % ResourcePath "CDATA">
+
+
+<!--
+    A "Scope" is the well-known name of a scope in which managed beans may
+    optionally be defined to be created in.
+-->
+<!ENTITY % Scope "(request|session|application)">
+
+
+
+<!--
+    A "ScopeOrNone" element defines the legal values for the
+    <managed-bean-scope> element's body content, which includes
+    all of the scopes respresented by the "Scope" type, plus the
+    "none" value indicating that a created bean should not be
+    stored into any scope.
+-->
+<!ENTITY % ScopeOrNone "(request|session|application|none)">
+
+
+<!--
+    A "ViewIdPattern" is a pattern for matching view identifiers in
+    order to determine whether a particular navigation rule should be
+    fired.  It must contain one of the following values:
+
+    - The exact match for a view identifier that is recognized
+      by the the ViewHandler implementation being used (such as
+      "/index.jsp" if you are using the default ViewHandler).
+
+    - A proper prefix of a view identifier, plus a trailing "*"
+      character.  This pattern indicates that all view identifiers that
+      match the portion of the pattern up to the asterisk will match the
+      surrounding rule.  When more than one match exists, the match with
+      the longest pattern is selected.
+
+    - An "*" character, which means that this pattern applies to all
+      view identifiers.
+-->
+<!ENTITY % ViewIdPattern "CDATA">
+
+
+<!-- ==================== Top Level Elements ============================== -->
+
+
+<!--
+    The "faces-config" element is the root of the configuration information
+    hierarchy, and contains nested elements for all of the other configuration
+    settings.
+-->
+<!ELEMENT faces-config    ((application|factory|component|converter|managed-bean|navigation-rule|referenced-bean|render-kit|lifecycle|validator)*)>
+<!ATTLIST faces-config
+       xmlns CDATA #FIXED "http://java.sun.com/JSF/Configuration">
+
+
+
+<!-- ==================== Definition Elements ============================= -->
+
+
+<!--
+    The "application" element provides a mechanism to define the various
+    per-application-singleton implementation artifacts for a particular web
+    application that is utilizing JavaServer Faces.  For nested elements
+    that are not specified, the JSF implementation must provide a suitable
+    default.
+-->
+<!ELEMENT application     ((action-listener|default-render-kit-id|message-bundle|navigation-handler|view-handler|state-manager|property-resolver|variable-resolver|locale-config)*)>
+
+
+<!--
+    The "factory" element provides a mechanism to define the various
+    Factories that comprise parts of the implementation of JavaServer
+    Faces.  For nested elements that are not specified, the JSF
+    implementation must provide a suitable default.
+-->
+<!ELEMENT factory     ((application-factory|faces-context-factory|lifecycle-factory|render-kit-factory)*)>
+
+
+<!--
+    The "attribute" element represents a named, typed, value associated with
+    the parent UIComponent via the generic attributes mechanism.
+
+    Attribute names must be unique within the scope of the parent (or related)
+    component.
+-->
+<!ELEMENT attribute       (description*, display-name*, icon*, attribute-name, attribute-class, default-value?, suggested-value?, attribute-extension*)>
+
+<!-- 
+    Extension element for attribute.  May contain implementation
+    specific content.
+-->
+<!ELEMENT attribute-extension ANY>
+
+
+<!--
+    The "component" element represents a concrete UIComponent implementation
+    class that should be registered under the specified type identifier,
+    along with its associated properties and attributes.  Component types must
+    be unique within the entire web application.
+
+    Nested "attribute" elements identify generic attributes that are recognized
+    by the implementation logic of this component.  Nested "property" elements
+    identify JavaBeans properties of the component class that may be exposed
+    for manipulation via tools.
+-->
+<!ELEMENT component       (description*, display-name*, icon*, component-type, component-class, attribute*, property*, component-extension*)>
+
+<!-- 
+    Extension element for component.  May contain implementation
+    specific content.
+-->
+<!ELEMENT component-extension ANY>
+
+
+
+<!--
+    The "converter" element represents a concrete Converter implementation
+    class that should be registered under the specified converter identifier.
+    Converter identifiers must be unique within the entire web application.
+
+    Nested "attribute" elements identify generic attributes that may be
+    configured on the corresponding UIComponent in order to affect the
+    operation of the Converter.  Nested "property" elements identify JavaBeans
+    properties of the Converter implementation class that may be configured
+    to affect the operation of the Converter.
+-->
+<!ELEMENT converter       (description*, display-name*, icon*, (converter-id | converter-for-class), converter-class, attribute*, property*)>
+
+
+<!--
+    The "icon" element contains "small-icon" and "large-icon" elements that
+    specify the resoruce paths for small and large GIF or JPG icon images
+    used to represent the parent element in a GUI tool.
+-->
+<!ELEMENT icon            (small-icon?, large-icon?)>
+<!ATTLIST icon            xml:lang        %Language;      #IMPLIED>
+
+<!--
+    The "lifecycle" element provides a mechanism to specify
+    modifications to the behaviour of the default Lifecycle
+    implementation for this web application.
+-->
+<!ELEMENT lifecycle       (phase-listener*)>
+
+<!--
+     The "locale-config" element allows the app developer to declare the
+     supported locales for this application.  
+-->
+<!ELEMENT locale-config (default-locale?, supported-locale*)>
+
+<!--
+    The "managed-bean" element represents a JavaBean, of a particular class,
+    that will be dynamically instantiated at runtime (by the default
+    VariableResolver implementation) if it is referenced as the first element
+    of a value binding expression, and no corresponding bean can be
+    identified in any scope.  In addition to the creation of the managed bean,
+    and the optional storing of it into the specified scope, the nested
+    managed-property elements can be used to initialize the contents of
+    settable JavaBeans properties of the created instance.
+-->
+<!ELEMENT managed-bean (description*, display-name*, icon*, managed-bean-name, managed-bean-class, managed-bean-scope, (managed-property* | map-entries | list-entries))>
+
+
+<!--
+    The "managed-property" element represents an individual property of a
+    managed bean that will be configured to the specified value (or value set)
+    if the corresponding managed bean is automatically created.
+-->
+<!ELEMENT managed-property (description*, display-name*, icon*, property-name, property-class?, (map-entries|null-value|value|list-entries))>
+
+
+<!--
+    The "map-entry" element reprsents a single key-entry pair that
+    will be added to the computed value of a managed property of type
+    java.util.Map.
+-->
+<!ELEMENT map-entry (key, (null-value|value))>
+
+
+<!--
+    The "map-entries' element represents a set of key-entry pairs that
+    will be added to the computed value of a managed property of type
+    java.util.Map.  In addition, the Java class types of the key and entry
+    values may be optionally declared.
+-->
+<!ELEMENT map-entries (key-class?, value-class?, map-entry*)>
+
+
+<!--
+    The base name of a resource bundle representing the message resources
+    for this application.  See the JavaDocs for the "java.util.ResourceBundle"
+    class for more information on the syntax of resource bundle names.
+-->
+
+<!ELEMENT message-bundle (#PCDATA)>
+
+
+<!--
+    The "navigation-case" element describes a particular combination of
+    conditions that must match for this case to be executed, and the
+    view id of the component tree that should be selected next.
+-->
+<!ELEMENT navigation-case (description*, display-name*, icon*, from-action?, from-outcome?, to-view-id, redirect?)>
+
+
+<!--
+    The "navigation-rule" element represents an individual decision rule
+    that will be utilized by the default NavigationHandler
+    implementation to make decisions on what view should be displayed
+    next, based on the view id being processed.
+-->
+<!ELEMENT navigation-rule (description*, display-name*, icon*, from-view-id?, navigation-case*)>
+
+
+<!--
+    The "property" element represents a JavaBean property of the Java class
+    represented by our parent element.
+
+    Property names must be unique within the scope of the Java class
+    that is represented by the parent element, and must correspond to
+    property names that will be recognized when performing introspection
+    against that class via java.beans.Introspector.
+-->
+<!ELEMENT property        (description*, display-name*, icon*, property-name, property-class, default-value?, suggested-value?, property-extension*)>
+
+<!-- 
+    Extension element for property.  May contain implementation
+    specific content.
+-->
+<!ELEMENT property-extension ANY>
+
+<!--
+    The "referenced-bean" element represents at design time the promise
+    that a Java object of the specified type will exist at runtime in some
+    scope, under the specified key.  This can be used by design time tools
+    to construct user interface dialogs based on the properties of the
+    specified class.  The presence or absence of a referenced bean
+    element has no impact on the JavaServer Faces runtime environment
+    inside a web application.
+-->
+<!ELEMENT referenced-bean (description*, display-name*, icon*, referenced-bean-name, referenced-bean-class)>
+
+
+<!--
+    The "render-kit" element represents a concrete RenderKit implementation
+    that should be registered under the specified render-kit-id.  If no
+    render-kit-id is specified, the identifier of the default RenderKit
+    (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.
+-->
+<!ELEMENT render-kit      (description*, display-name*, icon*, render-kit-id?, render-kit-class?, renderer*)>
+
+
+<!--
+    The "renderer" element represents a concrete Renderer implementation
+    class that should be registered under the specified component family
+    and renderer type identifiers, in the RenderKit associated with the
+    parent "render-kit" element.  Combinations of component family and renderer
+    type must be unique within the RenderKit associated with the parent
+    "render-kit" element.
+
+    Nested "attribute" elements identify generic component attributes that
+    are recognized by this renderer.
+-->
+<!ELEMENT renderer        (description*, display-name*, icon*, component-family, renderer-type, renderer-class, attribute*, renderer-extension*)>
+
+<!-- 
+    Extension element for renderer.  May contain implementation
+    specific content.
+-->
+<!ELEMENT renderer-extension ANY>
+
+<!--
+    The "validator" element represents a concrete Validator implementation
+    class that should be registered under the specified validator identifier.
+    Validator identifiers must be unique within the entire web application.
+
+    Nested "attribute" elements identify generic attributes that may be
+    configured on the corresponding UIComponent in order to affect the
+    operation of the Validator.  Nested "property" elements identify JavaBeans
+    properties of the Validator implementation class that may be configured
+    to affect the operation of the Validator.
+-->
+<!ELEMENT validator       (description*, display-name*, icon*, validator-id, validator-class, attribute*, property*)>
+
+
+<!--
+    The "list-entries" element represents a set of initialization
+    elements for a managed property that is a java.util.List or an
+    array.  In the former case, the "value-class" element can optionally
+    be used to declare the Java type to which each value should be
+    converted before adding it to the Collection.
+-->
+<!ELEMENT list-entries    (value-class?, (null-value|value)*)>
+
+
+<!-- ==================== Subordinate Elements ============================ -->
+
+
+<!--
+    The "action-listener" element contains the fully qualified class name
+    of the concrete ActionListener implementation class that will be called
+    during the Invoke Application phase of the request processing lifecycle.
+    It must be of type "ClassName".
+-->
+<!ELEMENT action-listener (#PCDATA)>
+
+<!--
+    The "application-factory" element contains the fully qualified class
+    name of the concrete ApplicationFactory implementation class that
+    will be called when FactoryFinder.getFactory(APPLICATION_FACTORY) is
+    called. It must be of type "ClassName".
+-->
+<!ELEMENT application-factory (#PCDATA)>
+
+<!--
+    The "attribute-class" element represents the Java type of the value
+    associated with this attribute name.  It must be of type "ClassName".
+-->
+<!ELEMENT attribute-class (#PCDATA)>
+
+
+<!--
+    The "attribute-name" element represents the name under which the
+    corresponding value will be stored, in the generic attributes of the
+    UIComponent we are related to.
+-->
+<!ELEMENT attribute-name  (#PCDATA)>
+
+
+<!--
+    The "component-class" element represents the fully qualified class name
+    of a concrete UIComponent implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT component-class (#PCDATA)>
+
+
+<!--
+    The "component-family" element represents the component family for
+    which the Renderer represented by the parent "renderer" element will be
+    used.
+-->
+<!ELEMENT component-family (#PCDATA)>
+
+<!--
+    The "component-type" element represents the name under which the
+    corresponding UIComponent class should be registered.
+-->
+<!ELEMENT component-type  (#PCDATA)>
+
+
+<!--
+    The "converter-class" element represents the fully qualified class name
+    of a concrete Converter implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT converter-class (#PCDATA)>
+
+
+<!--
+    The "converter-for-class" element represents the fully qualified class name
+    for which a Converter class will be registered.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT converter-for-class (#PCDATA)>
+
+
+<!--
+    The "converter-id" element represents the identifier under which the
+    corresponding Converter class should be registered.
+-->
+<!ELEMENT converter-id    (#PCDATA)>
+
+<!--
+    The "default-render-kit-id" element allows the application to define
+    a renderkit to be used other than the standard one. 
+-->
+<!ELEMENT default-render-kit-id   (#PCDATA)>
+
+<!--
+     The "default-locale" element declares the default locale for this
+     application instance.  It must be specified as
+     :language:[_:country:[_:variant:]] without the colons, for example
+     "ja_JP_SJIS".  The separators between the segments may be '-' or
+     '_'.
+-->
+<!ELEMENT default-locale (#PCDATA)>
+
+<!--
+    The "default-value" contains the value for the property or attribute
+    in which this element resides.  This value differs from the
+    "suggested-value" in that the property or attribute must take the
+    value, whereas in "suggested-value" taking the value is optional.
+-->
+<!ELEMENT default-value (#PCDATA)>
+
+<!--
+    The "description" element contains a textual description of the element
+    it is nested in, optionally flagged with a language code using the
+    "xml:lang" attribute.
+-->
+<!ELEMENT description     ANY>
+<!ATTLIST description     xml:lang        %Language;      #IMPLIED>
+
+
+<!--
+    The "display-name" element is a short descriptive name describing the
+    entity associated with the element it is nested in, intended to be
+    displayed by tools, and optionally flagged with a language code using
+    the "xml:lang" attribute.
+-->
+<!ELEMENT display-name    (#PCDATA)>
+<!ATTLIST display-name    xml:lang        %Language;      #IMPLIED>
+
+<!--
+    The "faces-context-factory" element contains the fully qualified
+    class name of the concrete FacesContextFactory implementation class
+    that will be called when
+    FactoryFinder.getFactory(FACES_CONTEXT_FACTORY) is called. It must
+    be of type "ClassName".
+-->
+<!ELEMENT faces-context-factory (#PCDATA)>
+
+<!--
+    The "from-action" element contains an action reference expression
+    that must have been executed (by the default ActionListener for handling
+    application level events) in order to select this navigation rule.  If
+    not specified, this rule will be relevant no matter which action reference
+    was executed (or if no action reference was executed).
+
+    This value must be of type "Action".
+-->
+<!ELEMENT from-action (#PCDATA)>
+
+
+<!--
+    The "from-outcome" element contains a logical outcome string returned
+    by the execution of an application action method selected via an
+    "actionRef" property (or a literal value specified by an "action"
+    property) of a UICommand component.  If specified, this rule will be
+    relevant only if the outcome value matches this element's value.  If
+    not specified, this rule will be relevant no matter what the outcome
+    value was.
+-->
+<!ELEMENT from-outcome    (#PCDATA)>
+
+
+<!--
+    The "from-view-id" element contains the view identifier of the view
+    for which the containing navigation rule is relevant.  If no
+    "from-view" element is specified, this rule applies to navigation
+    decisions on all views.  If this element is not specified, a value
+    of "*" is assumed, meaning that this navigation rule applies to all
+    views.
+
+    This value must be of type "ViewIdPattern".
+-->
+<!ELEMENT from-view-id    (#PCDATA)>
+
+
+<!--
+    The "key" element is the String representation of a map key that
+    will be stored in a managed property of type java.util.Map.  
+-->
+<!ELEMENT key             (#PCDATA)>
+
+
+<!--
+    The "key-class" element defines the Java type to which each "key"
+    element in a set of "map-entry" elements will be converted to.  It
+    must be of type "ClassName".  If omitted, "java.lang.String"
+    is assumed.
+-->
+<!ELEMENT key-class       (#PCDATA)>
+
+
+<!--
+    The "large-icon" element contains the resource path to a large (32x32)
+    icon image.  The image may be in either GIF or JPG format.
+-->
+<!ELEMENT large-icon      (#PCDATA)>
+
+<!--
+    The "lifecycle-factory" element contains the fully qualified class name
+    of the concrete LifecycleFactory implementation class that will be called
+    when FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called. It must be 
+    of type "ClassName".
+-->
+<!ELEMENT lifecycle-factory (#PCDATA)>
+
+<!--
+    The "managed-bean-class" element represents the fully qualified class
+    name of the Java class that will be used to instantiate a new instance
+    if creation of the specified managed bean is requested.  It must be of
+    type "ClassName".
+
+    The specified class must conform to standard JavaBeans conventions.
+    In particular, it must have a public zero-arguments constructor, and
+    zero or more public property setters.
+-->
+<!ELEMENT managed-bean-class  (#PCDATA)>
+
+
+<!--
+    The "managed-bean-name" element represents the attribute name under
+    which a managed bean will be searched for, as well as stored (unless
+    the "managed-bean-scope" value is "none").  It must be of type
+    "Identifier".
+-->
+<!ELEMENT managed-bean-name (#PCDATA)>
+
+
+<!--
+    The "managed-bean-scope" element represents the scope into which a newly
+    created instance of the specified managed bean will be stored (unless
+    the value is "none").  It must be of type "ScopeOrNone".
+-->
+<!ELEMENT managed-bean-scope (#PCDATA)>
+
+<!--
+    The "navigation-handler" element contains the fully qualified class name
+    of the concrete NavigationHandler implementation class that will be called
+    during the Invoke Application phase of the request processing lifecycle,
+    if the default ActionListener (provided by the JSF implementation) is used.
+    It must be of type "ClassName".
+-->
+<!ELEMENT navigation-handler (#PCDATA)>
+
+<!--
+The "phase-listener" element contains the fully qualified class
+name of the concrete PhaseListener implementation class that will be
+registered on the Lifecycle. It must be of type "ClassName".
+-->
+<!ELEMENT phase-listener (#PCDATA)>
+
+<!--
+    The "redirect" element indicates that navigation to the specified
+    "to-view-id" should be accomplished by performing an HTTP redirect
+    rather than the usual ViewHandler mechanisms.
+-->
+<!ELEMENT redirect EMPTY>
+
+<!--
+    The "suggested-value" contains the value for the property or
+    attribute in which this element resides.  This value is advisory
+    only and is intended for tools to use when populating pallettes.
+-->
+<!ELEMENT suggested-value (#PCDATA)>
+
+
+<!--
+
+    The "view-handler" element contains the fully qualified class name
+    of the concrete ViewHandler implementation class that will be called
+    during the Restore View and Render Response phases of the request
+    processing lifecycle.  The faces implementation must provide a
+    default implementation of this class
+-->
+<!ELEMENT view-handler (#PCDATA)>
+
+<!--
+
+    The "state-manager" element contains the fully qualified class name
+    of the concrete StateManager implementation class that will be called
+    during the Restore View and Render Response phases of the request
+    processing lifecycle.  The faces implementation must provide a
+    default implementation of this class
+-->
+<!ELEMENT state-manager (#PCDATA)>
+
+<!--
+    The "null-value" element indicates that the managed property in which we
+    are nested will be explicitly set to null if our managed bean is
+    automatically created.  This is different from omitting the managed
+    property element entirely, which will cause no property setter to be
+    called for this property.
+
+    The "null-value" element can only be used when the associated
+    "property-class" identifies a Java class, not a Java primitive.
+-->
+<!ELEMENT null-value EMPTY>
+
+
+<!--
+    The "property-class" element represents the Java type of the value
+    associated with this property name.  It must be of type "JavaType".
+    If not specified, it can be inferred from existing classes; however,
+    this element should be specified if the configuration file is going
+    to be the source for generating the corresponding classes.
+-->
+<!ELEMENT property-class  (#PCDATA)>
+
+
+<!--
+    The "property-name" element represents the JavaBeans property name
+    under which the corresponding value may be stored.
+-->
+<!ELEMENT property-name   (#PCDATA)>
+
+
+<!--
+    The "property-resolver" element contains the fully qualified class name
+    of the concrete PropertyResolver implementation class that will be used
+    during the processing of value binding expressions.
+    It must be of type "ClassName".
+-->
+<!ELEMENT property-resolver (#PCDATA)>
+
+
+<!--
+    The "referenced-bean-class" element represents the fully qualified class
+    name of the Java class (either abstract or concrete) or Java interface
+    implemented by the corresponding referenced bean.  It must be of type
+    "ClassName".
+-->
+<!ELEMENT referenced-bean-class  (#PCDATA)>
+
+
+<!--
+    The "referenced-bean-name" element represents the attribute name under
+    which the corresponding referenced bean may be assumed to be stored,
+    in one of the scopes defined by the "Scope" type.  It must be of type
+    "Identifier".
+-->
+<!ELEMENT referenced-bean-name (#PCDATA)>
+
+
+<!--
+    The "render-kit-id" element represents an identifier for the
+    RenderKit represented by the parent "render-kit" element.
+-->
+<!ELEMENT render-kit-id   (#PCDATA)>
+
+
+<!--
+    The "render-kit-class" element represents the fully qualified class name
+    of a concrete RenderKit implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT render-kit-class (#PCDATA)>
+
+
+<!--
+    The "renderer-class" element represents the fully qualified class name
+    of a concrete Renderer implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT renderer-class  (#PCDATA)>
+
+<!--
+    The "render-kit-factory" element contains the fully qualified class name
+    of the concrete RenderKitFactory implementation class that will be called
+    when FactoryFinder.getFactory(RENDER_KIT_FACTORY) is called. It must be 
+    of type "ClassName".
+-->
+<!ELEMENT render-kit-factory (#PCDATA)>
+
+<!--
+    The "renderer-type" element represents a renderer type identifier for the
+    Renderer represented by the parent "renderer" element.
+-->
+<!ELEMENT renderer-type   (#PCDATA)>
+
+<!--
+    The "small-icon" element contains the resource path to a large (16x16)
+    icon image.  The image may be in either GIF or JPG format.
+-->
+<!ELEMENT small-icon      (#PCDATA)>
+
+<!--
+     The "supported-locale" element allows authors to declare which
+     locales are supported in this application instance.
+
+     It must be specified as :language:[_:country:[_:variant:]] without
+     the colons, for example "ja_JP_SJIS".  The separators between the
+     segments may be '-' or '_'.
+-->
+<!ELEMENT supported-locale (#PCDATA)>
+
+<!--
+    The "to-view" element contains the view identifier of the next view
+    that should be displayed if this navigation rule is matched.  It
+    must be of type "ViewId".
+-->
+<!ELEMENT to-view-id      (#PCDATA)>
+
+
+<!--
+    The "validator-class" element represents the fully qualified class name
+    of a concrete Validator implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT validator-class (#PCDATA)>
+
+
+<!--
+    The "validator-id" element represents the identifier under which the
+    corresponding Validator class should be registered.
+-->
+<!ELEMENT validator-id    (#PCDATA)>
+
+
+<!--
+    The "value" element is the String representation of a literal
+    value to which a scalar managed property will be set, or a value
+    binding expression ("#{...}") that will be used to calculate the
+    required value.  It will be converted as specified for the actual
+    property type.
+-->
+<!ELEMENT value (#PCDATA)>
+
+
+<!--
+    The "value-class" element defines the Java type to which each
+    "value" element's value will be converted to, prior to adding it to
+    the "list-entries" list for a managed property that is a
+    java.util.List, or a "map-entries" map for a managed property that
+    is a java.util.Map.  It must be of type "ClassName".  If omitted,
+    "java.lang.String" is assumed.
+-->
+<!ELEMENT value-class (#PCDATA)>
+
+<!--
+    The "variable-resolver" element contains the fully qualified class name
+    of the concrete VariableResolver implementation class that will be used
+    during the processing of value binding expressions.
+    It must be of type "ClassName".
+-->
+<!ELEMENT variable-resolver (#PCDATA)>
+
+
+<!-- ============================ Identifier Attributes ==================== -->
+
+
+<!ATTLIST action-listener                   id ID #IMPLIED>
+<!ATTLIST application                       id ID #IMPLIED>
+<!ATTLIST application-factory               id ID #IMPLIED>
+<!ATTLIST attribute                         id ID #IMPLIED>
+<!ATTLIST attribute-class                   id ID #IMPLIED>
+<!ATTLIST attribute-extension               id ID #IMPLIED>
+<!ATTLIST attribute-name                    id ID #IMPLIED>
+<!ATTLIST component                         id ID #IMPLIED>
+<!ATTLIST component-class                   id ID #IMPLIED>
+<!ATTLIST component-extension               id ID #IMPLIED>
+<!ATTLIST component-family                  id ID #IMPLIED>
+<!ATTLIST component-type                    id ID #IMPLIED>
+<!ATTLIST converter                         id ID #IMPLIED>
+<!ATTLIST converter-class                   id ID #IMPLIED>
+<!ATTLIST converter-for-class               id ID #IMPLIED>
+<!ATTLIST converter-id                      id ID #IMPLIED>
+<!ATTLIST default-locale                    id ID #IMPLIED>
+<!ATTLIST default-render-kit-id             id ID #IMPLIED>
+<!ATTLIST default-value                     id ID #IMPLIED>
+<!ATTLIST description                       id ID #IMPLIED>
+<!ATTLIST display-name                      id ID #IMPLIED>
+<!ATTLIST faces-config                      id ID #IMPLIED>
+<!ATTLIST faces-context-factory             id ID #IMPLIED>
+<!ATTLIST factory                           id ID #IMPLIED>
+<!ATTLIST from-action                       id ID #IMPLIED>
+<!ATTLIST from-outcome                      id ID #IMPLIED>
+<!ATTLIST from-view-id                      id ID #IMPLIED>
+<!ATTLIST icon                              id ID #IMPLIED>
+<!ATTLIST key                               id ID #IMPLIED>
+<!ATTLIST key-class                         id ID #IMPLIED>
+<!ATTLIST large-icon                        id ID #IMPLIED>
+<!ATTLIST lifecycle                         id ID #IMPLIED>
+<!ATTLIST lifecycle-factory                 id ID #IMPLIED>
+<!ATTLIST list-entries                      id ID #IMPLIED>
+<!ATTLIST locale-config                     id ID #IMPLIED>
+<!ATTLIST managed-bean                      id ID #IMPLIED>
+<!ATTLIST managed-bean-class                id ID #IMPLIED>
+<!ATTLIST managed-bean-name                 id ID #IMPLIED>
+<!ATTLIST managed-bean-scope                id ID #IMPLIED>
+<!ATTLIST managed-property                  id ID #IMPLIED>
+<!ATTLIST map-entries                       id ID #IMPLIED>
+<!ATTLIST map-entry                         id ID #IMPLIED>
+<!ATTLIST message-bundle                    id ID #IMPLIED>
+<!ATTLIST navigation-case                   id ID #IMPLIED>
+<!ATTLIST navigation-handler                id ID #IMPLIED>
+<!ATTLIST navigation-rule                   id ID #IMPLIED>
+<!ATTLIST null-value                        id ID #IMPLIED>
+<!ATTLIST phase-listener                    id ID #IMPLIED>
+<!ATTLIST property                          id ID #IMPLIED>
+<!ATTLIST property-class                    id ID #IMPLIED>
+<!ATTLIST property-extension                id ID #IMPLIED>
+<!ATTLIST property-name                     id ID #IMPLIED>
+<!ATTLIST property-resolver                 id ID #IMPLIED>
+<!ATTLIST redirect                          id ID #IMPLIED>
+<!ATTLIST referenced-bean                   id ID #IMPLIED>
+<!ATTLIST referenced-bean-class             id ID #IMPLIED>
+<!ATTLIST referenced-bean-name              id ID #IMPLIED>
+<!ATTLIST render-kit                        id ID #IMPLIED>
+<!ATTLIST render-kit-class                  id ID #IMPLIED>
+<!ATTLIST render-kit-factory                id ID #IMPLIED>
+<!ATTLIST render-kit-id                     id ID #IMPLIED>
+<!ATTLIST renderer                          id ID #IMPLIED>
+<!ATTLIST renderer-class                    id ID #IMPLIED>
+<!ATTLIST renderer-extension                id ID #IMPLIED>
+<!ATTLIST renderer-type                     id ID #IMPLIED>
+<!ATTLIST small-icon                        id ID #IMPLIED>
+<!ATTLIST state-manager                     id ID #IMPLIED>
+<!ATTLIST suggested-value                   id ID #IMPLIED>
+<!ATTLIST supported-locale                  id ID #IMPLIED>
+<!ATTLIST to-view-id                        id ID #IMPLIED>
+<!ATTLIST validator                         id ID #IMPLIED>
+<!ATTLIST validator-class                   id ID #IMPLIED>
+<!ATTLIST validator-id                      id ID #IMPLIED>
+<!ATTLIST value                             id ID #IMPLIED>
+<!ATTLIST value-class                       id ID #IMPLIED>
+<!ATTLIST variable-resolver                 id ID #IMPLIED>
+<!ATTLIST view-handler                      id ID #IMPLIED>
+
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_1.dtd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_1.dtd
new file mode 100644
index 0000000000..38a42a423c
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_1.dtd
@@ -0,0 +1,931 @@
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<!--
+    DTD for the JavaServer Faces Application Configuration File (Version 1.1)
+
+    To support validation of your configuration file(s), include the following
+    DOCTYPE element at the beginning (after the "xml" declaration):
+
+    <!DOCTYPE faces-config PUBLIC
+     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
+     "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
+
+    $Id: web-facesconfig_1_1.dtd,v 1.6 2007/06/19 18:17:20 rogerk Exp $
+
+-->
+
+
+<!-- ==================== Defined Types =================================== -->
+
+
+<!--
+    An "Action" is a String that represents a method binding
+    expression that points at a method with no arguments that returns a
+    String.  It must be bracketed with "#{}", for example,
+    "#{cardemo.buyCar}".
+-->
+<!ENTITY % Action "CDATA">
+
+
+<!--
+    A "ClassName" is the fully qualified name of a Java class that is
+    instantiated to provide the functionality of the enclosing element.
+-->
+<!ENTITY % ClassName "CDATA">
+
+
+<!--
+    An "Identifier" is a string of characters that conforms to the variable
+    naming conventions of the Java programming language (JLS Section ?.?.?).
+-->
+<!ENTITY % Identifier "CDATA">
+
+
+<!--
+    A "JavaType" is either the fully qualified name of a Java class that is
+    instantiated to provide the functionality of the enclosing element, or
+    the name of a Java primitive type (such as int or char).  The class name
+    or primitive type may optionally be followed by "[]" to indicate that
+    the underlying data must be an array, rather than a scalar variable.
+-->
+<!ENTITY % JavaType "CDATA">
+
+
+<!--
+    A "Language" is a lower case two-letter code for a language as defined
+    by ISL-639.
+-->
+<!ENTITY % Language "CDATA">
+
+
+<!--
+    A "ResourcePath" is the relative or absolute path to a resource file
+    (such as a logo image).
+-->
+<!ENTITY % ResourcePath "CDATA">
+
+
+<!--
+    A "Scope" is the well-known name of a scope in which managed beans may
+    optionally be defined to be created in.
+-->
+<!ENTITY % Scope "(request|session|application)">
+
+
+
+<!--
+    A "ScopeOrNone" element defines the legal values for the
+    <managed-bean-scope> element's body content, which includes
+    all of the scopes respresented by the "Scope" type, plus the
+    "none" value indicating that a created bean should not be
+    stored into any scope.
+-->
+<!ENTITY % ScopeOrNone "(request|session|application|none)">
+
+
+<!--
+    A "ViewIdPattern" is a pattern for matching view identifiers in
+    order to determine whether a particular navigation rule should be
+    fired.  It must contain one of the following values:
+
+    - The exact match for a view identifier that is recognized
+      by the the ViewHandler implementation being used (such as
+      "/index.jsp" if you are using the default ViewHandler).
+
+    - A proper prefix of a view identifier, plus a trailing "*"
+      character.  This pattern indicates that all view identifiers that
+      match the portion of the pattern up to the asterisk will match the
+      surrounding rule.  When more than one match exists, the match with
+      the longest pattern is selected.
+
+    - An "*" character, which means that this pattern applies to all
+      view identifiers.
+-->
+<!ENTITY % ViewIdPattern "CDATA">
+
+
+<!-- ==================== Top Level Elements ============================== -->
+
+
+<!--
+    The "faces-config" element is the root of the configuration information
+    hierarchy, and contains nested elements for all of the other configuration
+    settings.
+-->
+<!ELEMENT faces-config    ((application|factory|component|converter|managed-bean|navigation-rule|referenced-bean|render-kit|lifecycle|validator)*)>
+<!ATTLIST faces-config
+       xmlns CDATA #FIXED "http://java.sun.com/JSF/Configuration">
+
+
+
+<!-- ==================== Definition Elements ============================= -->
+
+
+<!--
+    The "application" element provides a mechanism to define the various
+    per-application-singleton implementation artifacts for a particular web
+    application that is utilizing JavaServer Faces.  For nested elements
+    that are not specified, the JSF implementation must provide a suitable
+    default.
+-->
+<!ELEMENT application     ((action-listener|default-render-kit-id|message-bundle|navigation-handler|view-handler|state-manager|property-resolver|variable-resolver|locale-config)*)>
+
+
+<!--
+    The "factory" element provides a mechanism to define the various
+    Factories that comprise parts of the implementation of JavaServer
+    Faces.  For nested elements that are not specified, the JSF
+    implementation must provide a suitable default.
+-->
+<!ELEMENT factory     ((application-factory|faces-context-factory|lifecycle-factory|render-kit-factory)*)>
+
+
+<!--
+    The "attribute" element represents a named, typed, value associated with
+    the parent UIComponent via the generic attributes mechanism.
+
+    Attribute names must be unique within the scope of the parent (or related)
+    component.
+-->
+<!ELEMENT attribute       (description*, display-name*, icon*, attribute-name, attribute-class, default-value?, suggested-value?, attribute-extension*)>
+
+<!-- 
+    Extension element for attribute.  May contain implementation
+    specific content.
+-->
+<!ELEMENT attribute-extension ANY>
+
+
+<!--
+    The "component" element represents a concrete UIComponent implementation
+    class that should be registered under the specified type identifier,
+    along with its associated properties and attributes.  Component types must
+    be unique within the entire web application.
+
+    Nested "attribute" elements identify generic attributes that are recognized
+    by the implementation logic of this component.  Nested "property" elements
+    identify JavaBeans properties of the component class that may be exposed
+    for manipulation via tools.
+-->
+<!ELEMENT component       (description*, display-name*, icon*, component-type, component-class, facet*, attribute*, property*, component-extension*)>
+
+<!-- 
+    Extension element for component.  May contain implementation
+    specific content.
+-->
+<!ELEMENT component-extension ANY>
+
+<!--
+   Define the name and other design-time information for a facet that is
+   associated with a renderer or a component.
+-->
+
+<!ELEMENT facet       (description*, display-name*, icon*, facet-name, facet-extension*)>
+
+<!-- 
+    Extension element for facet.  May contain implementation
+    specific content.
+-->
+<!ELEMENT facet-extension ANY>
+
+<!--
+    The "facet-name" element represents the facet name under which a
+    UIComponent will be added to its parent.  It must be of type
+    "Identifier".
+-->
+<!ELEMENT facet-name (#PCDATA)>
+
+<!--
+    The "converter" element represents a concrete Converter implementation
+    class that should be registered under the specified converter identifier.
+    Converter identifiers must be unique within the entire web application.
+
+    Nested "attribute" elements identify generic attributes that may be
+    configured on the corresponding UIComponent in order to affect the
+    operation of the Converter.  Nested "property" elements identify JavaBeans
+    properties of the Converter implementation class that may be configured
+    to affect the operation of the Converter.
+-->
+<!ELEMENT converter       (description*, display-name*, icon*, (converter-id | converter-for-class), converter-class, attribute*, property*)>
+
+
+<!--
+    The "icon" element contains "small-icon" and "large-icon" elements that
+    specify the resoruce paths for small and large GIF or JPG icon images
+    used to represent the parent element in a GUI tool.
+-->
+<!ELEMENT icon            (small-icon?, large-icon?)>
+<!ATTLIST icon            xml:lang        %Language;      #IMPLIED>
+
+<!--
+    The "lifecycle" element provides a mechanism to specify
+    modifications to the behaviour of the default Lifecycle
+    implementation for this web application.
+-->
+<!ELEMENT lifecycle       (phase-listener*)>
+
+<!--
+     The "locale-config" element allows the app developer to declare the
+     supported locales for this application.  
+-->
+<!ELEMENT locale-config (default-locale?, supported-locale*)>
+
+<!--
+    The "managed-bean" element represents a JavaBean, of a particular class,
+    that will be dynamically instantiated at runtime (by the default
+    VariableResolver implementation) if it is referenced as the first element
+    of a value binding expression, and no corresponding bean can be
+    identified in any scope.  In addition to the creation of the managed bean,
+    and the optional storing of it into the specified scope, the nested
+    managed-property elements can be used to initialize the contents of
+    settable JavaBeans properties of the created instance.
+-->
+<!ELEMENT managed-bean (description*, display-name*, icon*, managed-bean-name, managed-bean-class, managed-bean-scope, (managed-property* | map-entries | list-entries))>
+
+
+<!--
+    The "managed-property" element represents an individual property of a
+    managed bean that will be configured to the specified value (or value set)
+    if the corresponding managed bean is automatically created.
+-->
+<!ELEMENT managed-property (description*, display-name*, icon*, property-name, property-class?, (map-entries|null-value|value|list-entries))>
+
+
+<!--
+    The "map-entry" element reprsents a single key-entry pair that
+    will be added to the computed value of a managed property of type
+    java.util.Map.
+-->
+<!ELEMENT map-entry (key, (null-value|value))>
+
+
+<!--
+    The "map-entries' element represents a set of key-entry pairs that
+    will be added to the computed value of a managed property of type
+    java.util.Map.  In addition, the Java class types of the key and entry
+    values may be optionally declared.
+-->
+<!ELEMENT map-entries (key-class?, value-class?, map-entry*)>
+
+
+<!--
+    The base name of a resource bundle representing the message resources
+    for this application.  See the JavaDocs for the "java.util.ResourceBundle"
+    class for more information on the syntax of resource bundle names.
+-->
+
+<!ELEMENT message-bundle (#PCDATA)>
+
+
+<!--
+    The "navigation-case" element describes a particular combination of
+    conditions that must match for this case to be executed, and the
+    view id of the component tree that should be selected next.
+-->
+<!ELEMENT navigation-case (description*, display-name*, icon*, from-action?, from-outcome?, to-view-id, redirect?)>
+
+
+<!--
+    The "navigation-rule" element represents an individual decision rule
+    that will be utilized by the default NavigationHandler
+    implementation to make decisions on what view should be displayed
+    next, based on the view id being processed.
+-->
+<!ELEMENT navigation-rule (description*, display-name*, icon*, from-view-id?, navigation-case*)>
+
+
+<!--
+    The "property" element represents a JavaBean property of the Java class
+    represented by our parent element.
+
+    Property names must be unique within the scope of the Java class
+    that is represented by the parent element, and must correspond to
+    property names that will be recognized when performing introspection
+    against that class via java.beans.Introspector.
+-->
+<!ELEMENT property        (description*, display-name*, icon*, property-name, property-class, default-value?, suggested-value?, property-extension*)>
+
+<!-- 
+    Extension element for property.  May contain implementation
+    specific content.
+-->
+<!ELEMENT property-extension ANY>
+
+<!--
+    The "referenced-bean" element represents at design time the promise
+    that a Java object of the specified type will exist at runtime in some
+    scope, under the specified key.  This can be used by design time tools
+    to construct user interface dialogs based on the properties of the
+    specified class.  The presence or absence of a referenced bean
+    element has no impact on the JavaServer Faces runtime environment
+    inside a web application.
+-->
+<!ELEMENT referenced-bean (description*, display-name*, icon*, referenced-bean-name, referenced-bean-class)>
+
+
+<!--
+    The "render-kit" element represents a concrete RenderKit implementation
+    that should be registered under the specified render-kit-id.  If no
+    render-kit-id is specified, the identifier of the default RenderKit
+    (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.
+-->
+<!ELEMENT render-kit      (description*, display-name*, icon*, render-kit-id?, render-kit-class?, renderer*)>
+
+
+<!--
+    The "renderer" element represents a concrete Renderer implementation
+    class that should be registered under the specified component family
+    and renderer type identifiers, in the RenderKit associated with the
+    parent "render-kit" element.  Combinations of component family and renderer
+    type must be unique within the RenderKit associated with the parent
+    "render-kit" element.
+
+    Nested "attribute" elements identify generic component attributes that
+    are recognized by this renderer.
+-->
+<!ELEMENT renderer        (description*, display-name*, icon*, component-family, renderer-type, renderer-class, facet*, attribute*, renderer-extension*)>
+
+<!-- 
+    Extension element for renderer.  May contain implementation
+    specific content.
+-->
+<!ELEMENT renderer-extension ANY>
+
+<!--
+    The "validator" element represents a concrete Validator implementation
+    class that should be registered under the specified validator identifier.
+    Validator identifiers must be unique within the entire web application.
+
+    Nested "attribute" elements identify generic attributes that may be
+    configured on the corresponding UIComponent in order to affect the
+    operation of the Validator.  Nested "property" elements identify JavaBeans
+    properties of the Validator implementation class that may be configured
+    to affect the operation of the Validator.
+-->
+<!ELEMENT validator       (description*, display-name*, icon*, validator-id, validator-class, attribute*, property*)>
+
+
+<!--
+    The "list-entries" element represents a set of initialization
+    elements for a managed property that is a java.util.List or an
+    array.  In the former case, the "value-class" element can optionally
+    be used to declare the Java type to which each value should be
+    converted before adding it to the Collection.
+-->
+<!ELEMENT list-entries    (value-class?, (null-value|value)*)>
+
+
+<!-- ==================== Subordinate Elements ============================ -->
+
+
+<!--
+    The "action-listener" element contains the fully qualified class name
+    of the concrete ActionListener implementation class that will be called
+    during the Invoke Application phase of the request processing lifecycle.
+    It must be of type "ClassName".
+-->
+<!ELEMENT action-listener (#PCDATA)>
+
+<!--
+    The "application-factory" element contains the fully qualified class
+    name of the concrete ApplicationFactory implementation class that
+    will be called when FactoryFinder.getFactory(APPLICATION_FACTORY) is
+    called. It must be of type "ClassName".
+-->
+<!ELEMENT application-factory (#PCDATA)>
+
+<!--
+    The "attribute-class" element represents the Java type of the value
+    associated with this attribute name.  It must be of type "ClassName".
+-->
+<!ELEMENT attribute-class (#PCDATA)>
+
+
+<!--
+    The "attribute-name" element represents the name under which the
+    corresponding value will be stored, in the generic attributes of the
+    UIComponent we are related to.
+-->
+<!ELEMENT attribute-name  (#PCDATA)>
+
+
+<!--
+    The "component-class" element represents the fully qualified class name
+    of a concrete UIComponent implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT component-class (#PCDATA)>
+
+
+<!--
+    The "component-family" element represents the component family for
+    which the Renderer represented by the parent "renderer" element will be
+    used.
+-->
+<!ELEMENT component-family (#PCDATA)>
+
+<!--
+    The "component-type" element represents the name under which the
+    corresponding UIComponent class should be registered.
+-->
+<!ELEMENT component-type  (#PCDATA)>
+
+
+<!--
+    The "converter-class" element represents the fully qualified class name
+    of a concrete Converter implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT converter-class (#PCDATA)>
+
+
+<!--
+    The "converter-for-class" element represents the fully qualified class name
+    for which a Converter class will be registered.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT converter-for-class (#PCDATA)>
+
+
+<!--
+    The "converter-id" element represents the identifier under which the
+    corresponding Converter class should be registered.
+-->
+<!ELEMENT converter-id    (#PCDATA)>
+
+<!--
+    The "default-render-kit-id" element allows the application to define
+    a renderkit to be used other than the standard one. 
+-->
+<!ELEMENT default-render-kit-id   (#PCDATA)>
+
+<!--
+     The "default-locale" element declares the default locale for this
+     application instance.  It must be specified as
+     :language:[_:country:[_:variant:]] without the colons, for example
+     "ja_JP_SJIS".  The separators between the segments may be '-' or
+     '_'.
+-->
+<!ELEMENT default-locale (#PCDATA)>
+
+<!--
+    The "default-value" contains the value for the property or attribute
+    in which this element resides.  This value differs from the
+    "suggested-value" in that the property or attribute must take the
+    value, whereas in "suggested-value" taking the value is optional.
+-->
+<!ELEMENT default-value (#PCDATA)>
+
+<!--
+    The "description" element contains a textual description of the element
+    it is nested in, optionally flagged with a language code using the
+    "xml:lang" attribute.
+-->
+<!ELEMENT description     ANY>
+<!ATTLIST description     xml:lang        %Language;      #IMPLIED>
+
+
+<!--
+    The "display-name" element is a short descriptive name describing the
+    entity associated with the element it is nested in, intended to be
+    displayed by tools, and optionally flagged with a language code using
+    the "xml:lang" attribute.
+-->
+<!ELEMENT display-name    (#PCDATA)>
+<!ATTLIST display-name    xml:lang        %Language;      #IMPLIED>
+
+<!--
+    The "faces-context-factory" element contains the fully qualified
+    class name of the concrete FacesContextFactory implementation class
+    that will be called when
+    FactoryFinder.getFactory(FACES_CONTEXT_FACTORY) is called. It must
+    be of type "ClassName".
+-->
+<!ELEMENT faces-context-factory (#PCDATA)>
+
+<!--
+    The "from-action" element contains an action reference expression
+    that must have been executed (by the default ActionListener for handling
+    application level events) in order to select this navigation rule.  If
+    not specified, this rule will be relevant no matter which action reference
+    was executed (or if no action reference was executed).
+
+    This value must be of type "Action".
+-->
+<!ELEMENT from-action (#PCDATA)>
+
+
+<!--
+    The "from-outcome" element contains a logical outcome string returned
+    by the execution of an application action method selected via an
+    "actionRef" property (or a literal value specified by an "action"
+    property) of a UICommand component.  If specified, this rule will be
+    relevant only if the outcome value matches this element's value.  If
+    not specified, this rule will be relevant no matter what the outcome
+    value was.
+-->
+<!ELEMENT from-outcome    (#PCDATA)>
+
+
+<!--
+    The "from-view-id" element contains the view identifier of the view
+    for which the containing navigation rule is relevant.  If no
+    "from-view" element is specified, this rule applies to navigation
+    decisions on all views.  If this element is not specified, a value
+    of "*" is assumed, meaning that this navigation rule applies to all
+    views.
+
+    This value must be of type "ViewIdPattern".
+-->
+<!ELEMENT from-view-id    (#PCDATA)>
+
+
+<!--
+    The "key" element is the String representation of a map key that
+    will be stored in a managed property of type java.util.Map.  
+-->
+<!ELEMENT key             (#PCDATA)>
+
+
+<!--
+    The "key-class" element defines the Java type to which each "key"
+    element in a set of "map-entry" elements will be converted to.  It
+    must be of type "ClassName".  If omitted, "java.lang.String"
+    is assumed.
+-->
+<!ELEMENT key-class       (#PCDATA)>
+
+
+<!--
+    The "large-icon" element contains the resource path to a large (32x32)
+    icon image.  The image may be in either GIF or JPG format.
+-->
+<!ELEMENT large-icon      (#PCDATA)>
+
+<!--
+    The "lifecycle-factory" element contains the fully qualified class name
+    of the concrete LifecycleFactory implementation class that will be called
+    when FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called. It must be 
+    of type "ClassName".
+-->
+<!ELEMENT lifecycle-factory (#PCDATA)>
+
+<!--
+    The "managed-bean-class" element represents the fully qualified class
+    name of the Java class that will be used to instantiate a new instance
+    if creation of the specified managed bean is requested.  It must be of
+    type "ClassName".
+
+    The specified class must conform to standard JavaBeans conventions.
+    In particular, it must have a public zero-arguments constructor, and
+    zero or more public property setters.
+-->
+<!ELEMENT managed-bean-class  (#PCDATA)>
+
+
+<!--
+    The "managed-bean-name" element represents the attribute name under
+    which a managed bean will be searched for, as well as stored (unless
+    the "managed-bean-scope" value is "none").  It must be of type
+    "Identifier".
+-->
+<!ELEMENT managed-bean-name (#PCDATA)>
+
+
+<!--
+    The "managed-bean-scope" element represents the scope into which a newly
+    created instance of the specified managed bean will be stored (unless
+    the value is "none").  It must be of type "ScopeOrNone".
+-->
+<!ELEMENT managed-bean-scope (#PCDATA)>
+
+<!--
+    The "navigation-handler" element contains the fully qualified class name
+    of the concrete NavigationHandler implementation class that will be called
+    during the Invoke Application phase of the request processing lifecycle,
+    if the default ActionListener (provided by the JSF implementation) is used.
+    It must be of type "ClassName".
+-->
+<!ELEMENT navigation-handler (#PCDATA)>
+
+<!--
+The "phase-listener" element contains the fully qualified class
+name of the concrete PhaseListener implementation class that will be
+registered on the Lifecycle. It must be of type "ClassName".
+-->
+<!ELEMENT phase-listener (#PCDATA)>
+
+<!--
+    The "redirect" element indicates that navigation to the specified
+    "to-view-id" should be accomplished by performing an HTTP redirect
+    rather than the usual ViewHandler mechanisms.
+-->
+<!ELEMENT redirect EMPTY>
+
+<!--
+    The "suggested-value" contains the value for the property or
+    attribute in which this element resides.  This value is advisory
+    only and is intended for tools to use when populating pallettes.
+-->
+<!ELEMENT suggested-value (#PCDATA)>
+
+
+<!--
+
+    The "view-handler" element contains the fully qualified class name
+    of the concrete ViewHandler implementation class that will be called
+    during the Restore View and Render Response phases of the request
+    processing lifecycle.  The faces implementation must provide a
+    default implementation of this class
+-->
+<!ELEMENT view-handler (#PCDATA)>
+
+<!--
+
+    The "state-manager" element contains the fully qualified class name
+    of the concrete StateManager implementation class that will be called
+    during the Restore View and Render Response phases of the request
+    processing lifecycle.  The faces implementation must provide a
+    default implementation of this class
+-->
+<!ELEMENT state-manager (#PCDATA)>
+
+<!--
+    The "null-value" element indicates that the managed property in which we
+    are nested will be explicitly set to null if our managed bean is
+    automatically created.  This is different from omitting the managed
+    property element entirely, which will cause no property setter to be
+    called for this property.
+
+    The "null-value" element can only be used when the associated
+    "property-class" identifies a Java class, not a Java primitive.
+-->
+<!ELEMENT null-value EMPTY>
+
+
+<!--
+    The "property-class" element represents the Java type of the value
+    associated with this property name.  It must be of type "JavaType".
+    If not specified, it can be inferred from existing classes; however,
+    this element should be specified if the configuration file is going
+    to be the source for generating the corresponding classes.
+-->
+<!ELEMENT property-class  (#PCDATA)>
+
+
+<!--
+    The "property-name" element represents the JavaBeans property name
+    under which the corresponding value may be stored.
+-->
+<!ELEMENT property-name   (#PCDATA)>
+
+
+<!--
+    The "property-resolver" element contains the fully qualified class name
+    of the concrete PropertyResolver implementation class that will be used
+    during the processing of value binding expressions.
+    It must be of type "ClassName".
+-->
+<!ELEMENT property-resolver (#PCDATA)>
+
+
+<!--
+    The "referenced-bean-class" element represents the fully qualified class
+    name of the Java class (either abstract or concrete) or Java interface
+    implemented by the corresponding referenced bean.  It must be of type
+    "ClassName".
+-->
+<!ELEMENT referenced-bean-class  (#PCDATA)>
+
+
+<!--
+    The "referenced-bean-name" element represents the attribute name under
+    which the corresponding referenced bean may be assumed to be stored,
+    in one of the scopes defined by the "Scope" type.  It must be of type
+    "Identifier".
+-->
+<!ELEMENT referenced-bean-name (#PCDATA)>
+
+
+<!--
+    The "render-kit-id" element represents an identifier for the
+    RenderKit represented by the parent "render-kit" element.
+-->
+<!ELEMENT render-kit-id   (#PCDATA)>
+
+
+<!--
+    The "render-kit-class" element represents the fully qualified class name
+    of a concrete RenderKit implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT render-kit-class (#PCDATA)>
+
+
+<!--
+    The "renderer-class" element represents the fully qualified class name
+    of a concrete Renderer implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT renderer-class  (#PCDATA)>
+
+<!--
+    The "render-kit-factory" element contains the fully qualified class name
+    of the concrete RenderKitFactory implementation class that will be called
+    when FactoryFinder.getFactory(RENDER_KIT_FACTORY) is called. It must be 
+    of type "ClassName".
+-->
+<!ELEMENT render-kit-factory (#PCDATA)>
+
+<!--
+    The "renderer-type" element represents a renderer type identifier for the
+    Renderer represented by the parent "renderer" element.
+-->
+<!ELEMENT renderer-type   (#PCDATA)>
+
+<!--
+    The "small-icon" element contains the resource path to a large (16x16)
+    icon image.  The image may be in either GIF or JPG format.
+-->
+<!ELEMENT small-icon      (#PCDATA)>
+
+<!--
+     The "supported-locale" element allows authors to declare which
+     locales are supported in this application instance.
+
+     It must be specified as :language:[_:country:[_:variant:]] without
+     the colons, for example "ja_JP_SJIS".  The separators between the
+     segments may be '-' or '_'.
+-->
+<!ELEMENT supported-locale (#PCDATA)>
+
+<!--
+    The "to-view" element contains the view identifier of the next view
+    that should be displayed if this navigation rule is matched.  It
+    must be of type "ViewId".
+-->
+<!ELEMENT to-view-id      (#PCDATA)>
+
+
+<!--
+    The "validator-class" element represents the fully qualified class name
+    of a concrete Validator implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT validator-class (#PCDATA)>
+
+
+<!--
+    The "validator-id" element represents the identifier under which the
+    corresponding Validator class should be registered.
+-->
+<!ELEMENT validator-id    (#PCDATA)>
+
+
+<!--
+    The "value" element is the String representation of a literal
+    value to which a scalar managed property will be set, or a value
+    binding expression ("#{...}") that will be used to calculate the
+    required value.  It will be converted as specified for the actual
+    property type.
+-->
+<!ELEMENT value (#PCDATA)>
+
+
+<!--
+    The "value-class" element defines the Java type to which each
+    "value" element's value will be converted to, prior to adding it to
+    the "list-entries" list for a managed property that is a
+    java.util.List, or a "map-entries" map for a managed property that
+    is a java.util.Map.  It must be of type "ClassName".  If omitted,
+    "java.lang.String" is assumed.
+-->
+<!ELEMENT value-class (#PCDATA)>
+
+<!--
+    The "variable-resolver" element contains the fully qualified class name
+    of the concrete VariableResolver implementation class that will be used
+    during the processing of value binding expressions.
+    It must be of type "ClassName".
+-->
+<!ELEMENT variable-resolver (#PCDATA)>
+
+
+<!-- ============================ Identifier Attributes ==================== -->
+
+
+<!ATTLIST action-listener                   id ID #IMPLIED>
+<!ATTLIST application                       id ID #IMPLIED>
+<!ATTLIST application-factory               id ID #IMPLIED>
+<!ATTLIST attribute                         id ID #IMPLIED>
+<!ATTLIST attribute-class                   id ID #IMPLIED>
+<!ATTLIST attribute-extension               id ID #IMPLIED>
+<!ATTLIST attribute-name                    id ID #IMPLIED>
+<!ATTLIST component                         id ID #IMPLIED>
+<!ATTLIST component-class                   id ID #IMPLIED>
+<!ATTLIST component-extension               id ID #IMPLIED>
+<!ATTLIST component-family                  id ID #IMPLIED>
+<!ATTLIST component-type                    id ID #IMPLIED>
+<!ATTLIST converter                         id ID #IMPLIED>
+<!ATTLIST converter-class                   id ID #IMPLIED>
+<!ATTLIST converter-for-class               id ID #IMPLIED>
+<!ATTLIST converter-id                      id ID #IMPLIED>
+<!ATTLIST default-locale                    id ID #IMPLIED>
+<!ATTLIST default-render-kit-id             id ID #IMPLIED>
+<!ATTLIST default-value                     id ID #IMPLIED>
+<!ATTLIST description                       id ID #IMPLIED>
+<!ATTLIST display-name                      id ID #IMPLIED>
+<!ATTLIST faces-config                      id ID #IMPLIED>
+<!ATTLIST faces-context-factory             id ID #IMPLIED>
+<!ATTLIST facet                             id ID #IMPLIED>
+<!ATTLIST facet-extension                   id ID #IMPLIED>
+<!ATTLIST facet-name                        id ID #IMPLIED>
+<!ATTLIST factory                           id ID #IMPLIED>
+<!ATTLIST from-action                       id ID #IMPLIED>
+<!ATTLIST from-outcome                      id ID #IMPLIED>
+<!ATTLIST from-view-id                      id ID #IMPLIED>
+<!ATTLIST icon                              id ID #IMPLIED>
+<!ATTLIST key                               id ID #IMPLIED>
+<!ATTLIST key-class                         id ID #IMPLIED>
+<!ATTLIST large-icon                        id ID #IMPLIED>
+<!ATTLIST lifecycle                         id ID #IMPLIED>
+<!ATTLIST lifecycle-factory                 id ID #IMPLIED>
+<!ATTLIST list-entries                      id ID #IMPLIED>
+<!ATTLIST locale-config                     id ID #IMPLIED>
+<!ATTLIST managed-bean                      id ID #IMPLIED>
+<!ATTLIST managed-bean-class                id ID #IMPLIED>
+<!ATTLIST managed-bean-name                 id ID #IMPLIED>
+<!ATTLIST managed-bean-scope                id ID #IMPLIED>
+<!ATTLIST managed-property                  id ID #IMPLIED>
+<!ATTLIST map-entries                       id ID #IMPLIED>
+<!ATTLIST map-entry                         id ID #IMPLIED>
+<!ATTLIST message-bundle                    id ID #IMPLIED>
+<!ATTLIST navigation-case                   id ID #IMPLIED>
+<!ATTLIST navigation-handler                id ID #IMPLIED>
+<!ATTLIST navigation-rule                   id ID #IMPLIED>
+<!ATTLIST null-value                        id ID #IMPLIED>
+<!ATTLIST phase-listener                    id ID #IMPLIED>
+<!ATTLIST property                          id ID #IMPLIED>
+<!ATTLIST property-class                    id ID #IMPLIED>
+<!ATTLIST property-extension                id ID #IMPLIED>
+<!ATTLIST property-name                     id ID #IMPLIED>
+<!ATTLIST property-resolver                 id ID #IMPLIED>
+<!ATTLIST redirect                          id ID #IMPLIED>
+<!ATTLIST referenced-bean                   id ID #IMPLIED>
+<!ATTLIST referenced-bean-class             id ID #IMPLIED>
+<!ATTLIST referenced-bean-name              id ID #IMPLIED>
+<!ATTLIST render-kit                        id ID #IMPLIED>
+<!ATTLIST render-kit-class                  id ID #IMPLIED>
+<!ATTLIST render-kit-factory                id ID #IMPLIED>
+<!ATTLIST render-kit-id                     id ID #IMPLIED>
+<!ATTLIST renderer                          id ID #IMPLIED>
+<!ATTLIST renderer-class                    id ID #IMPLIED>
+<!ATTLIST renderer-extension                id ID #IMPLIED>
+<!ATTLIST renderer-type                     id ID #IMPLIED>
+<!ATTLIST small-icon                        id ID #IMPLIED>
+<!ATTLIST state-manager                     id ID #IMPLIED>
+<!ATTLIST suggested-value                   id ID #IMPLIED>
+<!ATTLIST supported-locale                  id ID #IMPLIED>
+<!ATTLIST to-view-id                        id ID #IMPLIED>
+<!ATTLIST validator                         id ID #IMPLIED>
+<!ATTLIST validator-class                   id ID #IMPLIED>
+<!ATTLIST validator-id                      id ID #IMPLIED>
+<!ATTLIST value                             id ID #IMPLIED>
+<!ATTLIST value-class                       id ID #IMPLIED>
+<!ATTLIST variable-resolver                 id ID #IMPLIED>
+<!ATTLIST view-handler                      id ID #IMPLIED>
+
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_2.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_2.xsd
new file mode 100644
index 0000000000..296069a3ca
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_1_2.xsd
@@ -0,0 +1,2110 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common
+ Development and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Oracle in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+ 
+ Contributor(s):
+ 
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<xsd:schema
+     targetNamespace="http://java.sun.com/xml/ns/javaee"
+     xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+     xmlns:xml="http://www.w3.org/XML/1998/namespace"
+     elementFormDefault="qualified"
+     attributeFormDefault="unqualified"
+     version="1.2">
+
+    <xsd:annotation>
+        <xsd:documentation>
+            $Id$
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:annotation>
+        <xsd:documentation>
+
+            Copyright 2005 Sun Microsystems, Inc., 
+            901 San Antonio Road, 
+            Palo Alto, California 94303, U.S.A. 
+            All rights reserved.
+
+            Sun Microsystems, Inc. has intellectual property 
+            rights relating to technology described in this document. In
+            particular, and without limitation, these intellectual
+            property rights may include one or more of the U.S. patents
+            listed at http://www.sun.com/patents and one or more
+            additional patents or pending patent applications in the
+            U.S. and other countries.
+
+            This document and the technology which it describes are
+            distributed under licenses restricting their use, copying,
+            distribution, and decompilation. No part of this document
+            may be reproduced in any form by any means without prior
+            written authorization of Sun and its licensors, if any.
+
+            Third-party software, including font technology, is
+            copyrighted and licensed from Sun suppliers.
+
+            Sun, Sun Microsystems, the Sun logo, Solaris, Java, Java EE,
+            JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+            Cup logo are trademarks or registered trademarks of Sun
+            Microsystems, Inc. in the U.S. and other countries.
+
+            Federal Acquisitions: Commercial Software - Government Users
+            Subject to Standard License Terms and Conditions.
+
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:annotation>
+        <xsd:documentation>
+
+            <![CDATA[
+
+            The XML Schema for the JavaServer Faces Application
+            Configuration File (Version 1.2).
+
+            All JavaServer Faces configuration files must indicate
+            the JavaServer Faces schema by indicating the JavaServer
+            Faces namespace:
+
+            http://java.sun.com/xml/ns/javaee
+
+            and by indicating the version of the schema by
+            using the version element as shown below:
+
+            <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                    xsi:schemaLocation="..."
+                    version="1.2">
+                ...
+            </faces-config>
+
+            The instance documents may indicate the published
+            version of the schema using xsi:schemaLocation attribute
+            for javaee namespace with the following location:
+
+            http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd
+
+            ]]>
+
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:include schemaLocation="javaee_5.xsd"/>
+
+    <!-- **************************************************** -->
+
+    <xsd:element name = "faces-config" type="javaee:faces-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "faces-config" element is the root of the configuration
+                information hierarchy, and contains nested elements for all
+                of the other configuration settings.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:unique name="faces-config-converter-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Converter IDs must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:converter"/>
+            <xsd:field    xpath="javaee:converter-id"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-converter-for-class-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    'converter-for-class' element values must be unique
+                    within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:converter"/>
+            <xsd:field    xpath="javaee:converter-for-class"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-validator-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Validator IDs must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:validator"/>
+            <xsd:field    xpath="javaee:validator-id"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-managed-bean-name-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Managed bean names must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:managed-bean"/>
+            <xsd:field    xpath="javaee:managed-bean-name"/>
+        </xsd:unique>
+    </xsd:element>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "faces-config" element is the root of the configuration
+                information hierarchy, and contains nested elements for all
+                of the other configuration settings.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="application"
+                         type="javaee:faces-config-applicationType"/>
+            <xsd:element name="factory"
+                         type="javaee:faces-config-factoryType"/>
+            <xsd:element name="component"
+                         type="javaee:faces-config-componentType"/>
+            <xsd:element name="converter"
+                         type="javaee:faces-config-converterType"/>
+            <xsd:element name="managed-bean"
+                         type="javaee:faces-config-managed-beanType"/>
+            <xsd:element name="navigation-rule"
+                         type="javaee:faces-config-navigation-ruleType"/>
+            <xsd:element name="referenced-bean"
+                         type="javaee:faces-config-referenced-beanType"/>
+            <xsd:element name="render-kit"
+                         type="javaee:faces-config-render-kitType"/>
+            <xsd:element name="lifecycle"
+                         type="javaee:faces-config-lifecycleType"/>
+            <xsd:element name="validator"
+                         type="javaee:faces-config-validatorType"/>
+            <xsd:element name="faces-config-extension"
+                         type="javaee:faces-config-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:choice>
+            <xsd:attribute name = "id" type = "xsd:ID"/>
+            <xsd:attribute name="version"
+                type="javaee:faces-config-versionType"
+                use="required"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for faces-config.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-applicationType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "application" element provides a mechanism to define the
+                various per-application-singleton implementation artifacts for
+                a particular web application that is utilizing 
+                JavaServer Faces.  For nested elements that are not specified, 
+                the JSF implementation must provide a suitable default.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="action-listener"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "action-listener" element contains the fully 
+                            qualified class name of the concrete 
+                            ActionListener implementation class that will be 
+                            called during the Invoke Application phase of the 
+                            request processing lifecycle.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-render-kit-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "default-render-kit-id" element allows the 
+                            application to define a renderkit to be used other 
+                            than the standard one. 
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="message-bundle"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The base name of a resource bundle representing 
+                            the message resources for this application.  See 
+                            the JavaDocs for the "java.util.ResourceBundle" 
+                            class for more information on the syntax of 
+                            resource bundle names.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="navigation-handler"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "navigation-handler" element contains the 
+                            fully qualified class name of the concrete 
+                            NavigationHandler implementation class that will 
+                            be called during the Invoke Application phase 
+                            of the request processing lifecycle, if the 
+                            default ActionListener (provided by the JSF 
+                            implementation) is used.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="view-handler"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "view-handler" element contains the fully 
+                            qualified class name of the concrete ViewHandler 
+                            implementation class that will be called during 
+                            the Restore View and Render Response phases of the 
+                            request processing lifecycle.  The faces 
+                            implementation must provide a default 
+                            implementation of this class.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="state-manager"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "state-manager" element contains the fully 
+                            qualified class name of the concrete StateManager 
+                            implementation class that will be called during 
+                            the Restore View and Render Response phases of the 
+                            request processing lifecycle.  The faces 
+                            implementation must provide a default 
+                            implementation of this class.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="el-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "el-resolver" element contains the fully
+                            qualified class name of the concrete
+                            javax.el.ELResolver implementation class
+                            that will be used during the processing of
+                            EL expressions.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "property-resolver" element contains the fully 
+                            qualified class name of the concrete 
+                            PropertyResolver implementation class that will 
+                            be used during the processing of value binding 
+                            expressions.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="variable-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                            The "variable-resolver" element contains the fully
+                            qualified class name of the concrete 
+                            VariableResolver implementation class that will 
+                            be used during the processing of value binding 
+                            expressions.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element 
+                name="locale-config"
+                type="javaee:faces-config-locale-configType"/>
+            <xsd:element 
+                name="resource-bundle"
+                type="javaee:faces-config-application-resource-bundleType"/>
+            <xsd:element name="application-extension"
+                         type="javaee:faces-config-application-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            </xsd:choice>
+        <xsd:attribute name = "id" type = "xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-application-resource-bundleType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+              The resource-bundle element inside the application element
+              references a java.util.ResourceBundle instance by name
+              using the var element.  ResourceBundles referenced in this
+              manner may be returned by a call to
+              Application.getResourceBundle() passing the current
+              FacesContext for this request and the value of the var
+              element below.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="base-name"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The fully qualified class name of the
+                        java.util.ResourceBundle instance.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="var"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The name by which this ResourceBundle instance
+                        is retrieved by a call to
+                        Application.getResourceBundle().
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-application-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for application.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-factoryType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "factory" element provides a mechanism to define the 
+                various Factories that comprise parts of the implementation 
+                of JavaServer Faces.  For nested elements that are not 
+                specified, the JSF implementation must provide a suitable 
+                default.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="application-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "application-factory" element contains the 
+                        fully qualified class name of the concrete 
+                        ApplicationFactory implementation class that will 
+                        be called when 
+                        FactoryFinder.getFactory(APPLICATION_FACTORY) is
+                        called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="faces-context-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "faces-context-factory" element contains the
+                        fully qualified class name of the concrete
+                        FacesContextFactory implementation class that will
+                        be called when 
+                        FactoryFinder.getFactory(FACES_CONTEXT_FACTORY) 
+                        is called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="lifecycle-factory"
+                        type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "lifecycle-factory" element contains the fully
+                        qualified class name of the concrete LifecycleFactory
+                        implementation class that will be called when
+                        FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="render-kit-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "render-kit-factory" element contains the fully
+                        qualified class name of the concrete RenderKitFactory
+                        implementation class that will be called when
+                        FactoryFinder.getFactory(RENDER_KIT_FACTORY) is 
+                        called.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="factory-extension"
+                         type="javaee:faces-config-factory-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:choice>
+        <xsd:attribute name = "id" type = "xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-factory-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for factory.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-attributeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "attribute" element represents a named, typed, value
+                associated with the parent UIComponent via the generic
+                attributes mechanism.
+
+                Attribute names must be unique within the scope of the parent
+                (or related) component.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="attribute-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "attribute-name" element represents the name under 
+                        which the corresponding value will be stored, in the 
+                        generic attributes of the UIComponent we are related 
+                        to.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "attribute-class" element represents the Java type
+                        of the value associated with this attribute name.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-value"
+                         type="javaee:faces-config-default-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="suggested-value"
+                         type="javaee:faces-config-suggested-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="attribute-extension"
+                         type="javaee:faces-config-attribute-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name = "id" type = "xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-attribute-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for attribute.  It may contain 
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-componentType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "component" element represents a concrete UIComponent
+                implementation class that should be registered under the
+                specified type identifier, along with its associated 
+                properties and attributes.  Component types must be unique 
+                within the entire web application.
+
+                Nested "attribute" elements identify generic attributes that 
+                are recognized by the implementation logic of this component.
+                Nested "property" elements identify JavaBeans properties of 
+                the component class that may be exposed for manipulation 
+                via tools.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="component-type"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-type" element represents the name under 
+                        which the corresponding UIComponent class should be 
+                        registered.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="component-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-class" element represents the fully 
+                        qualified class name of a concrete UIComponent 
+                        implementation class.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet"
+                         type="javaee:faces-config-facetType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="component-extension"
+                         type="javaee:faces-config-component-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-component-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Extension element for component.  It may contain 
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-default-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "default-locale" element declares the default locale 
+                for this application instance.
+
+                It must be specified as :language:[_:country:[_:variant:]]
+                without the colons, for example "ja_JP_SJIS".  The
+                separators between the segments may be '-' or '_'.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:faces-config-localeType">
+                <xsd:attribute name="id" type="xsd:ID"/>                
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+
+    <xsd:complexType name="faces-config-default-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "default-value" contains the value for the property or
+                attribute in which this element resides.  This value differs
+                from the "suggested-value" in that the property or attribute
+                must take the value, whereas in "suggested-value" taking the
+                value is optional.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-el-expressionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                EL expressions present within a faces config file
+                must start with the character sequence of '#{' and
+                end with '}'.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:string">
+            <xsd:pattern value="#\{.*\}"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-facetType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Define the name and other design-time information for a facet
+                that is associated with a renderer or a component.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="facet-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "facet-name" element represents the facet name 
+                        under which a UIComponent will be added to its parent.  
+                        It must be of type "Identifier".
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet-extension"
+                         type="javaee:faces-config-facet-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-facet-extensionType">
+         <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for facet.  It may contain implementation
+                specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-from-view-idType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The value of from-view-id must contain one of the following 
+                values:
+
+                  - The exact match for a view identifier that is recognized
+                    by the the ViewHandler implementation being used (such as
+                    "/index.jsp" if you are using the default ViewHandler).
+
+                  - A proper prefix of a view identifier, plus a trailing 
+                    "*" character.  This pattern indicates that all view 
+                    identifiers that match the portion of the pattern up to 
+                    the asterisk will match the surrounding rule.  When more 
+                    than one match exists, the match with the longest pattern 
+                    is selected.
+
+                  - An "*" character, which means that this pattern applies 
+                    to all view identifiers.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-from-actionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "from-action" element contains an action reference 
+                expression that must have been executed (by the default 
+                ActionListener for handling application level events) 
+                in order to select the navigation rule.  If not specified, 
+                this rule will be relevant no matter which action reference 
+                was executed (or if no action reference was executed).
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:faces-config-el-expressionType">
+                <xsd:attribute name="id" type="xsd:ID"/>
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-converterType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "converter" element represents a concrete Converter
+                implementation class that should be registered under the
+                specified converter identifier.  Converter identifiers must 
+                be unique within the entire web application.
+
+                Nested "attribute" elements identify generic attributes that
+                may be configured on the corresponding UIComponent in order 
+                to affect the operation of the Converter.  Nested "property"
+                elements identify JavaBeans properties of the Converter
+                implementation class that may be configured to affect the
+                operation of the Converter.  "attribute" and "property" 
+                elements are intended to allow component developers to 
+                more completely describe their components to tools and users.
+                These elements have no required runtime semantics.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:choice>
+                <xsd:element name="converter-id"
+                             type="javaee:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+
+                            The "converter-id" element represents the 
+                            identifier under which the corresponding 
+                            Converter class should be registered.
+
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                
+                <xsd:element name="converter-for-class"
+                             type="javaee:fully-qualified-classType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+
+                            The "converter-for-class" element represents the 
+                            fully qualified class name for which a Converter 
+                            class will be registered.
+
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+            
+            <xsd:element name="converter-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "converter-class" element represents the fully
+                        qualified class name of a concrete Converter 
+                        implementation class.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Nested "attribute" elements identify generic
+                       attributes that may be configured on the
+                       corresponding UIComponent in order to affect the
+                       operation of the Converter.  This attribute is
+                       primarily for design-time tools and is not
+                       specified to have any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Nested "property" elements identify JavaBeans
+                       properties of the Converter implementation class
+                       that may be configured to affect the operation of
+                       the Converter.  This attribute is primarily for
+                       design-time tools and is not specified to have
+                       any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="converter-extension"
+                         type="javaee:faces-config-converter-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-converter-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for converter.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-lifecycleType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "lifecycle" element provides a mechanism to specify
+                modifications to the behaviour of the default Lifecycle
+                implementation for this web application.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="phase-listener"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                
+                <xsd:annotation>
+                    <xsd:documentation>
+                    
+                        The "phase-listener" element contains the fully 
+                        qualified class name of the concrete PhaseListener 
+                        implementation class that will be registered on 
+                        the Lifecycle.
+                    
+                    </xsd:documentation>
+            </xsd:annotation>                
+            </xsd:element>
+            <xsd:element name="lifecycle-extension"
+                         type="javaee:faces-config-lifecycle-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-lifecycle-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for lifecycle.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    
+    <!-- **************************************************** -->
+    
+    <xsd:simpleType name="faces-config-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The localeType defines valid locale defined by ISO-639-1
+                and ISO-3166.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:restriction base="xsd:string">
+            <xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?"/>
+        </xsd:restriction>
+  </xsd:simpleType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-locale-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "locale-config" element allows the app developer to 
+                declare the supported locales for this application.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:element name="default-locale"
+                         type="javaee:faces-config-default-localeType"
+                         minOccurs="0">
+            </xsd:element>
+            <xsd:element name="supported-locale"
+                         type="javaee:faces-config-supported-localeType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">                
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-managed-beanType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "managed-bean" element represents a JavaBean, of a 
+                particular class, that will be dynamically instantiated 
+                at runtime (by the default VariableResolver implementation) 
+                if it is referenced as the first element of a value binding 
+                expression, and no corresponding bean can be identified in 
+                any scope.  In addition to the creation of the managed bean, 
+                and the optional storing of it into the specified scope, 
+                the nested managed-property elements can be used to 
+                initialize the contents of settable JavaBeans properties of 
+                the created instance.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="managed-bean-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-name" element represents the 
+                        attribute name under which a managed bean will 
+                        be searched for, as well as stored (unless the 
+                        "managed-bean-scope" value is "none").
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="managed-bean-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-class" element represents the fully
+                        qualified class name of the Java class that will be 
+                        used`to instantiate a new instance if creation of the 
+                        specified`managed bean is requested.
+
+                        The specified class must conform to standard JavaBeans
+                        conventions.  In particular, it must have a public
+                        zero-arguments constructor, and zero or more public
+                        property setters.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element 
+                name="managed-bean-scope"
+                type="javaee:faces-config-managed-bean-scopeOrNoneType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-scope" element represents the scope 
+                        into which a newly created instance of the specified 
+                        managed bean will be stored (unless the value is 
+                        "none").
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="managed-property"
+                             type="javaee:faces-config-managed-propertyType"
+                             minOccurs="0"
+                             maxOccurs="unbounded"/>
+                <xsd:element name="map-entries"
+                             type="javaee:faces-config-map-entriesType"/>
+                <xsd:element name="list-entries"
+                             type="javaee:faces-config-list-entriesType"/>
+            </xsd:choice>
+            <xsd:element name="managed-bean-extension"
+                         type="javaee:faces-config-managed-bean-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-managed-bean-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for managed-bean.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+    
+    <xsd:complexType name="faces-config-managed-bean-scopeOrNoneType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                <![CDATA[
+                Defines the legal values for the <managed-bean-scope>
+                element's body content, which includes all of the scopes
+                normally used in a web application, plus the "none" value
+                indicating that a created bean should not be stored into
+                any scope.
+                ]]>
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string">
+                <xsd:enumeration value="request"/>
+                <xsd:enumeration value="session"/>
+                <xsd:enumeration value="application"/>
+                <xsd:enumeration value="none"/>
+            </xsd:restriction>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-managed-propertyType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "managed-property" element represents an individual 
+                property of a managed bean that will be configured to the 
+                specified value (or value set) if the corresponding 
+                managed bean is automatically created.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="property-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "property-name" element represents the JavaBeans 
+                        property name under which the corresponding value may 
+                        be stored.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-class"
+                         type="javaee:java-typeType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                    
+                        The "property-class" element represents the Java type 
+                        of the value associated with this property name.  
+                        If not specified, it can be inferred from existing 
+                        classes; however, this element should be specified 
+                        if the configuration file is going to be the source 
+                        for generating the corresponding classes.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="map-entries"
+                             type="javaee:faces-config-map-entriesType"/>
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType">
+                </xsd:element>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+                <xsd:element name="list-entries"
+                             type="javaee:faces-config-list-entriesType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-map-entryType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "map-entry" element reprsents a single key-entry pair 
+                that will be added to the computed value of a managed 
+                property of type java.util.Map.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="key"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "key" element is the String representation of a 
+                        map key that will be stored in a managed property of 
+                        type java.util.Map.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType"/>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-map-entriesType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "map-entries' element represents a set of key-entry pairs 
+                that will be added to the computed value of a managed property 
+                of type java.util.Map.  In addition, the Java class types 
+                of the key and entry values may be optionally declared.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="key-class"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "key-class" element defines the Java type to which 
+                        each "key" element in a set of "map-entry" elements 
+                        will be converted to.  If omitted, "java.lang.String" 
+                        is assumed.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="value-class"
+                         type="javaee:faces-config-value-classType"
+                         minOccurs="0"/>                
+            <xsd:element name="map-entry"
+                         type="javaee:faces-config-map-entryType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-navigation-caseType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "navigation-case" element describes a particular 
+                combination of conditions that must match for this case to 
+                be executed, and the view id of the component tree that 
+                should be selected next.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="from-action"
+                         type="javaee:faces-config-from-actionType"
+                         minOccurs="0">
+            </xsd:element>
+            <xsd:element name="from-outcome"
+                         type="javaee:string" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "from-outcome" element contains a logical outcome
+                        string returned by the execution of an application
+                        action method selected via an "actionRef" property
+                        (or a literal value specified by an "action" property)
+                        of a UICommand component.  If specified, this rule 
+                        will be relevant only if the outcome value matches 
+                        this element's value.  If not specified, this rule 
+                        will be relevant no matter what the outcome value was.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="to-view-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "to-view-id" element contains the view identifier 
+                        of the next view that should be displayed if this
+                        navigation rule is matched.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element 
+                name="redirect"
+                type="javaee:faces-config-redirectType" minOccurs="0"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-navigation-ruleType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "navigation-rule" element represents an individual 
+                decision rule that will be utilized by the default 
+                NavigationHandler implementation to make decisions on 
+                what view should be displayed next, based on the 
+                view id being processed.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="from-view-id"
+                         type="javaee:faces-config-from-view-idType"
+                         minOccurs="0"/>
+            <xsd:element name="navigation-case"
+                         type="javaee:faces-config-navigation-caseType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element 
+                name="navigation-rule-extension"
+                type="javaee:faces-config-navigation-rule-extensionType"
+                minOccurs="0"
+                maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-navigation-rule-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for navigation-rule.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-null-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "null-value" element indicates that the managed
+                property in which we are nested will be explicitly
+                set to null if our managed bean is automatically
+                created.  This is different from omitting the managed
+                property element entirely, which will cause no
+                property setter to be called for this property.
+
+                The "null-value" element can only be used when the
+                associated "property-class" identifies a Java class,
+                not a Java primitive.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+    
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-propertyType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "property" element represents a JavaBean property of the 
+                Java class represented by our parent element.
+
+                Property names must be unique within the scope of the Java 
+                class that is represented by the parent element, and must 
+                correspond to property names that will be recognized when 
+                performing introspection against that class via 
+                java.beans.Introspector.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="property-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "property-name" element represents the JavaBeans 
+                        property name under which the corresponding value 
+                        may be stored.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-class"
+                         type="javaee:java-typeType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "property-class" element represents the Java type 
+                        of the value associated with this property name.  
+                        If not specified, it can be inferred from existing 
+                        classes; however, this element should be specified if 
+                        the configuration file is going to be the source for 
+                        generating the corresponding classes.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-value"
+                         type="javaee:faces-config-default-valueType"
+                         minOccurs="0"/>               
+            <xsd:element name="suggested-value"
+                         type="javaee:faces-config-suggested-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="property-extension"
+                         type="javaee:faces-config-property-extensionType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-property-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for property.  It may contain 
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-redirectType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                    The "redirect" element indicates that navigation to the
+                    specified "to-view-id" should be accomplished by 
+                    performing an HTTP redirect rather than the usual 
+                    ViewHandler mechanisms.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-referenced-beanType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "referenced-bean" element represents at design time the 
+                promise that a Java object of the specified type will exist at 
+                runtime in some scope, under the specified key.  This can be 
+                used by design time tools to construct user interface dialogs 
+                based on the properties of the specified class.  The presence 
+                or absence of a referenced bean element has no impact on the 
+                JavaServer Faces runtime environment inside a web application.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="referenced-bean-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "referenced-bean-name" element represents the 
+                        attribute name under which the corresponding 
+                        referenced bean may be assumed to be stored, in one 
+                        of 'request', 'session', or 'application' scopes.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="referenced-bean-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "referenced-bean-class" element represents the 
+                        fully qualified class name of the Java class 
+                        (either abstract or concrete) or Java interface 
+                        implemented by the corresponding referenced bean. 
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-render-kitType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "render-kit" element represents a concrete RenderKit 
+                implementation that should be registered under the specified 
+                render-kit-id.  If no render-kit-id is specified, the 
+                identifier of the default RenderKit 
+                (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="render-kit-id"
+                         type="javaee:string"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "render-kit-id" element represents an identifier 
+                        for the RenderKit represented by the parent 
+                        "render-kit" element.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="render-kit-class"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "render-kit-class" element represents the fully 
+                        qualified class name of a concrete RenderKit 
+                        implementation class.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="renderer"
+                         type="javaee:faces-config-rendererType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded"/>
+            <xsd:element name="render-kit-extension"
+                         type="javaee:faces-config-render-kit-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-rendererType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "renderer" element represents a concrete Renderer 
+                implementation class that should be registered under the 
+                specified component family and renderer type identifiers, 
+                in the RenderKit associated with the parent "render-kit" 
+                element.  Combinations of component family and 
+                renderer type must be unique within the RenderKit 
+                associated with the parent "render-kit" element.
+
+                Nested "attribute" elements identify generic component 
+                attributes that are recognized by this renderer.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="component-family"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-family" element represents the 
+                        component family for which the Renderer represented 
+                        by the parent "renderer" element will be used.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>                    
+            </xsd:element>
+            <xsd:element name="renderer-type"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "renderer-type" element represents a renderer type 
+                        identifier for the Renderer represented by the parent 
+                        "renderer" element.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="renderer-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "renderer-class" element represents the fully
+                        qualified class name of a concrete Renderer
+                        implementation class.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet"
+                         type="javaee:faces-config-facetType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="renderer-extension"
+                         type="javaee:faces-config-renderer-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-renderer-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for renderer.  It may contain implementation
+                specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-render-kit-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for render-kit.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-suggested-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "suggested-value" contains the value for the property or
+                attribute in which this element resides.  This value is 
+                advisory only and is intended for tools to use when 
+                populating pallettes.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-supported-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "supported-locale" element allows authors to declare
+                which locales are supported in this application instance.
+
+                It must be specified as :language:[_:country:[_:variant:]]
+                without the colons, for example "ja_JP_SJIS".  The
+                separators between the segments may be '-' or '_'.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:faces-config-localeType">
+                <xsd:attribute name="id" type="xsd:ID"/> 
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-validatorType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "validator" element represents a concrete Validator
+                implementation class that should be registered under the
+                specified validator identifier.  Validator identifiers must 
+                be unique within the entire web application.
+
+                Nested "attribute" elements identify generic attributes that 
+                may be configured on the corresponding UIComponent in order 
+                to affect the operation of the Validator.  Nested "property"
+                elements identify JavaBeans properties of the Validator
+                implementation class that may be configured to affect the
+                operation of the Validator.  "attribute" and "property" 
+                elements are intended to allow component developers to 
+                more completely describe their components to tools and users.
+                These elements have no required runtime semantics.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="validator-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "validator-id" element represents the identifier 
+                        under which the corresponding Validator class should 
+                        be registered.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>                
+            </xsd:element>
+            <xsd:element name="validator-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "validator-class" element represents the fully 
+                        qualified class name of a concrete Validator 
+                        implementation class.  
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                       Nested "attribute" elements identify generic
+                       attributes that may be configured on the
+                       corresponding UIComponent in order to affect the
+                       operation of the Validator.  This attribute is
+                       primarily for design-time tools and is not
+                       specified to have any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+
+            </xsd:element>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Nested "property" elements identify JavaBeans
+                       properties of the Validator implementation class
+                       that may be configured to affect the operation of
+                       the Validator.  This attribute is primarily for
+                       design-time tools and is not specified to have
+                       any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="validator-extension"
+                         type="javaee:faces-config-validator-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-validator-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for validator.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "value" element is the String representation of
+                a literal value to which a scalar managed property
+                will be set, or a value binding expression ("#{...}")
+                that will be used to calculate the required value.
+                It will be converted as specified for the actual
+                property type.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:union 
+            memberTypes="javaee:faces-config-el-expressionType xsd:string"/>
+    </xsd:simpleType>
+    
+    <!-- **************************************************** -->
+    
+    <xsd:complexType name="faces-config-value-classType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "value-class" element defines the Java type to which each
+                "value" element's value will be converted to, prior to adding 
+                it to the "list-entries" list for a managed property that is 
+                a java.util.List, or a "map-entries" map for a managed 
+                property that is a java.util.Map.  
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:fully-qualified-classType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-list-entriesType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "list-entries" element represents a set of initialization
+                elements for a managed property that is a java.util.List or an
+                array.  In the former case, the "value-class" element can 
+                optionally be used to declare the Java type to which each 
+                value should be converted before adding it to the Collection.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="value-class"
+                         type="javaee:faces-config-value-classType"
+                         minOccurs="0"/>
+            <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType"/>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-versionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                This type contains the recognized versions of
+                faces-config supported.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:token">
+            <xsd:enumeration value="1.2"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <!-- **************************************************** -->
+
+</xsd:schema>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_0.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_0.xsd
new file mode 100644
index 0000000000..50c8804b9d
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_0.xsd
@@ -0,0 +1,2732 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Oracle in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+
+<xsd:schema
+     targetNamespace="http://java.sun.com/xml/ns/javaee"
+     xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+     xmlns:xml="http://www.w3.org/XML/1998/namespace"
+     elementFormDefault="qualified"
+     attributeFormDefault="unqualified"
+     version="2.0">
+
+    <xsd:annotation>
+        <xsd:documentation>
+            $Id: web-facesconfig_2_0.xsd,v 1.1.8.2 2008/03/20 21:12:50 edburns Exp $
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:annotation>
+        <xsd:documentation>
+
+            Copyright 2007 Sun Microsystems, Inc., 
+            901 San Antonio Road, 
+            Palo Alto, California 94303, U.S.A. 
+            All rights reserved.
+
+            Sun Microsystems, Inc. has intellectual property 
+            rights relating to technology described in this document. In
+            particular, and without limitation, these intellectual
+            property rights may include one or more of the U.S. patents
+            listed at http://www.sun.com/patents and one or more
+            additional patents or pending patent applications in the
+            U.S. and other countries.
+
+            This document and the technology which it describes are
+            distributed under licenses restricting their use, copying,
+            distribution, and decompilation. No part of this document
+            may be reproduced in any form by any means without prior
+            written authorization of Sun and its licensors, if any.
+
+            Third-party software, including font technology, is
+            copyrighted and licensed from Sun suppliers.
+
+            Sun, Sun Microsystems, the Sun logo, Solaris, Java, Java EE,
+            JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+            Cup logo are trademarks or registered trademarks of Sun
+            Microsystems, Inc. in the U.S. and other countries.
+
+            Federal Acquisitions: Commercial Software - Government Users
+            Subject to Standard License Terms and Conditions.
+
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:annotation>
+        <xsd:documentation>
+
+            <![CDATA[
+
+            The XML Schema for the JavaServer Faces Application
+            Configuration File (Version 2.0).
+
+            All JavaServer Faces configuration files must indicate
+            the JavaServer Faces schema by indicating the JavaServer
+            Faces namespace:
+
+            http://java.sun.com/xml/ns/javaee
+
+            and by indicating the version of the schema by
+            using the version element as shown below:
+
+            <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                    xsi:schemaLocation="..."
+                    version="2.0">
+                ...
+            </faces-config>
+
+            The instance documents may indicate the published
+            version of the schema using xsi:schemaLocation attribute
+            for javaee namespace with the following location:
+
+            http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd
+
+            ]]>
+
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:include schemaLocation="javaee_5.xsd"/>
+
+    <!-- **************************************************** -->
+
+    <xsd:element name = "faces-config" type="javaee:faces-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "faces-config" element is the root of the configuration
+                information hierarchy, and contains nested elements for all
+                of the other configuration settings.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:unique name="faces-config-behavior-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Behavior IDs must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:behavior"/>
+            <xsd:field    xpath="javaee:behavior-id"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-converter-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Converter IDs must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:converter"/>
+            <xsd:field    xpath="javaee:converter-id"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-converter-for-class-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    'converter-for-class' element values must be unique
+                    within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:converter"/>
+            <xsd:field    xpath="javaee:converter-for-class"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-validator-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Validator IDs must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:validator"/>
+            <xsd:field    xpath="javaee:validator-id"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-managed-bean-name-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Managed bean names must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:managed-bean"/>
+            <xsd:field    xpath="javaee:managed-bean-name"/>
+        </xsd:unique>
+    </xsd:element>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "faces-config" element is the root of the configuration
+                information hierarchy, and contains nested elements for all
+                of the other configuration settings.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="application"
+                         type="javaee:faces-config-applicationType"/>
+            <xsd:element name="ordering"
+                         type="javaee:faces-config-orderingType"/>
+            <xsd:element name="absolute-ordering"
+                         type="javaee:faces-config-absoluteOrderingType"
+                         minOccurs="0"
+                         maxOccurs="1"/>
+            <xsd:element name="factory"
+                         type="javaee:faces-config-factoryType"/>
+            <xsd:element name="component"
+                         type="javaee:faces-config-componentType"/>
+            <xsd:element name="converter"
+                         type="javaee:faces-config-converterType"/>
+            <xsd:element name="managed-bean"
+                         type="javaee:faces-config-managed-beanType"/>
+            <xsd:element name="name"
+                         type="javaee:java-identifierType"
+                         minOccurs="0"
+                         maxOccurs="1">
+              <xsd:annotation>
+                  <xsd:documentation>
+                      
+                      The "name" element within the top level "faces-config"
+                      element declares the name of this application
+                      configuration resource.  Such names are used
+                      in the document ordering scheme specified in section
+                      JSF.11.4.6.
+                      
+                  </xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+                             
+            <xsd:element name="navigation-rule"
+                         type="javaee:faces-config-navigation-ruleType"/>
+            <xsd:element name="referenced-bean"
+                         type="javaee:faces-config-referenced-beanType"/>
+            <xsd:element name="render-kit"
+                         type="javaee:faces-config-render-kitType"/>
+            <xsd:element name="lifecycle"
+                         type="javaee:faces-config-lifecycleType"/>
+            <xsd:element name="validator"
+                         type="javaee:faces-config-validatorType"/>
+            <xsd:element name="behavior"
+                         type="javaee:faces-config-behaviorType"/>
+            <xsd:element name="faces-config-extension"
+                         type="javaee:faces-config-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:choice>
+        <xsd:attribute name="metadata-complete"
+                       type="xsd:boolean"
+                       use="optional">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    The metadata-complete attribute defines whether this
+                    JavaServer Faces application is complete, or whether
+                    the class files available to this module and packaged with
+                    this application should be examined for annotations
+                    that specify configuration information.
+                    
+                    This attribute is only inspected on the application 
+                    configuration resource file located at "WEB-INF/faces-config.xml".
+                    The presence of this attribute on any application configuration
+                    resource other than the one located at "WEB-INF/faces-config.xml",
+                    including any files named using the javax.faces.CONFIG_FILES
+                    attribute, must be ignored.
+
+                    If metadata-complete is set to "true", the JavaServer Faces
+                    runtime must ignore any annotations that specify configuration
+                    information, which might be present in the class files
+                    of the application.
+
+                    If metadata-complete is not specified or is set to
+                    "false", the JavaServer Faces runtime must examine the class
+                    files of the application for annotations, as specified by
+                    the specification.
+
+                    If "WEB-INF/faces-config.xml" is not present, the JavaServer
+                    Faces runtime will assume metadata-complete to be "false".
+
+                    The value of this attribute will have no impact on
+                    runtime annotations such as @ResourceDependency or
+                    @ListenerFor.
+                </xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="id" type="xsd:ID" />
+        <xsd:attribute name="version"
+                       type="javaee:faces-config-versionType"
+                       use="required"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for faces-config.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+
+    <xsd:complexType name="faces-config-orderingType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+              Please see section JSF.11.4.6 for the specification of this element.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="after" 
+                         type="javaee:faces-config-ordering-orderingType"
+                         minOccurs="0"
+                         maxOccurs="1"/>
+            <xsd:element name="before" 
+                         type="javaee:faces-config-ordering-orderingType"
+                         minOccurs="0"
+                         maxOccurs="1"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-ordering-orderingType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                This element contains a sequence of "id" elements, each of which
+                refers to an application configuration resource by the "id"
+                declared on its faces-config element.  This element can also contain
+                a single "others" element which specifies that this document comes
+                before or after other documents within the application.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="name" type="javaee:java-identifierType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="others" type="javaee:faces-config-ordering-othersType" minOccurs="0" maxOccurs="1" />
+        </xsd:sequence>
+    </xsd:complexType>
+    
+    <xsd:complexType name="faces-config-ordering-othersType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                This element indicates that the ordering sub-element in which
+                it was placed should take special action regarding the ordering
+                of this application resource relative to other
+                application configuration resources.  See section JSF.11.4.6
+                for the complete specification.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+
+    <xsd:complexType name="faces-config-absoluteOrderingType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+              Only relevant if this is placed within the /WEB-INF/faces-config.xml.
+              Please see section JSF.11.4.6 for the specification for details.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="name" type="javaee:java-identifierType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="others" type="javaee:faces-config-ordering-othersType" minOccurs="0" maxOccurs="1" />
+        </xsd:choice>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+
+    <xsd:complexType name="faces-config-applicationType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "application" element provides a mechanism to define the
+                various per-application-singleton implementation artifacts for
+                a particular web application that is utilizing 
+                JavaServer Faces.  For nested elements that are not specified, 
+                the JSF implementation must provide a suitable default.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="action-listener"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "action-listener" element contains the fully 
+                            qualified class name of the concrete 
+                            ActionListener implementation class that will be 
+                            called during the Invoke Application phase of the 
+                            request processing lifecycle.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-render-kit-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "default-render-kit-id" element allows the 
+                            application to define a renderkit to be used other 
+                            than the standard one. 
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="message-bundle"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The base name of a resource bundle representing 
+                            the message resources for this application.  See 
+                            the JavaDocs for the "java.util.ResourceBundle" 
+                            class for more information on the syntax of 
+                            resource bundle names.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="navigation-handler"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "navigation-handler" element contains the 
+                            fully qualified class name of the concrete 
+                            NavigationHandler implementation class that will 
+                            be called during the Invoke Application phase 
+                            of the request processing lifecycle, if the 
+                            default ActionListener (provided by the JSF 
+                            implementation) is used.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="view-handler"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "view-handler" element contains the fully 
+                            qualified class name of the concrete ViewHandler 
+                            implementation class that will be called during 
+                            the Restore View and Render Response phases of the 
+                            request processing lifecycle.  The faces 
+                            implementation must provide a default 
+                            implementation of this class.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="state-manager"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "state-manager" element contains the fully 
+                            qualified class name of the concrete StateManager 
+                            implementation class that will be called during 
+                            the Restore View and Render Response phases of the 
+                            request processing lifecycle.  The faces 
+                            implementation must provide a default 
+                            implementation of this class.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="el-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "el-resolver" element contains the fully
+                            qualified class name of the concrete
+                            javax.el.ELResolver implementation class
+                            that will be used during the processing of
+                            EL expressions.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "property-resolver" element contains the fully 
+                            qualified class name of the concrete 
+                            PropertyResolver implementation class that will 
+                            be used during the processing of value binding 
+                            expressions.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="variable-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                            The "variable-resolver" element contains the fully
+                            qualified class name of the concrete 
+                            VariableResolver implementation class that will 
+                            be used during the processing of value binding 
+                            expressions.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="resource-handler"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        <![CDATA[
+
+                            The "resource-handler" element contains the
+                            fully qualified class name of the concrete
+                            ResourceHandler implementation class that
+                            will be used during rendering and decoding
+                            of resource requests The standard
+                            constructor based decorator pattern used for
+                            other application singletons will be
+                            honored.
+
+                        ]]>
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="system-event-listener"
+                         type="javaee:faces-config-system-event-listenerType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+            </xsd:element>
+            <xsd:element 
+                name="locale-config"
+                type="javaee:faces-config-locale-configType"/>
+            <xsd:element 
+                name="resource-bundle"
+                type="javaee:faces-config-application-resource-bundleType"/>
+            <xsd:element name="application-extension"
+                         type="javaee:faces-config-application-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element 
+                name="default-validators"
+                type="javaee:faces-config-default-validatorsType"/>
+            </xsd:choice>
+        <xsd:attribute name = "id" type = "xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-application-resource-bundleType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+              The resource-bundle element inside the application element
+              references a java.util.ResourceBundle instance by name
+              using the var element.  ResourceBundles referenced in this
+              manner may be returned by a call to
+              Application.getResourceBundle() passing the current
+              FacesContext for this request and the value of the var
+              element below.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="base-name"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The fully qualified class name of the
+                        java.util.ResourceBundle instance.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="var"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The name by which this ResourceBundle instance
+                        is retrieved by a call to
+                        Application.getResourceBundle().
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-application-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for application.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-factoryType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "factory" element provides a mechanism to define the 
+                various Factories that comprise parts of the implementation 
+                of JavaServer Faces.  For nested elements that are not 
+                specified, the JSF implementation must provide a suitable 
+                default.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="application-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "application-factory" element contains the 
+                        fully qualified class name of the concrete 
+                        ApplicationFactory implementation class that will 
+                        be called when 
+                        FactoryFinder.getFactory(APPLICATION_FACTORY) is
+                        called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="exception-handler-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "exception-handler-factory" element contains the
+                        fully qualified class name of the concrete
+                        ExceptionHandlerFactory implementation class that will
+                        be called when 
+                        FactoryFinder.getFactory(EXCEPTION_HANDLER_FACTORY) 
+                        is called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="external-context-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "external-context-factory" element contains the
+                        fully qualified class name of the concrete
+                        ExternalContextFactory implementation class that will
+                        be called when
+                        FactoryFinder.getFactory(EXTERNAL_CONTEXT_FACTORY)
+                        is called.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            
+            <xsd:element name="faces-context-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "faces-context-factory" element contains the
+                        fully qualified class name of the concrete
+                        FacesContextFactory implementation class that will
+                        be called when 
+                        FactoryFinder.getFactory(FACES_CONTEXT_FACTORY) 
+                        is called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+
+            <xsd:element name="partial-view-context-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "partial-view-context-factory" element contains the
+                        fully qualified class name of the concrete
+                        PartialViewContextFactory implementation class that will
+                        be called when FactoryFinder.getFactory
+                        (FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY) is called.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+
+            <xsd:element name="lifecycle-factory"
+                        type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "lifecycle-factory" element contains the fully
+                        qualified class name of the concrete LifecycleFactory
+                        implementation class that will be called when
+                        FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="view-declaration-language-factory"
+                        type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "view-declaration-language-factory" element contains 
+                        the fully qualified class name of the concrete 
+                        ViewDeclarationLanguageFactory
+                        implementation class that will be called when
+                        FactoryFinder.getFactory(VIEW_DECLARATION_FACTORY) is called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="tag-handler-delegate-factory"
+                        type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        The "tag-handler-delegate-factory" element contains 
+                        the fully qualified class name of the concrete 
+                        ViewDeclarationLanguageFactory
+                        implementation class that will be called when
+                        FactoryFinder.getFactory(TAG_HANDLER_DELEGATE_FACTORY) is called.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="render-kit-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "render-kit-factory" element contains the fully
+                        qualified class name of the concrete RenderKitFactory
+                        implementation class that will be called when
+                        FactoryFinder.getFactory(RENDER_KIT_FACTORY) is 
+                        called.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="visit-context-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "visit-context-factory" element contains the fully
+                        qualified class name of the concrete VisitContextFactory
+                        implementation class that will be called when
+                        FactoryFinder.getFactory(VISIT_CONTEXT_FACTORY) is 
+                        called.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="factory-extension"
+                         type="javaee:faces-config-factory-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:choice>
+        <xsd:attribute name = "id" type = "xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-factory-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for factory.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-attributeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "attribute" element represents a named, typed, value
+                associated with the parent UIComponent via the generic
+                attributes mechanism.
+
+                Attribute names must be unique within the scope of the parent
+                (or related) component.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="attribute-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "attribute-name" element represents the name under 
+                        which the corresponding value will be stored, in the 
+                        generic attributes of the UIComponent we are related 
+                        to.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "attribute-class" element represents the Java type
+                        of the value associated with this attribute name.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-value"
+                         type="javaee:faces-config-default-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="suggested-value"
+                         type="javaee:faces-config-suggested-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="attribute-extension"
+                         type="javaee:faces-config-attribute-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name = "id" type = "xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-attribute-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for attribute.  It may contain 
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-componentType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "component" element represents a concrete UIComponent
+                implementation class that should be registered under the
+                specified type identifier, along with its associated 
+                properties and attributes.  Component types must be unique 
+                within the entire web application.
+
+                Nested "attribute" elements identify generic attributes that 
+                are recognized by the implementation logic of this component.
+                Nested "property" elements identify JavaBeans properties of 
+                the component class that may be exposed for manipulation 
+                via tools.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="component-type"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-type" element represents the name under 
+                        which the corresponding UIComponent class should be 
+                        registered.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="component-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-class" element represents the fully 
+                        qualified class name of a concrete UIComponent 
+                        implementation class.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet"
+                         type="javaee:faces-config-facetType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="component-extension"
+                         type="javaee:faces-config-component-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-component-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Extension element for component.  It may contain 
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-default-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "default-locale" element declares the default locale 
+                for this application instance.
+
+                It must be specified as :language:[_:country:[_:variant:]]
+                without the colons, for example "ja_JP_SJIS".  The
+                separators between the segments may be '-' or '_'.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:faces-config-localeType">
+                <xsd:attribute name="id" type="xsd:ID"/>                
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+
+    <xsd:complexType name="faces-config-default-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "default-value" contains the value for the property or
+                attribute in which this element resides.  This value differs
+                from the "suggested-value" in that the property or attribute
+                must take the value, whereas in "suggested-value" taking the
+                value is optional.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-el-expressionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                EL expressions present within a faces config file
+                must start with the character sequence of '#{' and
+                end with '}'.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:string">
+            <xsd:pattern value="#\{.*\}"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-facetType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Define the name and other design-time information for a facet
+                that is associated with a renderer or a component.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="facet-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "facet-name" element represents the facet name 
+                        under which a UIComponent will be added to its parent.  
+                        It must be of type "Identifier".
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet-extension"
+                         type="javaee:faces-config-facet-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-facet-extensionType">
+         <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for facet.  It may contain implementation
+                specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-from-view-idType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The value of from-view-id must contain one of the following 
+                values:
+
+                  - The exact match for a view identifier that is recognized
+                    by the the ViewHandler implementation being used (such as
+                    "/index.jsp" if you are using the default ViewHandler).
+
+                  - A proper prefix of a view identifier, plus a trailing 
+                    "*" character.  This pattern indicates that all view 
+                    identifiers that match the portion of the pattern up to 
+                    the asterisk will match the surrounding rule.  When more 
+                    than one match exists, the match with the longest pattern 
+                    is selected.
+
+                  - An "*" character, which means that this pattern applies 
+                    to all view identifiers.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-from-actionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "from-action" element contains an action reference 
+                expression that must have been executed (by the default 
+                ActionListener for handling application level events) 
+                in order to select the navigation rule.  If not specified, 
+                this rule will be relevant no matter which action reference 
+                was executed (or if no action reference was executed).
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:faces-config-el-expressionType">
+                <xsd:attribute name="id" type="xsd:ID"/>
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-ifType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "if" element defines a condition that must resolve
+                to true in order for the navigation case on which it is
+                defined to be matched, with the existing match criteria
+                (action method and outcome) as a prerequiste, if present.
+                The condition is defined declaratively using a value
+                expression in the body of this element. The expression is
+                evaluated at the time the navigation case is being matched.
+                If the "from-outcome" is omitted and this element is
+                present, the navigation handler will match a null outcome
+                and use the condition return value to determine if the
+                case should be considered a match.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:faces-config-el-expressionType">
+                <xsd:attribute name="id" type="xsd:ID"/>
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-converterType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "converter" element represents a concrete Converter
+                implementation class that should be registered under the
+                specified converter identifier.  Converter identifiers must 
+                be unique within the entire web application.
+
+                Nested "attribute" elements identify generic attributes that
+                may be configured on the corresponding UIComponent in order 
+                to affect the operation of the Converter.  Nested "property"
+                elements identify JavaBeans properties of the Converter
+                implementation class that may be configured to affect the
+                operation of the Converter.  "attribute" and "property" 
+                elements are intended to allow component developers to 
+                more completely describe their components to tools and users.
+                These elements have no required runtime semantics.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:choice>
+                <xsd:element name="converter-id"
+                             type="javaee:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+
+                            The "converter-id" element represents the 
+                            identifier under which the corresponding 
+                            Converter class should be registered.
+
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                
+                <xsd:element name="converter-for-class"
+                             type="javaee:fully-qualified-classType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+
+                            The "converter-for-class" element represents the 
+                            fully qualified class name for which a Converter 
+                            class will be registered.
+
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+            
+            <xsd:element name="converter-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "converter-class" element represents the fully
+                        qualified class name of a concrete Converter 
+                        implementation class.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Nested "attribute" elements identify generic
+                       attributes that may be configured on the
+                       corresponding UIComponent in order to affect the
+                       operation of the Converter.  This attribute is
+                       primarily for design-time tools and is not
+                       specified to have any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Nested "property" elements identify JavaBeans
+                       properties of the Converter implementation class
+                       that may be configured to affect the operation of
+                       the Converter.  This attribute is primarily for
+                       design-time tools and is not specified to have
+                       any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="converter-extension"
+                         type="javaee:faces-config-converter-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-converter-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for converter.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-lifecycleType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "lifecycle" element provides a mechanism to specify
+                modifications to the behaviour of the default Lifecycle
+                implementation for this web application.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="phase-listener"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                
+                <xsd:annotation>
+                    <xsd:documentation>
+                    
+                        The "phase-listener" element contains the fully 
+                        qualified class name of the concrete PhaseListener 
+                        implementation class that will be registered on 
+                        the Lifecycle.
+                    
+                    </xsd:documentation>
+            </xsd:annotation>                
+            </xsd:element>
+            <xsd:element name="lifecycle-extension"
+                         type="javaee:faces-config-lifecycle-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-lifecycle-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for lifecycle.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    
+    <!-- **************************************************** -->
+    
+    <xsd:simpleType name="faces-config-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The localeType defines valid locale defined by ISO-639-1
+                and ISO-3166.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:restriction base="xsd:string">
+            <xsd:pattern value="([a-z]{2})[_|\-]?([\p{L}]{2})?[_|\-]?(\w+)?"/>
+        </xsd:restriction>
+  </xsd:simpleType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-locale-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "locale-config" element allows the app developer to 
+                declare the supported locales for this application.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:element name="default-locale"
+                         type="javaee:faces-config-default-localeType"
+                         minOccurs="0">
+            </xsd:element>
+            <xsd:element name="supported-locale"
+                         type="javaee:faces-config-supported-localeType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">                
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-default-validatorsType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "default-validators" element allows the app developer to 
+                register a set of validators, referenced by identifier, that
+                are automatically assigned to any EditableValueHolder component
+                in the application, unless overridden or disabled locally.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:element name="validator-id"
+                         type="javaee:string"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "validator-id" element represents the identifier 
+                        of a registered validator.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-managed-beanType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "managed-bean" element represents a JavaBean, of a 
+                particular class, that will be dynamically instantiated 
+                at runtime (by the default VariableResolver implementation) 
+                if it is referenced as the first element of a value binding 
+                expression, and no corresponding bean can be identified in 
+                any scope.  In addition to the creation of the managed bean, 
+                and the optional storing of it into the specified scope, 
+                the nested managed-property elements can be used to 
+                initialize the contents of settable JavaBeans properties of 
+                the created instance.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="managed-bean-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-name" element represents the 
+                        attribute name under which a managed bean will 
+                        be searched for, as well as stored (unless the 
+                        "managed-bean-scope" value is "none").
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="managed-bean-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-class" element represents the fully
+                        qualified class name of the Java class that will be 
+                        used`to instantiate a new instance if creation of the 
+                        specified`managed bean is requested.
+
+                        The specified class must conform to standard JavaBeans
+                        conventions.  In particular, it must have a public
+                        zero-arguments constructor, and zero or more public
+                        property setters.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element 
+                name="managed-bean-scope"
+                type="javaee:faces-config-managed-bean-scopeOrNoneType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-scope" element represents the scope 
+                        into which a newly created instance of the specified 
+                        managed bean will be stored (unless the value is 
+                        "none").
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="managed-property"
+                             type="javaee:faces-config-managed-propertyType"
+                             minOccurs="0"
+                             maxOccurs="unbounded"/>
+                <xsd:element name="map-entries"
+                             type="javaee:faces-config-map-entriesType"/>
+                <xsd:element name="list-entries"
+                             type="javaee:faces-config-list-entriesType"/>
+            </xsd:choice>
+            <xsd:element name="managed-bean-extension"
+                         type="javaee:faces-config-managed-bean-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="eager"
+                       type="xsd:boolean"
+                       use="optional">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    This attribute is only considered when associated with
+                    an application-scoped managed bean. If the value of the eager
+                    attribute is true the runtime must instantiate this class
+                    and store the instance within the application scope when the
+                    application starts.
+
+                    If eager is unspecified or is false, the default "lazy"
+                    instantiation and scoped storage of the managed bean
+                    will occur.
+
+                </xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-managed-bean-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for managed-bean.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+    
+    <xsd:complexType name="faces-config-managed-bean-scopeOrNoneType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                <![CDATA[
+                Defines the legal values for the <managed-bean-scope>
+                element's body content, which includes all of the scopes
+                normally used in a web application, plus the "none" value
+                indicating that a created bean should not be stored into
+                any scope.  Alternatively, an EL expression may be used
+                as the value of this element.  The result of evaluating this
+                expression must by of type java.util.Map.
+                ]]>
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string">
+            <xsd:pattern value="view|request|session|application|none|#\{.*\}"/>
+            </xsd:restriction>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-managed-propertyType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "managed-property" element represents an individual 
+                property of a managed bean that will be configured to the 
+                specified value (or value set) if the corresponding 
+                managed bean is automatically created.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="property-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "property-name" element represents the JavaBeans 
+                        property name under which the corresponding value may 
+                        be stored.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-class"
+                         type="javaee:java-typeType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                    
+                        The "property-class" element represents the Java type 
+                        of the value associated with this property name.  
+                        If not specified, it can be inferred from existing 
+                        classes; however, this element should be specified 
+                        if the configuration file is going to be the source 
+                        for generating the corresponding classes.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="map-entries"
+                             type="javaee:faces-config-map-entriesType"/>
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType">
+                </xsd:element>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+                <xsd:element name="list-entries"
+                             type="javaee:faces-config-list-entriesType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-map-entryType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "map-entry" element reprsents a single key-entry pair 
+                that will be added to the computed value of a managed 
+                property of type java.util.Map.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="key"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "key" element is the String representation of a 
+                        map key that will be stored in a managed property of 
+                        type java.util.Map.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType"/>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-map-entriesType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "map-entries' element represents a set of key-entry pairs 
+                that will be added to the computed value of a managed property 
+                of type java.util.Map.  In addition, the Java class types 
+                of the key and entry values may be optionally declared.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="key-class"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "key-class" element defines the Java type to which 
+                        each "key" element in a set of "map-entry" elements 
+                        will be converted to.  If omitted, "java.lang.String" 
+                        is assumed.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="value-class"
+                         type="javaee:faces-config-value-classType"
+                         minOccurs="0"/>                
+            <xsd:element name="map-entry"
+                         type="javaee:faces-config-map-entryType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-navigation-caseType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "navigation-case" element describes a particular 
+                combination of conditions that must match for this case to 
+                be executed, and the view id of the component tree that 
+                should be selected next.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="from-action"
+                         type="javaee:faces-config-from-actionType"
+                         minOccurs="0">
+            </xsd:element>
+            <xsd:element name="from-outcome"
+                         type="javaee:string" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "from-outcome" element contains a logical outcome
+                        string returned by the execution of an application
+                        action method selected via an "actionRef" property
+                        (or a literal value specified by an "action" property)
+                        of a UICommand component.  If specified, this rule 
+                        will be relevant only if the outcome value matches 
+                        this element's value.  If not specified, this rule 
+                        will be relevant if the outcome value is non-null
+                        or, if the "if" element is present, will be relevant
+                        for any outcome value, with the assumption that the
+                        condition specified in the "if" element ultimately
+                        determines if this rule is a match.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="if"
+                         type="javaee:faces-config-ifType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Please see section JSF.7.4.2 for the specification of this element.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="to-view-id"
+                         type="javaee:faces-config-valueType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "to-view-id" element contains the view identifier 
+                        of the next view that should be displayed if this
+                        navigation rule is matched. If the contents is a
+                        value expression, it should be resolved by the
+                        navigation handler to obtain the view identifier.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element 
+                name="redirect"
+                type="javaee:faces-config-redirectType" minOccurs="0"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-navigation-ruleType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "navigation-rule" element represents an individual 
+                decision rule that will be utilized by the default 
+                NavigationHandler implementation to make decisions on 
+                what view should be displayed next, based on the 
+                view id being processed.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="from-view-id"
+                         type="javaee:faces-config-from-view-idType"
+                         minOccurs="0"/>
+            <xsd:element name="navigation-case"
+                         type="javaee:faces-config-navigation-caseType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element 
+                name="navigation-rule-extension"
+                type="javaee:faces-config-navigation-rule-extensionType"
+                minOccurs="0"
+                maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-navigation-rule-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for navigation-rule.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-null-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "null-value" element indicates that the managed
+                property in which we are nested will be explicitly
+                set to null if our managed bean is automatically
+                created.  This is different from omitting the managed
+                property element entirely, which will cause no
+                property setter to be called for this property.
+
+                The "null-value" element can only be used when the
+                associated "property-class" identifies a Java class,
+                not a Java primitive.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+    
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-propertyType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "property" element represents a JavaBean property of the 
+                Java class represented by our parent element.
+
+                Property names must be unique within the scope of the Java 
+                class that is represented by the parent element, and must 
+                correspond to property names that will be recognized when 
+                performing introspection against that class via 
+                java.beans.Introspector.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="property-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "property-name" element represents the JavaBeans 
+                        property name under which the corresponding value 
+                        may be stored.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-class"
+                         type="javaee:java-typeType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "property-class" element represents the Java type 
+                        of the value associated with this property name.  
+                        If not specified, it can be inferred from existing 
+                        classes; however, this element should be specified if 
+                        the configuration file is going to be the source for 
+                        generating the corresponding classes.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-value"
+                         type="javaee:faces-config-default-valueType"
+                         minOccurs="0"/>               
+            <xsd:element name="suggested-value"
+                         type="javaee:faces-config-suggested-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="property-extension"
+                         type="javaee:faces-config-property-extensionType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-property-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for property.  It may contain 
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-redirectType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                    The "redirect" element indicates that navigation to the
+                    specified "to-view-id" should be accomplished by 
+                    performing an HTTP redirect rather than the usual 
+                    ViewHandler mechanisms.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="view-param"
+                         type="javaee:faces-config-redirect-viewParamType"
+                         minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+        <xsd:attribute name="include-view-params" type="xsd:boolean" use="optional"/>
+
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-redirect-viewParamType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                    The "view-param" element, only valid within
+                    a "redirect" element, contains child "name"
+                    and "value" elements that must be included in the
+                    redirect url when the redirect is performed.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="name"
+                         type="javaee:string"
+                         minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="value"
+                         type="javaee:string"
+                         minOccurs="1" maxOccurs="1"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-referenced-beanType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "referenced-bean" element represents at design time the 
+                promise that a Java object of the specified type will exist at 
+                runtime in some scope, under the specified key.  This can be 
+                used by design time tools to construct user interface dialogs 
+                based on the properties of the specified class.  The presence 
+                or absence of a referenced bean element has no impact on the 
+                JavaServer Faces runtime environment inside a web application.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="referenced-bean-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "referenced-bean-name" element represents the 
+                        attribute name under which the corresponding 
+                        referenced bean may be assumed to be stored, in one 
+                        of 'request', 'session', 'view', 'application' 
+                        or a custom scope.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="referenced-bean-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "referenced-bean-class" element represents the 
+                        fully qualified class name of the Java class 
+                        (either abstract or concrete) or Java interface 
+                        implemented by the corresponding referenced bean. 
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-render-kitType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "render-kit" element represents a concrete RenderKit 
+                implementation that should be registered under the specified 
+                render-kit-id.  If no render-kit-id is specified, the 
+                identifier of the default RenderKit 
+                (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="render-kit-id"
+                         type="javaee:string"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "render-kit-id" element represents an identifier 
+                        for the RenderKit represented by the parent 
+                        "render-kit" element.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="render-kit-class"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "render-kit-class" element represents the fully 
+                        qualified class name of a concrete RenderKit 
+                        implementation class.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="renderer"
+                         type="javaee:faces-config-rendererType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded"/>
+            <xsd:element name="client-behavior-renderer"
+                         type="javaee:faces-config-client-behavior-rendererType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded"/>
+            <xsd:element name="render-kit-extension"
+                         type="javaee:faces-config-render-kit-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-client-behavior-rendererType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "client-behavior-renderer" element represents a concrete 
+                ClientBehaviorRenderer implementation class that should be 
+                registered under the specified behavior renderer type identifier,
+                in the RenderKit associated with the parent "render-kit"
+                element.  Client Behavior renderer type must be unique within the RenderKit
+                associated with the parent "render-kit" element.
+
+                Nested "attribute" elements identify generic component
+                attributes that are recognized by this renderer.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="client-behavior-renderer-type"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "client-behavior-renderer-type" element represents a renderer type
+                        identifier for the Client Behavior Renderer represented by the parent
+                        "client-behavior-renderer" element.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="client-behavior-renderer-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "client-behavior-renderer-class" element represents the fully
+                        qualified class name of a concrete Client Behavior Renderer
+                        implementation class.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-rendererType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "renderer" element represents a concrete Renderer 
+                implementation class that should be registered under the 
+                specified component family and renderer type identifiers, 
+                in the RenderKit associated with the parent "render-kit" 
+                element.  Combinations of component family and 
+                renderer type must be unique within the RenderKit 
+                associated with the parent "render-kit" element.
+
+                Nested "attribute" elements identify generic component 
+                attributes that are recognized by this renderer.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="component-family"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-family" element represents the 
+                        component family for which the Renderer represented 
+                        by the parent "renderer" element will be used.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>                    
+            </xsd:element>
+            <xsd:element name="renderer-type"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "renderer-type" element represents a renderer type 
+                        identifier for the Renderer represented by the parent 
+                        "renderer" element.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="renderer-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "renderer-class" element represents the fully
+                        qualified class name of a concrete Renderer
+                        implementation class.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet"
+                         type="javaee:faces-config-facetType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="renderer-extension"
+                         type="javaee:faces-config-renderer-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-renderer-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for renderer.  It may contain implementation
+                specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-render-kit-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for render-kit.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-suggested-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "suggested-value" contains the value for the property or
+                attribute in which this element resides.  This value is 
+                advisory only and is intended for tools to use when 
+                populating pallettes.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-supported-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "supported-locale" element allows authors to declare
+                which locales are supported in this application instance.
+
+                It must be specified as :language:[_:country:[_:variant:]]
+                without the colons, for example "ja_JP_SJIS".  The
+                separators between the segments may be '-' or '_'.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:faces-config-localeType">
+                <xsd:attribute name="id" type="xsd:ID"/> 
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-behaviorType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "behavior" element represents a concrete Behavior 
+                implementation class that should be registered under the
+                specified behavior identifier.  Behavior identifiers must
+                be unique within the entire web application.
+
+                Nested "attribute" elements identify generic attributes that
+                may be configured on the corresponding UIComponent in order
+                to affect the operation of the Behavior.  Nested "property"
+                elements identify JavaBeans properties of the Behavior 
+                implementation class that may be configured to affect the
+                operation of the Behavior.  "attribute" and "property"
+                elements are intended to allow component developers to
+                more completely describe their components to tools and users.
+                These elements have no required runtime semantics.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="behavior-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "behavior-id" element represents the identifier
+                        under which the corresponding Behavior class should
+                        be registered.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="behavior-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "behavior-class" element represents the fully
+                        qualified class name of a concrete Behavior 
+                        implementation class.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Nested "attribute" elements identify generic
+                       attributes that may be configured on the
+                       corresponding UIComponent in order to affect the
+                       operation of the Behavior.  This attribute is
+                       primarily for design-time tools and is not
+                       specified to have any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+
+            </xsd:element>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Nested "property" elements identify JavaBeans
+                       properties of the Behavior implementation class
+                       that may be configured to affect the operation of
+                       the Behavior.  This attribute is primarily for
+                       design-time tools and is not specified to have
+                       any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="behavior-extension"
+                         type="javaee:faces-config-behavior-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-behavior-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for behavior.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-validatorType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "validator" element represents a concrete Validator
+                implementation class that should be registered under the
+                specified validator identifier.  Validator identifiers must 
+                be unique within the entire web application.
+
+                Nested "attribute" elements identify generic attributes that 
+                may be configured on the corresponding UIComponent in order 
+                to affect the operation of the Validator.  Nested "property"
+                elements identify JavaBeans properties of the Validator
+                implementation class that may be configured to affect the
+                operation of the Validator.  "attribute" and "property" 
+                elements are intended to allow component developers to 
+                more completely describe their components to tools and users.
+                These elements have no required runtime semantics.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="validator-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "validator-id" element represents the identifier 
+                        under which the corresponding Validator class should 
+                        be registered.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>                
+            </xsd:element>
+            <xsd:element name="validator-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "validator-class" element represents the fully 
+                        qualified class name of a concrete Validator 
+                        implementation class.  
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                       Nested "attribute" elements identify generic
+                       attributes that may be configured on the
+                       corresponding UIComponent in order to affect the
+                       operation of the Validator.  This attribute is
+                       primarily for design-time tools and is not
+                       specified to have any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+
+            </xsd:element>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       Nested "property" elements identify JavaBeans
+                       properties of the Validator implementation class
+                       that may be configured to affect the operation of
+                       the Validator.  This attribute is primarily for
+                       design-time tools and is not specified to have
+                       any meaning at runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="validator-extension"
+                         type="javaee:faces-config-validator-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-validator-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for validator.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "value" element is the String representation of
+                a literal value to which a scalar managed property
+                will be set, or a value binding expression ("#{...}")
+                that will be used to calculate the required value.
+                It will be converted as specified for the actual
+                property type.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:union 
+            memberTypes="javaee:faces-config-el-expressionType xsd:string"/>
+    </xsd:simpleType>
+    
+    <!-- **************************************************** -->
+    
+    <xsd:complexType name="faces-config-value-classType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "value-class" element defines the Java type to which each
+                "value" element's value will be converted to, prior to adding 
+                it to the "list-entries" list for a managed property that is 
+                a java.util.List, or a "map-entries" map for a managed 
+                property that is a java.util.Map.  
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:fully-qualified-classType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-list-entriesType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "list-entries" element represents a set of initialization
+                elements for a managed property that is a java.util.List or an
+                array.  In the former case, the "value-class" element can 
+                optionally be used to declare the Java type to which each 
+                value should be converted before adding it to the Collection.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="value-class"
+                         type="javaee:faces-config-value-classType"
+                         minOccurs="0"/>
+            <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType"/>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-system-event-listenerType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The presence of this element within the "application" element in
+                an application configuration resource file indicates the
+                developer wants to add an SystemEventListener to this
+                application instance.  Elements nested within this element allow
+                selecting the kinds of events that will be delivered to the
+                listener instance, and allow selecting the kinds of classes that
+                can be the source of events that are delivered to the listener
+                instance.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="system-event-listener-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "system-event-listener-class" element contains
+                        the fully qualified class name of the concrete
+                        SystemEventListener implementation class that will be
+                        called when events of the type specified by the
+                        "system-event-class" are sent by the runtime.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="system-event-class" 
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "system-event-class" element contains the fully
+                        qualified class name of the SystemEvent subclass for
+                        which events will be delivered to the class whose fully
+                        qualified class name is given by the
+                        "system-event-listener-class" element.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="source-class" minOccurs="0"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "source-class" element, if present, contains the
+                        fully qualified class name of the class that will be the
+                        source for the event to be delivered to the class whose
+                        fully qualified class name is given by the
+                        "system-event-listener-class" element.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-versionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                This type contains the recognized versions of
+                faces-config supported.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:token">
+            <xsd:enumeration value="2.0"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <!-- **************************************************** -->
+
+</xsd:schema>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_1.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_1.xsd
new file mode 100644
index 0000000000..09eab77106
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_1.xsd
@@ -0,0 +1,2851 @@
+<?xml version="1.0"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 2011 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+
+Contributor(s):
+
+Portions Copyrighted 2011 Sun Microsystems, Inc.
+-->
+
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="http://java.sun.com/xml/ns/javaee"
+            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            xmlns:xml="http://www.w3.org/XML/1998/namespace"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="2.1">
+  <xsd:annotation>
+    <xsd:documentation>
+
+      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+      Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
+
+      The contents of this file are subject to the terms of either the GNU
+      General Public License Version 2 only ("GPL") or the Common Development
+      and Distribution License("CDDL") (collectively, the "License").  You
+      may not use this file except in compliance with the License.  You can
+      obtain a copy of the License at
+      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+      or packager/legal/LICENSE.txt.  See the License for the specific
+      language governing permissions and limitations under the License.
+
+      When distributing the software, include this License Header Notice in each
+      file and include the License file at packager/legal/LICENSE.txt.
+
+      GPL Classpath Exception:
+      Oracle designates this particular file as subject to the "Classpath"
+      exception as provided by Oracle in the GPL Version 2 section of the License
+      file that accompanied this code.
+
+      Modifications:
+      If applicable, add the following below the License Header, with the fields
+      enclosed by brackets [] replaced by your own identifying information:
+      "Portions Copyright [year] [name of copyright owner]"
+
+      Contributor(s):
+      If you wish your version of this file to be governed by only the CDDL or
+      only the GPL Version 2, indicate your decision by adding "[Contributor]
+      elects to include this software in this distribution under the [CDDL or GPL
+      Version 2] license."  If you don't indicate a single choice of license, a
+      recipient has the option to distribute your version of this file under
+      either the CDDL, the GPL Version 2 or to extend the choice of license to
+      its licensees as provided above.  However, if you add GPL Version 2 code
+      and therefore, elected the GPL Version 2 license, then the option applies
+      only if the new code is made subject to such option by the copyright
+      holder.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[[
+      The XML Schema for the JavaServer Faces Application
+      Configuration File (Version 2.1).
+
+      All JavaServer Faces configuration files must indicate
+      the JavaServer Faces schema by indicating the JavaServer
+      Faces namespace:
+
+      http://java.sun.com/xml/ns/javaee
+
+      and by indicating the version of the schema by
+      using the version element as shown below:
+
+      <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="..."
+      version="2.1">
+      ...
+      </faces-config>
+
+      The instance documents may indicate the published
+      version of the schema using xsi:schemaLocation attribute
+      for javaee namespace with the following location:
+
+      http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd
+
+      ]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:include schemaLocation="javaee_5.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="faces-config"
+               type="javaee:faces-configType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "faces-config" element is the root of the configuration
+        information hierarchy, and contains nested elements for all
+        of the other configuration settings.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:unique name="faces-config-behavior-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          Behavior IDs must be unique within a document.
+
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:behavior"/>
+      <xsd:field xpath="javaee:behavior-id"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-converter-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          Converter IDs must be unique within a document.
+
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:converter"/>
+      <xsd:field xpath="javaee:converter-id"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-converter-for-class-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          'converter-for-class' element values must be unique
+          within a document.
+
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:converter"/>
+      <xsd:field xpath="javaee:converter-for-class"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-validator-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          Validator IDs must be unique within a document.
+
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:validator"/>
+      <xsd:field xpath="javaee:validator-id"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-managed-bean-name-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          Managed bean names must be unique within a document.
+
+        </xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:managed-bean"/>
+      <xsd:field xpath="javaee:managed-bean-name"/>
+    </xsd:unique>
+  </xsd:element>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-configType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "faces-config" element is the root of the configuration
+        information hierarchy, and contains nested elements for all
+        of the other configuration settings.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="application"
+                   type="javaee:faces-config-applicationType"/>
+      <xsd:element name="ordering"
+                   type="javaee:faces-config-orderingType"/>
+      <xsd:element name="absolute-ordering"
+                   type="javaee:faces-config-absoluteOrderingType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+      <xsd:element name="factory"
+                   type="javaee:faces-config-factoryType"/>
+      <xsd:element name="component"
+                   type="javaee:faces-config-componentType"/>
+      <xsd:element name="converter"
+                   type="javaee:faces-config-converterType"/>
+      <xsd:element name="managed-bean"
+                   type="javaee:faces-config-managed-beanType"/>
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   maxOccurs="1">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "name" element within the top level "faces-config"
+            element declares the name of this application
+            configuration resource.  Such names are used
+            in the document ordering scheme specified in section
+            JSF.11.4.6.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="navigation-rule"
+                   type="javaee:faces-config-navigation-ruleType"/>
+      <xsd:element name="referenced-bean"
+                   type="javaee:faces-config-referenced-beanType"/>
+      <xsd:element name="render-kit"
+                   type="javaee:faces-config-render-kitType"/>
+      <xsd:element name="lifecycle"
+                   type="javaee:faces-config-lifecycleType"/>
+      <xsd:element name="validator"
+                   type="javaee:faces-config-validatorType"/>
+      <xsd:element name="behavior"
+                   type="javaee:faces-config-behaviorType"/>
+      <xsd:element name="faces-config-extension"
+                   type="javaee:faces-config-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:choice>
+    <xsd:attribute name="metadata-complete"
+                   type="xsd:boolean"
+                   use="optional">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          The metadata-complete attribute defines whether this
+          JavaServer Faces application is complete, or whether
+          the class files available to this module and packaged with
+          this application should be examined for annotations
+          that specify configuration information.
+
+          This attribute is only inspected on the application
+          configuration resource file located at "WEB-INF/faces-config.xml".
+          The presence of this attribute on any application configuration
+          resource other than the one located at "WEB-INF/faces-config.xml",
+          including any files named using the javax.faces.CONFIG_FILES
+          attribute, must be ignored.
+
+          If metadata-complete is set to "true", the JavaServer Faces
+          runtime must ignore any annotations that specify configuration
+          information, which might be present in the class files
+          of the application.
+
+          If metadata-complete is not specified or is set to
+          "false", the JavaServer Faces runtime must examine the class
+          files of the application for annotations, as specified by
+          the specification.
+
+          If "WEB-INF/faces-config.xml" is not present, the JavaServer
+          Faces runtime will assume metadata-complete to be "false".
+
+          The value of this attribute will have no impact on
+          runtime annotations such as @ResourceDependency or
+          @ListenerFor.
+
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+    <xsd:attribute name="version"
+                   type="javaee:faces-config-versionType"
+                   use="required"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for faces-config.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-orderingType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Please see section JSF.11.4.6 for the specification of this element.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="after"
+                   type="javaee:faces-config-ordering-orderingType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+      <xsd:element name="before"
+                   type="javaee:faces-config-ordering-orderingType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-ordering-orderingType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This element contains a sequence of "id" elements, each of which
+        refers to an application configuration resource by the "id"
+        declared on its faces-config element.  This element can also contain
+        a single "others" element which specifies that this document comes
+        before or after other documents within the application.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="others"
+                   type="javaee:faces-config-ordering-othersType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-ordering-othersType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This element indicates that the ordering sub-element in which
+        it was placed should take special action regarding the ordering
+        of this application resource relative to other
+        application configuration resources.  See section JSF.11.4.6
+        for the complete specification.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-absoluteOrderingType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Only relevant if this is placed within the /WEB-INF/faces-config.xml.
+        Please see section JSF.11.4.6 for the specification for details.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="others"
+                   type="javaee:faces-config-ordering-othersType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+    </xsd:choice>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-applicationType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "application" element provides a mechanism to define the
+        various per-application-singleton implementation artifacts for
+        a particular web application that is utilizing
+        JavaServer Faces.  For nested elements that are not specified,
+        the JSF implementation must provide a suitable default.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="action-listener"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "action-listener" element contains the fully
+            qualified class name of the concrete
+            ActionListener implementation class that will be
+            called during the Invoke Application phase of the
+            request processing lifecycle.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="default-render-kit-id"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "default-render-kit-id" element allows the
+            application to define a renderkit to be used other
+            than the standard one.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="message-bundle"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The base name of a resource bundle representing
+            the message resources for this application.  See
+            the JavaDocs for the "java.util.ResourceBundle"
+            class for more information on the syntax of
+            resource bundle names.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="navigation-handler"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "navigation-handler" element contains the
+            fully qualified class name of the concrete
+            NavigationHandler implementation class that will
+            be called during the Invoke Application phase
+            of the request processing lifecycle, if the
+            default ActionListener (provided by the JSF
+            implementation) is used.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="view-handler"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "view-handler" element contains the fully
+            qualified class name of the concrete ViewHandler
+            implementation class that will be called during
+            the Restore View and Render Response phases of the
+            request processing lifecycle.  The faces
+            implementation must provide a default
+            implementation of this class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="state-manager"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "state-manager" element contains the fully
+            qualified class name of the concrete StateManager
+            implementation class that will be called during
+            the Restore View and Render Response phases of the
+            request processing lifecycle.  The faces
+            implementation must provide a default
+            implementation of this class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="el-resolver"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "el-resolver" element contains the fully
+            qualified class name of the concrete
+            javax.el.ELResolver implementation class
+            that will be used during the processing of
+            EL expressions.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property-resolver"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "property-resolver" element contains the fully
+            qualified class name of the concrete
+            PropertyResolver implementation class that will
+            be used during the processing of value binding
+            expressions.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="variable-resolver"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "variable-resolver" element contains the fully
+            qualified class name of the concrete
+            VariableResolver implementation class that will
+            be used during the processing of value binding
+            expressions.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resource-handler"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "resource-handler" element contains the
+            fully qualified class name of the concrete
+            ResourceHandler implementation class that
+            will be used during rendering and decoding
+            of resource requests The standard
+            constructor based decorator pattern used for
+            other application singletons will be
+            honored.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="system-event-listener"
+                   type="javaee:faces-config-system-event-listenerType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+      </xsd:element>
+      <xsd:element name="locale-config"
+                   type="javaee:faces-config-locale-configType"/>
+      <xsd:element name="resource-bundle"
+                   type="javaee:faces-config-application-resource-bundleType"/>
+      <xsd:element name="application-extension"
+                   type="javaee:faces-config-application-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="default-validators"
+                   type="javaee:faces-config-default-validatorsType"/>
+    </xsd:choice>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-application-resource-bundleType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The resource-bundle element inside the application element
+        references a java.util.ResourceBundle instance by name
+        using the var element.  ResourceBundles referenced in this
+        manner may be returned by a call to
+        Application.getResourceBundle() passing the current
+        FacesContext for this request and the value of the var
+        element below.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="base-name"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The fully qualified class name of the
+            java.util.ResourceBundle instance.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="var"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The name by which this ResourceBundle instance
+            is retrieved by a call to
+            Application.getResourceBundle().
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-application-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for application.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-factoryType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "factory" element provides a mechanism to define the
+        various Factories that comprise parts of the implementation
+        of JavaServer Faces.  For nested elements that are not
+        specified, the JSF implementation must provide a suitable
+        default.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="application-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "application-factory" element contains the
+            fully qualified class name of the concrete
+            ApplicationFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(APPLICATION_FACTORY) is
+            called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="exception-handler-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "exception-handler-factory" element contains the
+            fully qualified class name of the concrete
+            ExceptionHandlerFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(EXCEPTION_HANDLER_FACTORY)
+            is called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="external-context-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "external-context-factory" element contains the
+            fully qualified class name of the concrete
+            ExternalContextFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(EXTERNAL_CONTEXT_FACTORY)
+            is called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="faces-context-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "faces-context-factory" element contains the
+            fully qualified class name of the concrete
+            FacesContextFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(FACES_CONTEXT_FACTORY)
+            is called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="facelet-cache-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "facelet-cache-factory" element contains the
+            fully qualified class name of the concrete
+            FaceletCacheFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(FACELET_CACHE_FACTORY)
+            is called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="partial-view-context-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "partial-view-context-factory" element contains the
+            fully qualified class name of the concrete
+            PartialViewContextFactory implementation class that will
+            be called when FactoryFinder.getFactory
+            (FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY) is called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="lifecycle-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "lifecycle-factory" element contains the fully
+            qualified class name of the concrete LifecycleFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="view-declaration-language-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "view-declaration-language-factory" element contains
+            the fully qualified class name of the concrete
+            ViewDeclarationLanguageFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(VIEW_DECLARATION_FACTORY) is called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="tag-handler-delegate-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "tag-handler-delegate-factory" element contains
+            the fully qualified class name of the concrete
+            ViewDeclarationLanguageFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(TAG_HANDLER_DELEGATE_FACTORY) is called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="render-kit-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "render-kit-factory" element contains the fully
+            qualified class name of the concrete RenderKitFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(RENDER_KIT_FACTORY) is
+            called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="visit-context-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "visit-context-factory" element contains the fully
+            qualified class name of the concrete VisitContextFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(VISIT_CONTEXT_FACTORY) is
+            called.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="factory-extension"
+                   type="javaee:faces-config-factory-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:choice>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-factory-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for factory.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-attributeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "attribute" element represents a named, typed, value
+        associated with the parent UIComponent via the generic
+        attributes mechanism.
+
+        Attribute names must be unique within the scope of the parent
+        (or related) component.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="attribute-name"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "attribute-name" element represents the name under
+            which the corresponding value will be stored, in the
+            generic attributes of the UIComponent we are related
+            to.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="attribute-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "attribute-class" element represents the Java type
+            of the value associated with this attribute name.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="default-value"
+                   type="javaee:faces-config-default-valueType"
+                   minOccurs="0"/>
+      <xsd:element name="suggested-value"
+                   type="javaee:faces-config-suggested-valueType"
+                   minOccurs="0"/>
+      <xsd:element name="attribute-extension"
+                   type="javaee:faces-config-attribute-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-attribute-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for attribute.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-componentType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "component" element represents a concrete UIComponent
+        implementation class that should be registered under the
+        specified type identifier, along with its associated
+        properties and attributes.  Component types must be unique
+        within the entire web application.
+
+        Nested "attribute" elements identify generic attributes that
+        are recognized by the implementation logic of this component.
+        Nested "property" elements identify JavaBeans properties of
+        the component class that may be exposed for manipulation
+        via tools.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="component-type"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "component-type" element represents the name under
+            which the corresponding UIComponent class should be
+            registered.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="component-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "component-class" element represents the fully
+            qualified class name of a concrete UIComponent
+            implementation class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="facet"
+                   type="javaee:faces-config-facetType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="property"
+                   type="javaee:faces-config-propertyType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="component-extension"
+                   type="javaee:faces-config-component-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-component-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for component.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-default-localeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "default-locale" element declares the default locale
+        for this application instance.
+
+        It must be specified as :language:[_:country:[_:variant:]]
+        without the colons, for example "ja_JP_SJIS".  The
+        separators between the segments may be '-' or '_'.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-localeType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-default-valueType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "default-value" contains the value for the property or
+        attribute in which this element resides.  This value differs
+        from the "suggested-value" in that the property or attribute
+        must take the value, whereas in "suggested-value" taking the
+        value is optional.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:simpleType name="faces-config-el-expressionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        EL expressions present within a faces config file
+        must start with the character sequence of '#{' and
+        end with '}'.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="#\{.*\}"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-facetType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Define the name and other design-time information for a facet
+        that is associated with a renderer or a component.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="facet-name"
+                   type="javaee:java-identifierType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "facet-name" element represents the facet name
+            under which a UIComponent will be added to its parent.
+            It must be of type "Identifier".
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="facet-extension"
+                   type="javaee:faces-config-facet-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-facet-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for facet.  It may contain implementation
+        specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-from-view-idType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The value of from-view-id must contain one of the following
+        values:
+
+        - The exact match for a view identifier that is recognized
+        by the the ViewHandler implementation being used (such as
+        "/index.jsp" if you are using the default ViewHandler).
+
+        - A proper prefix of a view identifier, plus a trailing
+        "*" character.  This pattern indicates that all view
+        identifiers that match the portion of the pattern up to
+        the asterisk will match the surrounding rule.  When more
+        than one match exists, the match with the longest pattern
+        is selected.
+
+        - An "*" character, which means that this pattern applies
+        to all view identifiers.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-from-actionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "from-action" element contains an action reference
+        expression that must have been executed (by the default
+        ActionListener for handling application level events)
+        in order to select the navigation rule.  If not specified,
+        this rule will be relevant no matter which action reference
+        was executed (or if no action reference was executed).
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-el-expressionType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-ifType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "if" element defines a condition that must resolve
+        to true in order for the navigation case on which it is
+        defined to be matched, with the existing match criteria
+        (action method and outcome) as a prerequiste, if present.
+        The condition is defined declaratively using a value
+        expression in the body of this element. The expression is
+        evaluated at the time the navigation case is being matched.
+        If the "from-outcome" is omitted and this element is
+        present, the navigation handler will match a null outcome
+        and use the condition return value to determine if the
+        case should be considered a match.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-el-expressionType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-converterType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "converter" element represents a concrete Converter
+        implementation class that should be registered under the
+        specified converter identifier.  Converter identifiers must
+        be unique within the entire web application.
+
+        Nested "attribute" elements identify generic attributes that
+        may be configured on the corresponding UIComponent in order
+        to affect the operation of the Converter.  Nested "property"
+        elements identify JavaBeans properties of the Converter
+        implementation class that may be configured to affect the
+        operation of the Converter.  "attribute" and "property"
+        elements are intended to allow component developers to
+        more completely describe their components to tools and users.
+        These elements have no required runtime semantics.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:choice>
+        <xsd:element name="converter-id"
+                     type="javaee:string">
+          <xsd:annotation>
+            <xsd:documentation>
+
+              The "converter-id" element represents the
+              identifier under which the corresponding
+              Converter class should be registered.
+
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element name="converter-for-class"
+                     type="javaee:fully-qualified-classType">
+          <xsd:annotation>
+            <xsd:documentation>
+
+              The "converter-for-class" element represents the
+              fully qualified class name for which a Converter
+              class will be registered.
+
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+      </xsd:choice>
+      <xsd:element name="converter-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "converter-class" element represents the fully
+            qualified class name of a concrete Converter
+            implementation class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Nested "attribute" elements identify generic
+            attributes that may be configured on the
+            corresponding UIComponent in order to affect the
+            operation of the Converter.  This attribute is
+            primarily for design-time tools and is not
+            specified to have any meaning at runtime.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property"
+                   type="javaee:faces-config-propertyType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Nested "property" elements identify JavaBeans
+            properties of the Converter implementation class
+            that may be configured to affect the operation of
+            the Converter.  This attribute is primarily for
+            design-time tools and is not specified to have
+            any meaning at runtime.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="converter-extension"
+                   type="javaee:faces-config-converter-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-converter-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for converter.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-lifecycleType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "lifecycle" element provides a mechanism to specify
+        modifications to the behaviour of the default Lifecycle
+        implementation for this web application.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="phase-listener"
+                   type="javaee:fully-qualified-classType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "phase-listener" element contains the fully
+            qualified class name of the concrete PhaseListener
+            implementation class that will be registered on
+            the Lifecycle.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="lifecycle-extension"
+                   type="javaee:faces-config-lifecycle-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-lifecycle-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for lifecycle.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:simpleType name="faces-config-localeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The localeType defines valid locale defined by ISO-639-1
+        and ISO-3166.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="([a-z]{2})[_|\-]?([\p{L}]{2})?[_|\-]?(\w+)?"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-locale-configType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "locale-config" element allows the app developer to
+        declare the supported locales for this application.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="default-locale"
+                   type="javaee:faces-config-default-localeType"
+                   minOccurs="0">
+      </xsd:element>
+      <xsd:element name="supported-locale"
+                   type="javaee:faces-config-supported-localeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-default-validatorsType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "default-validators" element allows the app developer to
+        register a set of validators, referenced by identifier, that
+        are automatically assigned to any EditableValueHolder component
+        in the application, unless overridden or disabled locally.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="validator-id"
+                   type="javaee:string"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "validator-id" element represents the identifier
+            of a registered validator.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-managed-beanType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "managed-bean" element represents a JavaBean, of a
+        particular class, that will be dynamically instantiated
+        at runtime (by the default VariableResolver implementation)
+        if it is referenced as the first element of a value binding
+        expression, and no corresponding bean can be identified in
+        any scope.  In addition to the creation of the managed bean,
+        and the optional storing of it into the specified scope,
+        the nested managed-property elements can be used to
+        initialize the contents of settable JavaBeans properties of
+        the created instance.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="managed-bean-name"
+                   type="javaee:java-identifierType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "managed-bean-name" element represents the
+            attribute name under which a managed bean will
+            be searched for, as well as stored (unless the
+            "managed-bean-scope" value is "none").
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="managed-bean-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "managed-bean-class" element represents the fully
+            qualified class name of the Java class that will be
+            used`to instantiate a new instance if creation of the
+            specified`managed bean is requested.
+
+            The specified class must conform to standard JavaBeans
+            conventions.  In particular, it must have a public
+            zero-arguments constructor, and zero or more public
+            property setters.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="managed-bean-scope"
+                   type="javaee:faces-config-managed-bean-scopeOrNoneType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "managed-bean-scope" element represents the scope
+            into which a newly created instance of the specified
+            managed bean will be stored (unless the value is
+            "none").
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:choice>
+        <xsd:element name="managed-property"
+                     type="javaee:faces-config-managed-propertyType"
+                     minOccurs="0"
+                     maxOccurs="unbounded"/>
+        <xsd:element name="map-entries"
+                     type="javaee:faces-config-map-entriesType"/>
+        <xsd:element name="list-entries"
+                     type="javaee:faces-config-list-entriesType"/>
+      </xsd:choice>
+      <xsd:element name="managed-bean-extension"
+                   type="javaee:faces-config-managed-bean-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="eager"
+                   type="xsd:boolean"
+                   use="optional">
+      <xsd:annotation>
+        <xsd:documentation>
+
+          This attribute is only considered when associated with
+          an application-scoped managed bean. If the value of the eager
+          attribute is true the runtime must instantiate this class
+          and store the instance within the application scope when the
+          application starts.
+
+          If eager is unspecified or is false, the default "lazy"
+          instantiation and scoped storage of the managed bean
+          will occur.
+
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-managed-bean-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for managed-bean.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-managed-bean-scopeOrNoneType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[[
+        Defines the legal values for the <managed-bean-scope>
+        element's body content, which includes all of the scopes
+        normally used in a web application, plus the "none" value
+        indicating that a created bean should not be stored into
+        any scope.  Alternatively, an EL expression may be used
+        as the value of this element.  The result of evaluating this
+        expression must by of type java.util.Map.
+
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+        <xsd:pattern value="view|request|session|application|none|#\{.*\}"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-managed-propertyType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "managed-property" element represents an individual
+        property of a managed bean that will be configured to the
+        specified value (or value set) if the corresponding
+        managed bean is automatically created.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="property-name"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "property-name" element represents the JavaBeans
+            property name under which the corresponding value may
+            be stored.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property-class"
+                   type="javaee:java-typeType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "property-class" element represents the Java type
+            of the value associated with this property name.
+            If not specified, it can be inferred from existing
+            classes; however, this element should be specified
+            if the configuration file is going to be the source
+            for generating the corresponding classes.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:choice>
+        <xsd:element name="map-entries"
+                     type="javaee:faces-config-map-entriesType"/>
+        <xsd:element name="null-value"
+                     type="javaee:faces-config-null-valueType">
+        </xsd:element>
+        <xsd:element name="value"
+                     type="javaee:faces-config-valueType"/>
+        <xsd:element name="list-entries"
+                     type="javaee:faces-config-list-entriesType"/>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-map-entryType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "map-entry" element reprsents a single key-entry pair
+        that will be added to the computed value of a managed
+        property of type java.util.Map.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="key"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "key" element is the String representation of a
+            map key that will be stored in a managed property of
+            type java.util.Map.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:choice>
+        <xsd:element name="null-value"
+                     type="javaee:faces-config-null-valueType"/>
+        <xsd:element name="value"
+                     type="javaee:faces-config-valueType"/>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-map-entriesType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "map-entries' element represents a set of key-entry pairs
+        that will be added to the computed value of a managed property
+        of type java.util.Map.  In addition, the Java class types
+        of the key and entry values may be optionally declared.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="key-class"
+                   type="javaee:fully-qualified-classType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "key-class" element defines the Java type to which
+            each "key" element in a set of "map-entry" elements
+            will be converted to.  If omitted, "java.lang.String"
+            is assumed.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="value-class"
+                   type="javaee:faces-config-value-classType"
+                   minOccurs="0"/>
+      <xsd:element name="map-entry"
+                   type="javaee:faces-config-map-entryType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-navigation-caseType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "navigation-case" element describes a particular
+        combination of conditions that must match for this case to
+        be executed, and the view id of the component tree that
+        should be selected next.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="from-action"
+                   type="javaee:faces-config-from-actionType"
+                   minOccurs="0">
+      </xsd:element>
+      <xsd:element name="from-outcome"
+                   type="javaee:string"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "from-outcome" element contains a logical outcome
+            string returned by the execution of an application
+            action method selected via an "actionRef" property
+            (or a literal value specified by an "action" property)
+            of a UICommand component.  If specified, this rule
+            will be relevant only if the outcome value matches
+            this element's value.  If not specified, this rule
+            will be relevant if the outcome value is non-null
+            or, if the "if" element is present, will be relevant
+            for any outcome value, with the assumption that the
+            condition specified in the "if" element ultimately
+            determines if this rule is a match.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="if"
+                   type="javaee:faces-config-ifType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Please see section JSF.7.4.2 for the specification of this element.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="to-view-id"
+                   type="javaee:faces-config-valueType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "to-view-id" element contains the view identifier
+            of the next view that should be displayed if this
+            navigation rule is matched. If the contents is a
+            value expression, it should be resolved by the
+            navigation handler to obtain the view identifier.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="redirect"
+                   type="javaee:faces-config-redirectType"
+                   minOccurs="0"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-navigation-ruleType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "navigation-rule" element represents an individual
+        decision rule that will be utilized by the default
+        NavigationHandler implementation to make decisions on
+        what view should be displayed next, based on the
+        view id being processed.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="from-view-id"
+                   type="javaee:faces-config-from-view-idType"
+                   minOccurs="0"/>
+      <xsd:element name="navigation-case"
+                   type="javaee:faces-config-navigation-caseType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="navigation-rule-extension"
+                   type="javaee:faces-config-navigation-rule-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-navigation-rule-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for navigation-rule.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-null-valueType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "null-value" element indicates that the managed
+        property in which we are nested will be explicitly
+        set to null if our managed bean is automatically
+        created.  This is different from omitting the managed
+        property element entirely, which will cause no
+        property setter to be called for this property.
+
+        The "null-value" element can only be used when the
+        associated "property-class" identifies a Java class,
+        not a Java primitive.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-propertyType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "property" element represents a JavaBean property of the
+        Java class represented by our parent element.
+
+        Property names must be unique within the scope of the Java
+        class that is represented by the parent element, and must
+        correspond to property names that will be recognized when
+        performing introspection against that class via
+        java.beans.Introspector.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="property-name"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "property-name" element represents the JavaBeans
+            property name under which the corresponding value
+            may be stored.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property-class"
+                   type="javaee:java-typeType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "property-class" element represents the Java type
+            of the value associated with this property name.
+            If not specified, it can be inferred from existing
+            classes; however, this element should be specified if
+            the configuration file is going to be the source for
+            generating the corresponding classes.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="default-value"
+                   type="javaee:faces-config-default-valueType"
+                   minOccurs="0"/>
+      <xsd:element name="suggested-value"
+                   type="javaee:faces-config-suggested-valueType"
+                   minOccurs="0"/>
+      <xsd:element name="property-extension"
+                   type="javaee:faces-config-property-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-property-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for property.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-redirectType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "redirect" element indicates that navigation to the
+        specified "to-view-id" should be accomplished by
+        performing an HTTP redirect rather than the usual
+        ViewHandler mechanisms.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="view-param"
+                   type="javaee:faces-config-redirect-viewParamType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="redirect-param"
+                   type="javaee:faces-config-redirect-redirectParamType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+    <xsd:attribute name="include-view-params"
+                   type="xsd:boolean"
+                   use="optional"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-redirect-viewParamType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This element was introduced due to a specification
+        error, and is now deprecated.  The correct name for
+        this element is "redirect-param" and its meaning is
+        documented therein.  The "view-param" element is
+        maintained to preserve backwards compatibility.
+        Implementations must treat this element the same as
+        "redirect-param".
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:string"
+                   minOccurs="1"
+                   maxOccurs="1"/>
+      <xsd:element name="value"
+                   type="javaee:string"
+                   minOccurs="1"
+                   maxOccurs="1"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-redirect-redirectParamType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "redirect-param" element, only valid within
+        a "redirect" element, contains child "name"
+        and "value" elements that must be included in the
+        redirect url when the redirect is performed.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:string"
+                   minOccurs="1"
+                   maxOccurs="1"/>
+      <xsd:element name="value"
+                   type="javaee:string"
+                   minOccurs="1"
+                   maxOccurs="1"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-referenced-beanType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "referenced-bean" element represents at design time the
+        promise that a Java object of the specified type will exist at
+        runtime in some scope, under the specified key.  This can be
+        used by design time tools to construct user interface dialogs
+        based on the properties of the specified class.  The presence
+        or absence of a referenced bean element has no impact on the
+        JavaServer Faces runtime environment inside a web application.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="referenced-bean-name"
+                   type="javaee:java-identifierType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "referenced-bean-name" element represents the
+            attribute name under which the corresponding
+            referenced bean may be assumed to be stored, in one
+            of 'request', 'session', 'view', 'application'
+            or a custom scope.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="referenced-bean-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "referenced-bean-class" element represents the
+            fully qualified class name of the Java class
+            (either abstract or concrete) or Java interface
+            implemented by the corresponding referenced bean.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-render-kitType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "render-kit" element represents a concrete RenderKit
+        implementation that should be registered under the specified
+        render-kit-id.  If no render-kit-id is specified, the
+        identifier of the default RenderKit
+        (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="render-kit-id"
+                   type="javaee:string"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "render-kit-id" element represents an identifier
+            for the RenderKit represented by the parent
+            "render-kit" element.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="render-kit-class"
+                   type="javaee:fully-qualified-classType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "render-kit-class" element represents the fully
+            qualified class name of a concrete RenderKit
+            implementation class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="renderer"
+                   type="javaee:faces-config-rendererType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="client-behavior-renderer"
+                   type="javaee:faces-config-client-behavior-rendererType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="render-kit-extension"
+                   type="javaee:faces-config-render-kit-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-client-behavior-rendererType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "client-behavior-renderer" element represents a concrete
+        ClientBehaviorRenderer implementation class that should be
+        registered under the specified behavior renderer type identifier,
+        in the RenderKit associated with the parent "render-kit"
+        element.  Client Behavior renderer type must be unique within the RenderKit
+        associated with the parent "render-kit" element.
+
+        Nested "attribute" elements identify generic component
+        attributes that are recognized by this renderer.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="client-behavior-renderer-type"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "client-behavior-renderer-type" element represents a renderer type
+            identifier for the Client Behavior Renderer represented by the parent
+            "client-behavior-renderer" element.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="client-behavior-renderer-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "client-behavior-renderer-class" element represents the fully
+            qualified class name of a concrete Client Behavior Renderer
+            implementation class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-rendererType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "renderer" element represents a concrete Renderer
+        implementation class that should be registered under the
+        specified component family and renderer type identifiers,
+        in the RenderKit associated with the parent "render-kit"
+        element.  Combinations of component family and
+        renderer type must be unique within the RenderKit
+        associated with the parent "render-kit" element.
+
+        Nested "attribute" elements identify generic component
+        attributes that are recognized by this renderer.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="component-family"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "component-family" element represents the
+            component family for which the Renderer represented
+            by the parent "renderer" element will be used.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="renderer-type"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "renderer-type" element represents a renderer type
+            identifier for the Renderer represented by the parent
+            "renderer" element.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="renderer-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "renderer-class" element represents the fully
+            qualified class name of a concrete Renderer
+            implementation class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="facet"
+                   type="javaee:faces-config-facetType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="renderer-extension"
+                   type="javaee:faces-config-renderer-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-renderer-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for renderer.  It may contain implementation
+        specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-render-kit-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for render-kit.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-suggested-valueType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "suggested-value" contains the value for the property or
+        attribute in which this element resides.  This value is
+        advisory only and is intended for tools to use when
+        populating pallettes.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-supported-localeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "supported-locale" element allows authors to declare
+        which locales are supported in this application instance.
+
+        It must be specified as :language:[_:country:[_:variant:]]
+        without the colons, for example "ja_JP_SJIS".  The
+        separators between the segments may be '-' or '_'.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-localeType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-behaviorType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "behavior" element represents a concrete Behavior
+        implementation class that should be registered under the
+        specified behavior identifier.  Behavior identifiers must
+        be unique within the entire web application.
+
+        Nested "attribute" elements identify generic attributes that
+        may be configured on the corresponding UIComponent in order
+        to affect the operation of the Behavior.  Nested "property"
+        elements identify JavaBeans properties of the Behavior
+        implementation class that may be configured to affect the
+        operation of the Behavior.  "attribute" and "property"
+        elements are intended to allow component developers to
+        more completely describe their components to tools and users.
+        These elements have no required runtime semantics.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="behavior-id"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "behavior-id" element represents the identifier
+            under which the corresponding Behavior class should
+            be registered.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="behavior-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "behavior-class" element represents the fully
+            qualified class name of a concrete Behavior
+            implementation class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Nested "attribute" elements identify generic
+            attributes that may be configured on the
+            corresponding UIComponent in order to affect the
+            operation of the Behavior.  This attribute is
+            primarily for design-time tools and is not
+            specified to have any meaning at runtime.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property"
+                   type="javaee:faces-config-propertyType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Nested "property" elements identify JavaBeans
+            properties of the Behavior implementation class
+            that may be configured to affect the operation of
+            the Behavior.  This attribute is primarily for
+            design-time tools and is not specified to have
+            any meaning at runtime.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="behavior-extension"
+                   type="javaee:faces-config-behavior-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-behavior-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for behavior.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-validatorType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "validator" element represents a concrete Validator
+        implementation class that should be registered under the
+        specified validator identifier.  Validator identifiers must
+        be unique within the entire web application.
+
+        Nested "attribute" elements identify generic attributes that
+        may be configured on the corresponding UIComponent in order
+        to affect the operation of the Validator.  Nested "property"
+        elements identify JavaBeans properties of the Validator
+        implementation class that may be configured to affect the
+        operation of the Validator.  "attribute" and "property"
+        elements are intended to allow component developers to
+        more completely describe their components to tools and users.
+        These elements have no required runtime semantics.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="validator-id"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "validator-id" element represents the identifier
+            under which the corresponding Validator class should
+            be registered.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="validator-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "validator-class" element represents the fully
+            qualified class name of a concrete Validator
+            implementation class.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Nested "attribute" elements identify generic
+            attributes that may be configured on the
+            corresponding UIComponent in order to affect the
+            operation of the Validator.  This attribute is
+            primarily for design-time tools and is not
+            specified to have any meaning at runtime.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property"
+                   type="javaee:faces-config-propertyType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Nested "property" elements identify JavaBeans
+            properties of the Validator implementation class
+            that may be configured to affect the operation of
+            the Validator.  This attribute is primarily for
+            design-time tools and is not specified to have
+            any meaning at runtime.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="validator-extension"
+                   type="javaee:faces-config-validator-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-validator-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Extension element for validator.  It may contain
+        implementation specific content.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any namespace="##any"
+               processContents="lax"
+               minOccurs="0"
+               maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:simpleType name="faces-config-valueType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "value" element is the String representation of
+        a literal value to which a scalar managed property
+        will be set, or a value binding expression ("#{...}")
+        that will be used to calculate the required value.
+        It will be converted as specified for the actual
+        property type.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:union memberTypes="javaee:faces-config-el-expressionType xsd:string"/>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-value-classType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "value-class" element defines the Java type to which each
+        "value" element's value will be converted to, prior to adding
+        it to the "list-entries" list for a managed property that is
+        a java.util.List, or a "map-entries" map for a managed
+        property that is a java.util.Map.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-list-entriesType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The "list-entries" element represents a set of initialization
+        elements for a managed property that is a java.util.List or an
+        array.  In the former case, the "value-class" element can
+        optionally be used to declare the Java type to which each
+        value should be converted before adding it to the Collection.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="value-class"
+                   type="javaee:faces-config-value-classType"
+                   minOccurs="0"/>
+      <xsd:choice minOccurs="0"
+                  maxOccurs="unbounded">
+        <xsd:element name="null-value"
+                     type="javaee:faces-config-null-valueType"/>
+        <xsd:element name="value"
+                     type="javaee:faces-config-valueType"/>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-system-event-listenerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The presence of this element within the "application" element in
+        an application configuration resource file indicates the
+        developer wants to add an SystemEventListener to this
+        application instance.  Elements nested within this element allow
+        selecting the kinds of events that will be delivered to the
+        listener instance, and allow selecting the kinds of classes that
+        can be the source of events that are delivered to the listener
+        instance.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="system-event-listener-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "system-event-listener-class" element contains
+            the fully qualified class name of the concrete
+            SystemEventListener implementation class that will be
+            called when events of the type specified by the
+            "system-event-class" are sent by the runtime.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="system-event-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "system-event-class" element contains the fully
+            qualified class name of the SystemEvent subclass for
+            which events will be delivered to the class whose fully
+            qualified class name is given by the
+            "system-event-listener-class" element.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="source-class"
+                   minOccurs="0"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The "source-class" element, if present, contains the
+            fully qualified class name of the class that will be the
+            source for the event to be delivered to the class whose
+            fully qualified class name is given by the
+            "system-event-listener-class" element.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:simpleType name="faces-config-versionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This type contains the recognized versions of
+        faces-config supported.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+      <xsd:enumeration value="2.1"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+</xsd:schema>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_2.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_2.xsd
new file mode 100644
index 0000000000..31b5ab82c6
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/web-facesconfig_2_2.xsd
@@ -0,0 +1,3703 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<xsd:schema xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" version="2.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+    <xsd:include schemaLocation="javaee_7.xsd" />
+    <xsd:annotation>
+        <xsd:documentation>
+
+      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+      Copyright (c) 2011 - 2013 Oracle and/or its affiliates. All rights reserved.
+
+      The contents of this file are subject to the terms of either the GNU
+      General Public License Version 2 only ("GPL") or the Common Development
+      and Distribution License("CDDL") (collectively, the "License").  You
+      may not use this file except in compliance with the License.  You can
+      obtain a copy of the License at
+      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+      or packager/legal/LICENSE.txt.  See the License for the specific
+      language governing permissions and limitations under the License.
+
+      When distributing the software, include this License Header Notice in each
+      file and include the License file at packager/legal/LICENSE.txt.
+
+      GPL Classpath Exception:
+      Oracle designates this particular file as subject to the "Classpath"
+      exception as provided by Oracle in the GPL Version 2 section of the License
+      file that accompanied this code.
+
+      Modifications:
+      If applicable, add the following below the License Header, with the fields
+      enclosed by brackets [] replaced by your own identifying information:
+      "Portions Copyright [year] [name of copyright owner]"
+
+      Contributor(s):
+      If you wish your version of this file to be governed by only the CDDL or
+      only the GPL Version 2, indicate your decision by adding "[Contributor]
+      elects to include this software in this distribution under the [CDDL or GPL
+      Version 2] license."  If you don't indicate a single choice of license, a
+      recipient has the option to distribute your version of this file under
+      either the CDDL, the GPL Version 2 or to extend the choice of license to
+      its licensees as provided above.  However, if you add GPL Version 2 code
+      and therefore, elected the GPL Version 2 license, then the option applies
+      only if the new code is made subject to such option by the copyright
+      holder.
+
+    </xsd:documentation>
+    </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[
+
+      <p>The XML Schema for the JavaServer Faces Application
+      Configuration File (Version 2.2).</p>
+
+      <p>All JavaServer Faces configuration files must indicate
+      the JavaServer Faces schema by indicating the JavaServer
+      Faces namespace:</p>
+
+      <p>http://xmlns.jcp.org/xml/ns/javaee</p>
+
+      <p>and by indicating the version of the schema by
+      using the version element as shown below:</p>
+
+      <pre>&lt;faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="..."
+      version="2.2"&gt;
+      ...
+      &lt;/faces-config&gt;</pre>
+
+      <p>The instance documents may indicate the published
+      version of the schema using xsi:schemaLocation attribute
+      for javaee namespace with the following location:</p>
+
+      <p>http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd</p>
+
+      ]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="faces-config"
+               type="javaee:faces-configType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+        <p>The "faces-config" element is the root of the configuration
+        information hierarchy, and contains nested elements for all
+        of the other configuration settings.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:unique name="faces-config-behavior-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[
+
+          <p>Behavior IDs must be unique within a document.</p>
+
+        ]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:behavior"/>
+      <xsd:field xpath="javaee:behavior-id"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-converter-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[
+
+          <p>Converter IDs must be unique within a document.</p>
+
+        ]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:converter"/>
+      <xsd:field xpath="javaee:converter-id"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-converter-for-class-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[
+
+          <p>'converter-for-class' element values must be unique
+          within a document.</p>
+
+        ]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:converter"/>
+      <xsd:field xpath="javaee:converter-for-class"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-validator-ID-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[
+
+         <p> Validator IDs must be unique within a document.</p>
+
+        ]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:validator"/>
+      <xsd:field xpath="javaee:validator-id"/>
+    </xsd:unique>
+    <xsd:unique name="faces-config-managed-bean-name-uniqueness">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[
+
+         <p> Managed bean names must be unique within a document.</p>
+
+        ]]></xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:managed-bean"/>
+      <xsd:field xpath="javaee:managed-bean-name"/>
+    </xsd:unique>
+  </xsd:element>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-configType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "faces-config" element is the root of the configuration
+        information hierarchy, and contains nested elements for all
+        of the other configuration settings.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="application"
+                   type="javaee:faces-config-applicationType"/>
+      <xsd:element name="ordering"
+                   type="javaee:faces-config-orderingType"/>
+      <xsd:element name="absolute-ordering"
+                   type="javaee:faces-config-absoluteOrderingType"
+                   minOccurs="0"
+                   />
+      <xsd:element name="factory"
+                   type="javaee:faces-config-factoryType"/>
+      <xsd:element name="component"
+                   type="javaee:faces-config-componentType"/>
+      <xsd:element name="converter"
+                   type="javaee:faces-config-converterType"/>
+      <xsd:element name="managed-bean"
+                   type="javaee:faces-config-managed-beanType"/>
+      <xsd:element name="flow-definition"
+                   type="javaee:faces-config-flow-definitionType"/>
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> <span class="changed_modified_2_2">The</span> "name" element
+           within the top level "faces-config"
+            element declares the name of this application
+            configuration resource.  Such names are used
+            in the document ordering scheme specified in section
+            JSF.11.4.6.</p>
+
+            <p class="changed_added_2_2">This value is taken to be the
+            defining document id of any &lt;flow-definition&gt; elements
+            defined in this Application Configuration Resource file.  If this
+            element is not specified, the runtime must take the empty string
+            as its value.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="navigation-rule"
+                   type="javaee:faces-config-navigation-ruleType"/>
+      <xsd:element name="protected-views"
+                   type="javaee:faces-config-protected-viewsType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="referenced-bean"
+                   type="javaee:faces-config-referenced-beanType"/>
+      <xsd:element name="render-kit"
+                   type="javaee:faces-config-render-kitType"/>
+      <xsd:element name="lifecycle"
+                   type="javaee:faces-config-lifecycleType"/>
+      <xsd:element name="validator"
+                   type="javaee:faces-config-validatorType"/>
+      <xsd:element name="behavior"
+                   type="javaee:faces-config-behaviorType"/>
+      <xsd:element name="faces-config-extension"
+                   type="javaee:faces-config-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:choice>
+    <xsd:attribute name="metadata-complete"
+                   type="xsd:boolean"
+                   use="optional">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[
+
+          The metadata-complete attribute defines whether this
+          JavaServer Faces application is complete, or whether
+          the class files available to this module and packaged with
+          this application should be examined for annotations
+          that specify configuration information.
+
+          This attribute is only inspected on the application
+          configuration resource file located at "WEB-INF/faces-config.xml".
+          The presence of this attribute on any application configuration
+          resource other than the one located at "WEB-INF/faces-config.xml",
+          including any files named using the javax.faces.CONFIG_FILES
+          attribute, must be ignored.
+
+          If metadata-complete is set to "true", the JavaServer Faces
+          runtime must ignore any annotations that specify configuration
+          information, which might be present in the class files
+          of the application.
+
+          If metadata-complete is not specified or is set to
+          "false", the JavaServer Faces runtime must examine the class
+          files of the application for annotations, as specified by
+          the specification.
+
+          If "WEB-INF/faces-config.xml" is not present, the JavaServer
+          Faces runtime will assume metadata-complete to be "false".
+
+          The value of this attribute will have no impact on
+          runtime annotations such as @ResourceDependency or
+          @ListenerFor.
+
+        ]]></xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+    <xsd:attribute name="version"
+                   type="javaee:faces-config-versionType"
+                   use="required"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for faces-config.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-orderingType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Please see section JSF.11.4.6 for the specification of this element.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="after"
+                   type="javaee:faces-config-ordering-orderingType"
+                   minOccurs="0"
+                   />
+      <xsd:element name="before"
+                   type="javaee:faces-config-ordering-orderingType"
+                   minOccurs="0"
+                   />
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-ordering-orderingType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> This element contains a sequence of "id" elements, each of which
+        refers to an application configuration resource by the "id"
+        declared on its faces-config element.  This element can also contain
+        a single "others" element which specifies that this document comes
+        before or after other documents within the application.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="others"
+                   type="javaee:faces-config-ordering-othersType"
+                   minOccurs="0"
+                   />
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-ordering-othersType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> This element indicates that the ordering sub-element in which
+        it was placed should take special action regarding the ordering
+        of this application resource relative to other
+        application configuration resources.  See section JSF.11.4.6
+        for the complete specification.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-absoluteOrderingType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Only relevant if this is placed within the /WEB-INF/faces-config.xml.
+        Please see section JSF.11.4.6 for the specification for details.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="others"
+                   type="javaee:faces-config-ordering-othersType"
+                   minOccurs="0"
+                   />
+    </xsd:choice>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-applicationType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "application" element provides a mechanism to define the
+        various per-application-singleton implementation artifacts for
+        a particular web application that is utilizing
+        JavaServer Faces.  For nested elements that are not specified,
+        the JSF implementation must provide a suitable default.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="action-listener"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "action-listener" element contains the fully
+            qualified class name of the concrete
+            ActionListener implementation class that will be
+            called during the Invoke Application phase of the
+            request processing lifecycle.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="default-render-kit-id"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "default-render-kit-id" element allows the
+            application to define a renderkit to be used other
+            than the standard one.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="message-bundle"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The base name of a resource bundle representing
+            the message resources for this application.  See
+            the JavaDocs for the "java.util.ResourceBundle"
+            class for more information on the syntax of
+            resource bundle names.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="navigation-handler"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "navigation-handler" element contains the
+            fully qualified class name of the concrete
+            NavigationHandler implementation class that will
+            be called during the Invoke Application phase
+            of the request processing lifecycle, if the
+            default ActionListener (provided by the JSF
+            implementation) is used.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="view-handler"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "view-handler" element contains the fully
+            qualified class name of the concrete ViewHandler
+            implementation class that will be called during
+            the Restore View and Render Response phases of the
+            request processing lifecycle.  The faces
+            implementation must provide a default
+            implementation of this class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="state-manager"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "state-manager" element contains the fully
+            qualified class name of the concrete StateManager
+            implementation class that will be called during
+            the Restore View and Render Response phases of the
+            request processing lifecycle.  The faces
+            implementation must provide a default
+            implementation of this class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="el-resolver"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "el-resolver" element contains the fully
+            qualified class name of the concrete
+            javax.el.ELResolver implementation class
+            that will be used during the processing of
+            EL expressions.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property-resolver"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "property-resolver" element contains the fully
+            qualified class name of the concrete
+            PropertyResolver implementation class that will
+            be used during the processing of value binding
+            expressions.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="variable-resolver"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "variable-resolver" element contains the fully
+            qualified class name of the concrete
+            VariableResolver implementation class that will
+            be used during the processing of value binding
+            expressions.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resource-handler"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "resource-handler" element contains the
+            fully qualified class name of the concrete
+            ResourceHandler implementation class that
+            will be used during rendering and decoding
+            of resource requests The standard
+            constructor based decorator pattern used for
+            other application singletons will be
+            honored.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resource-library-contracts"
+                   type="javaee:faces-config-application-resource-library-contractsType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2">The "resource-library-contracts" element
+           specifies the mappings between views in the application and resource
+           library contracts that, if present in the application, must be made
+           available for use as templates of the specified views.
+           </p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="system-event-listener"
+                   type="javaee:faces-config-system-event-listenerType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="locale-config"
+                   type="javaee:faces-config-locale-configType"/>
+      <xsd:element name="resource-bundle"
+                   type="javaee:faces-config-application-resource-bundleType"/>
+      <xsd:element name="application-extension"
+                   type="javaee:faces-config-application-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="default-validators"
+                   type="javaee:faces-config-default-validatorsType"/>
+    </xsd:choice>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-application-resource-bundleType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The resource-bundle element inside the application element
+        references a java.util.ResourceBundle instance by name
+        using the var element.  ResourceBundles referenced in this
+        manner may be returned by a call to
+        Application.getResourceBundle() passing the current
+        FacesContext for this request and the value of the var
+        element below.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="base-name"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The fully qualified class name of the
+            java.util.ResourceBundle instance.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="var"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The name by which this ResourceBundle instance
+            is retrieved by a call to
+            Application.getResourceBundle().</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-application-resource-library-contractsType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2">The "resource-library-contracts" element
+           specifies the mappings between views in the application and resource
+           library contracts that, if present in the application, must be made
+           available for use as templates of the specified views.
+           </p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="contract-mapping"
+                   type="javaee:faces-config-application-resource-library-contracts-contract-mappingType"
+
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p classes="changed_added_2_2">Declare a mapping between a collection
+           of views in the application and the list of contracts (if present in the application)
+           that may be used as a source for templates and resources for those views.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-application-resource-library-contracts-contract-mappingType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2">The "contract-mapping" element
+           specifies the mappings between a collection of views in the application and resource
+           library contracts that, if present in the application, must be made
+           available for use as templates of the specified views.
+           </p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="url-pattern"
+                   type="javaee:url-patternType"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2">The "url-pattern" element
+           specifies the collection of views in this application that
+           are allowed to use the corresponding contracts.
+           </p>
+
+           ]]></xsd:documentation>
+         </xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="contracts"
+                   type="javaee:string"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2">The "contracts" element
+           is a comma separated list of resource library contracts that,
+           if available to the application, may be used by the views
+           matched by the corresponding "url-pattern"
+           </p>
+
+           ]]></xsd:documentation>
+         </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-application-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for application.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-factoryType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "factory" element provides a mechanism to define the
+        various Factories that comprise parts of the implementation
+        of JavaServer Faces.  For nested elements that are not
+        specified, the JSF implementation must provide a suitable
+        default.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="application-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "application-factory" element contains the
+            fully qualified class name of the concrete
+            ApplicationFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(APPLICATION_FACTORY) is
+            called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="exception-handler-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "exception-handler-factory" element contains the
+            fully qualified class name of the concrete
+            ExceptionHandlerFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(EXCEPTION_HANDLER_FACTORY)
+            is called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="external-context-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "external-context-factory" element contains the
+            fully qualified class name of the concrete
+            ExternalContextFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(EXTERNAL_CONTEXT_FACTORY)
+            is called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="faces-context-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "faces-context-factory" element contains the
+            fully qualified class name of the concrete
+            FacesContextFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(FACES_CONTEXT_FACTORY)
+            is called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="facelet-cache-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "facelet-cache-factory" element contains the
+            fully qualified class name of the concrete
+            FaceletCacheFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(FACELET_CACHE_FACTORY)
+            is called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="partial-view-context-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "partial-view-context-factory" element contains the
+            fully qualified class name of the concrete
+            PartialViewContextFactory implementation class that will
+            be called when FactoryFinder.getFactory
+            (FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY) is called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="lifecycle-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "lifecycle-factory" element contains the fully
+            qualified class name of the concrete LifecycleFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="view-declaration-language-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "view-declaration-language-factory" element contains
+            the fully qualified class name of the concrete
+            ViewDeclarationLanguageFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(VIEW_DECLARATION_FACTORY) is called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="tag-handler-delegate-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "tag-handler-delegate-factory" element contains
+            the fully qualified class name of the concrete
+            ViewDeclarationLanguageFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(TAG_HANDLER_DELEGATE_FACTORY) is called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="render-kit-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "render-kit-factory" element contains the fully
+            qualified class name of the concrete RenderKitFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(RENDER_KIT_FACTORY) is
+            called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="visit-context-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "visit-context-factory" element contains the fully
+            qualified class name of the concrete VisitContextFactory
+            implementation class that will be called when
+            FactoryFinder.getFactory(VISIT_CONTEXT_FACTORY) is
+            called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="flash-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2"> The "flash-factory" element contains the
+            fully qualified class name of the concrete
+            FaceletFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(FLASH_FACTORY) is
+            called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="flow-handler-factory"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "flow-handler-factory" element contains the
+            fully qualified class name of the concrete
+            FlowHandlerFactory implementation class that will
+            be called when
+            FactoryFinder.getFactory(FLOW_HANDLER_FACTORY) is
+            called.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="factory-extension"
+                   type="javaee:faces-config-factory-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:choice>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-factory-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for factory.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-attributeType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "attribute" element represents a named, typed, value
+        associated with the parent UIComponent via the generic
+        attributes mechanism.</p>
+
+        <p>Attribute names must be unique within the scope of the parent
+        (or related) component.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="attribute-name"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "attribute-name" element represents the name under
+            which the corresponding value will be stored, in the
+            generic attributes of the UIComponent we are related
+            to.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="attribute-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "attribute-class" element represents the Java type
+            of the value associated with this attribute name.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="default-value"
+                   type="javaee:faces-config-default-valueType"
+                   minOccurs="0"/>
+      <xsd:element name="suggested-value"
+                   type="javaee:faces-config-suggested-valueType"
+                   minOccurs="0"/>
+      <xsd:element name="attribute-extension"
+                   type="javaee:faces-config-attribute-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-attribute-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for attribute.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-componentType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "component" element represents a concrete UIComponent
+        implementation class that should be registered under the
+        specified type identifier, along with its associated
+        properties and attributes.  Component types must be unique
+        within the entire web application.</p>
+
+        <p>Nested "attribute" elements identify generic attributes that
+        are recognized by the implementation logic of this component.
+        Nested "property" elements identify JavaBeans properties of
+        the component class that may be exposed for manipulation
+        via tools.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="component-type"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "component-type" element represents the name under
+            which the corresponding UIComponent class should be
+            registered.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="component-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "component-class" element represents the fully
+            qualified class name of a concrete UIComponent
+            implementation class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="facet"
+                   type="javaee:faces-config-facetType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="property"
+                   type="javaee:faces-config-propertyType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="component-extension"
+                   type="javaee:faces-config-component-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-component-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for component.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-default-localeType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "default-locale" element declares the default locale
+        for this application instance.</p>
+
+        <p>It must be specified as :language:[_:country:[_:variant:]]
+        without the colons, for example "ja_JP_SJIS".  The
+        separators between the segments may be '-' or '_'.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-localeType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-default-valueType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "default-value" contains the value for the property or
+        attribute in which this element resides.  This value differs
+        from the "suggested-value" in that the property or attribute
+        must take the value, whereas in "suggested-value" taking the
+        value is optional.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:simpleType name="faces-config-el-expressionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> EL expressions present within a faces config file
+        must start with the character sequence of '#{' and
+        end with '}'.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="#\{.*\}"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-facetType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Define the name and other design-time information for a facet
+        that is associated with a renderer or a component.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="facet-name"
+                   type="javaee:java-identifierType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "facet-name" element represents the facet name
+            under which a UIComponent will be added to its parent.
+            It must be of type "Identifier".</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="facet-extension"
+                   type="javaee:faces-config-facet-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-facet-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for facet.  It may contain implementation
+        specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-from-view-idType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p><span class="changed_modified_2_2">The</span>
+       value of from-view-id must contain one of the following
+        values:</p>
+
+        <ul>
+
+        <li><p>The exact match for a view identifier that is recognized
+        by the the ViewHandler implementation being used (such as
+        "/index.jsp" if you are using the default ViewHandler).</p></li>
+
+        <li><p class="changed_added_2_2">The exact match of a flow node id
+        in the current flow, or a flow id of another flow.</p></li>
+
+         <li><p> A proper prefix of a view identifier, plus a trailing
+         "*" character.  This pattern indicates that all view
+         identifiers that match the portion of the pattern up to the
+         asterisk will match the surrounding rule.  When more than one
+         match exists, the match with the longest pattern is selected.
+         </p></li>
+
+        <li><p>An "*" character, which means that this pattern applies
+        to all view identifiers.  </p></li>
+
+       </ul>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-from-actionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "from-action" element contains an action reference
+        expression that must have been executed (by the default
+        ActionListener for handling application level events)
+        in order to select the navigation rule.  If not specified,
+        this rule will be relevant no matter which action reference
+        was executed (or if no action reference was executed).</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-el-expressionType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-ifType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+        <p>The "if" element defines a condition that must resolve
+        to true in order for the navigation case on which it is
+        defined to be matched, with the existing match criteria
+        (action method and outcome) as a prerequiste, if present.
+        The condition is defined declaratively using a value
+        expression in the body of this element. The expression is
+        evaluated at the time the navigation case is being matched.
+        If the "from-outcome" is omitted and this element is
+        present, the navigation handler will match a null outcome
+        and use the condition return value to determine if the
+        case should be considered a match.</p>
+
+<div class="changed_added_2_2">
+
+<p>When used in a <code>&lt;switch&gt;</code> within a flow, if the
+expresion returns <code>true</code>, the
+<code>&lt;from-outcome&gt;</code> sibling element's outcome is used as
+the id of the node in the flow graph to which control must be
+passed.</p>
+
+</div>
+
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-el-expressionType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-flow-definition-parameter-valueType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+        <p class="changed_added_2_2"></p>
+
+<div class="changed_added_2_2">
+
+
+
+</div>
+
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-el-expressionType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-converterType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "converter" element represents a concrete Converter
+        implementation class that should be registered under the
+        specified converter identifier.  Converter identifiers must
+        be unique within the entire web application.</p>
+
+        <p>Nested "attribute" elements identify generic attributes that
+        may be configured on the corresponding UIComponent in order
+        to affect the operation of the Converter.  Nested "property"
+        elements identify JavaBeans properties of the Converter
+        implementation class that may be configured to affect the
+        operation of the Converter.  "attribute" and "property"
+        elements are intended to allow component developers to
+        more completely describe their components to tools and users.
+        These elements have no required runtime semantics.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:choice>
+        <xsd:element name="converter-id"
+                     type="javaee:string">
+          <xsd:annotation>
+            <xsd:documentation><![CDATA[
+
+             <p> The "converter-id" element represents the
+              identifier under which the corresponding
+              Converter class should be registered.</p>
+
+            ]]></xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element name="converter-for-class"
+                     type="javaee:fully-qualified-classType">
+          <xsd:annotation>
+            <xsd:documentation><![CDATA[
+
+             <p> The "converter-for-class" element represents the
+              fully qualified class name for which a Converter
+              class will be registered.</p>
+
+            ]]></xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+      </xsd:choice>
+      <xsd:element name="converter-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "converter-class" element represents the fully
+            qualified class name of a concrete Converter
+            implementation class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> Nested "attribute" elements identify generic
+            attributes that may be configured on the
+            corresponding UIComponent in order to affect the
+            operation of the Converter.  This attribute is
+            primarily for design-time tools and is not
+            specified to have any meaning at runtime.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property"
+                   type="javaee:faces-config-propertyType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> Nested "property" elements identify JavaBeans
+            properties of the Converter implementation class
+            that may be configured to affect the operation of
+            the Converter.  This attribute is primarily for
+            design-time tools and is not specified to have
+            any meaning at runtime.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="converter-extension"
+                   type="javaee:faces-config-converter-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-converter-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for converter.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-lifecycleType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "lifecycle" element provides a mechanism to specify
+        modifications to the behaviour of the default Lifecycle
+        implementation for this web application.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="phase-listener"
+                   type="javaee:fully-qualified-classType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "phase-listener" element contains the fully
+            qualified class name of the concrete PhaseListener
+            implementation class that will be registered on
+            the Lifecycle.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="lifecycle-extension"
+                   type="javaee:faces-config-lifecycle-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-lifecycle-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for lifecycle.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:simpleType name="faces-config-localeType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The localeType defines valid locale defined by ISO-639-1
+        and ISO-3166.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="([a-z]{2})[_|\-]?([\p{L}]{2})?[_|\-]?(\w+)?"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-locale-configType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "locale-config" element allows the app developer to
+        declare the supported locales for this application.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="default-locale"
+                   type="javaee:faces-config-default-localeType"
+                   minOccurs="0"/>
+      <xsd:element name="supported-locale"
+                   type="javaee:faces-config-supported-localeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-default-validatorsType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "default-validators" element allows the app developer to
+        register a set of validators, referenced by identifier, that
+        are automatically assigned to any EditableValueHolder component
+        in the application, unless overridden or disabled locally.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="validator-id"
+                   type="javaee:string"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "validator-id" element represents the identifier
+            of a registered validator.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-managed-beanType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "managed-bean" element represents a JavaBean, of a
+        particular class, that will be dynamically instantiated
+        at runtime (by the default VariableResolver implementation)
+        if it is referenced as the first element of a value binding
+        expression, and no corresponding bean can be identified in
+        any scope.  In addition to the creation of the managed bean,
+        and the optional storing of it into the specified scope,
+        the nested managed-property elements can be used to
+        initialize the contents of settable JavaBeans properties of
+        the created instance.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="managed-bean-name"
+                   type="javaee:java-identifierType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "managed-bean-name" element represents the
+            attribute name under which a managed bean will
+            be searched for, as well as stored (unless the
+            "managed-bean-scope" value is "none").</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="managed-bean-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "managed-bean-class" element represents the fully
+            qualified class name of the Java class that will be
+            used`to instantiate a new instance if creation of the
+            specified`managed bean is requested.</p>
+
+            <p>The specified class must conform to standard JavaBeans
+            conventions.  In particular, it must have a public
+            zero-arguments constructor, and zero or more public
+            property setters.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="managed-bean-scope"
+                   type="javaee:faces-config-managed-bean-scopeOrNoneType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "managed-bean-scope" element represents the scope
+            into which a newly created instance of the specified
+            managed bean will be stored (unless the value is
+            "none").</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:choice>
+        <xsd:element name="managed-property"
+                     type="javaee:faces-config-managed-propertyType"
+                     minOccurs="0"
+                     maxOccurs="unbounded"/>
+        <xsd:element name="map-entries"
+                     type="javaee:faces-config-map-entriesType"/>
+        <xsd:element name="list-entries"
+                     type="javaee:faces-config-list-entriesType"/>
+      </xsd:choice>
+      <xsd:element name="managed-bean-extension"
+                   type="javaee:faces-config-managed-bean-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="eager"
+                   type="xsd:boolean"
+                   use="optional">
+      <xsd:annotation>
+        <xsd:documentation><![CDATA[
+
+         <p> This attribute is only considered when associated with
+          an application-scoped managed bean. If the value of the eager
+          attribute is true the runtime must instantiate this class
+          and store the instance within the application scope when the
+          application starts.</p>
+
+          <p>If eager is unspecified or is false, the default "lazy"
+          instantiation and scoped storage of the managed bean
+          will occur.</p>
+
+        ]]></xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-flow-definitionType">
+    <xsd:annotation>
+      <xsd:documentation>
+<![CDATA[
+
+        <p class="changed_added_2_2">Top level element for a flow
+        definition.</p>
+
+<div class="changed_added_2_2">
+
+<p>If there is no <code>&lt;start-node&gt;</code> element declared, it
+is assumed to be <code>&lt;flowName&gt;.xhtml</code>.</p>
+
+</div>
+
+]]>
+</xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="start-node"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   >
+        <xsd:annotation>
+          <xsd:documentation>
+
+        <![CDATA[
+
+<p class="changed_added_2_2">Declare the id of the starting node in the
+flow graph.  The start node may be any of the node types mentioned in
+the class javadocs for <code><a target="_"
+href="javax/faces/flow/FlowHandler.html">FlowHandler</a></code>.</p>
+
+]]>
+
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="view"
+                   type="javaee:faces-config-flow-definition-viewType"
+                   minOccurs="0"
+                   maxOccurs="unbounded" />
+      <xsd:element name="switch"
+                   type="javaee:faces-config-flow-definition-switchType"
+                   minOccurs="0"
+                   maxOccurs="unbounded" />
+      <xsd:element name="flow-return"
+                   type="javaee:faces-config-flow-definition-flow-returnType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="navigation-rule"
+                   type="javaee:faces-config-navigation-ruleType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="flow-call"
+                   type="javaee:faces-config-flow-definition-flow-callType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="method-call"
+                   type="javaee:faces-config-flow-definition-faces-method-callType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="initializer"
+                   type="javaee:faces-config-flow-definition-initializerType"
+                   minOccurs="0"
+                   />
+      <xsd:element name="finalizer"
+                   type="javaee:faces-config-flow-definition-finalizerType"
+                   minOccurs="0"
+                   />
+      <xsd:element name="inbound-parameter"
+                   type="javaee:faces-config-flow-definition-inbound-parameterType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID" use="required">
+        <xsd:annotation>
+          <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">The id of this flow.  The id
+         must be unique within the Application configuration Resource
+         file in which this flow is defined.  The value of this attribute,
+         combined with the value of the &lt;faces-config&gt;&lt;name&gt; element
+         must globally identify the flow within the application.<p> ]]>
+
+
+          </xsd:documentation>
+        </xsd:annotation>
+
+    </xsd:attribute>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-faces-method-callType">
+      <xsd:annotation>
+        <xsd:documentation>
+        <![CDATA[
+
+         <p class="changed_added_2_2">Invoke a method, passing parameters if necessary.
+         The return from the method is used as the outcome for where to go next in the
+         flow.  If the method is a void method, the default outcome is used.<p> ]]>
+
+
+        </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+          <xsd:element name="method"
+                       type="javaee:faces-config-flow-definition-faces-method-call-methodType"
+
+                       />
+          <xsd:element name="default-outcome"
+                       type="javaee:string"
+
+                       />
+          <xsd:element name="parameter"
+                       type="javaee:faces-config-flow-definition-flow-call-parameterType"
+                       minOccurs="0" maxOccurs="unbounded">
+            <xsd:annotation>
+              <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">A parameter to pass when calling the method
+         identified in the "method" element that is a sibling of this element.<p>
+
+         ]]>
+
+              </xsd:documentation>
+            </xsd:annotation>
+          </xsd:element>
+      </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-faces-method-call-methodType">
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-el-expressionType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-flow-call-parameterType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">A parameter to pass when calling the method
+         identified in the "method" element that is a sibling of this element.<p>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class"
+                   type="javaee:string"
+                   minOccurs="0"
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2"> The optional "class" element within a "parameter" element
+            will be interpreted as the fully qualified class name for the type
+            of the "value" element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="value"
+                   type="javaee:faces-config-flow-definition-parameter-valueType"
+
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2"> The "value" element within an "parameter"
+            must be a literal string or an EL Expression whose "get" will be called when the "method"
+            associated with this element is invoked.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+  <xsd:complexType name="faces-config-flow-definition-viewType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+<p class="changed_added_2_2">Define a view node in a flow graph.</p>
+
+<p>This element must contain exactly one
+<code>&lt;vdl-document&gt;</code> element.</p>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="vdl-document"
+                   type="javaee:java-identifierType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">Define the vdl-document for the enclosing view.<p>
+
+]]>
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"
+                   use="required">
+        <xsd:annotation>
+          <xsd:documentation>
+<![CDATA[
+
+         <p class="changed_added_2_2">The id of this view.  It must be
+         unique within the flow.</p>
+
+         ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+    </xsd:attribute>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-switchType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+<p class="changed_added_2_2">Define a switch node in a flow graph.</p>
+
+<div class="changed_added_2_2">
+
+<p>This element must contain one or more
+<code>&lt;case&gt;</code> elements.  When control passes to the
+<code>&lt;switch&gt;</code> node, each of the cases must be considered
+in order and control must past to the <code>&lt;from-outcome&gt;</code>
+of the first one whose <code>&lt;if&gt;</code> expression evaluates to
+<code>true</code>.</p>
+
+</div>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="case"
+                   type="javaee:faces-config-flow-definition-switch-caseType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">Defines a case that must be
+         considered in the list of cases in the
+         <code>&lt;switch&gt;</code>.</p>
+
+]]>
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="default-outcome"
+                   type="javaee:string"
+                   minOccurs="0"
+                   >
+        <xsd:annotation>
+          <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">Defines the default case that will
+         be taken if none of the other cases in the
+         <code>&lt;switch&gt;</code> are taken.</p>
+
+]]>
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"
+                   use="required">
+        <xsd:annotation>
+          <xsd:documentation>
+<![CDATA[
+
+         <p class="changed_added_2_2">The id of this switch.  It must be
+         unique within the flow.</p>
+
+         ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+    </xsd:attribute>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-switch-caseType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+         <p class="changed_added_2_2">Defines a case that will
+         be considered in the <code>&lt;switch&gt;</code>.</p>
+
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="if"
+                   type="javaee:faces-config-ifType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2">If this EL expression evaluates to
+           <code>true</code>, the corresponding <code>from-outcome</code> will
+           be the outcome taken by the enclosing <code>&lt;switch&gt;</code></p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="from-outcome"
+                   type="javaee:string"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+            <p>The "from-outcome" element contains a logical outcome
+            string returned by the execution of an application
+            action method selected via an "actionRef" property
+            (or a literal value specified by an "action" property)
+            of a UICommand component.  If specified, this rule
+            will be relevant only if the outcome value matches
+            this element's value.  If not specified, this rule
+            will be relevant if the outcome value is non-null
+            or, if the "if" element is present, will be relevant
+            for any outcome value, with the assumption that the
+            condition specified in the "if" element ultimately
+            determines if this rule is a match.</p>
+
+<p class="changed_added_2_2">If used in a faces flow, this element
+represents the node id to which control will be passed.</p>
+
+
+]]>
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID">
+    </xsd:attribute>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-flow-returnType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+<p class="changed_added_2_2">Define a return node in a flow graph.</p>
+
+<div class="changed_added_2_2">
+
+<p>This element must contain exactly one <code>&lt;from-outcome&gt;</code> element.</p>
+</div>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="from-outcome"
+                   type="javaee:string"
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+<p class="changed_added_2_2">This element
+represents the node id to which control will be passed.</p>
+
+
+]]>
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+
+    <xsd:attribute name="id"
+                   type="xsd:ID"
+                   use="required">
+        <xsd:annotation>
+          <xsd:documentation>
+<![CDATA[
+
+         <p class="changed_added_2_2">The id of this flow-return.</p>
+
+         ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+    </xsd:attribute>
+
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-flow-callType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+<p class="changed_added_2_2">Define a call node in a flow graph.</p>
+
+<div class="changed_added_2_2">
+
+<p>This element must contain exactly one <code>&lt;flow-reference&gt;</code> element,
+which must contain exactly one <code>&lt;flow-id&gt;</code> element.</p>
+</div>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="flow-reference"
+                   type="javaee:faces-config-flow-definition-flow-call-flow-referenceType"
+                    >
+        <xsd:annotation>
+          <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">The flow id of the called flow.<p>
+
+]]>
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="outbound-parameter"
+                   type="javaee:faces-config-flow-definition-flow-call-outbound-parameterType"
+                   minOccurs="0" maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">A parameter to pass when calling the flow
+         identified in the "flow-reference" element that is a sibling of this element.<p>
+
+]]>
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+
+    <xsd:attribute name="id"
+                   type="xsd:ID"
+                   use="required">
+        <xsd:annotation>
+          <xsd:documentation>
+<![CDATA[
+
+         <p class="changed_added_2_2">The id of this flow-return.</p>
+
+         ]]>
+          </xsd:documentation>
+        </xsd:annotation>
+    </xsd:attribute>
+
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-flow-call-flow-referenceType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+<p class="changed_added_2_2">Identifiy the called flow.</p>
+
+<div class="changed_added_2_2">
+
+</div>
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="flow-document-id"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p>The document id of the called flow.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="flow-id"
+                   type="javaee:java-identifierType"
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p>The id of the called flow.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-initializerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">A <code>MethodExpression</code> that will be invoked when the flow is entered.<p>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-el-expressionType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-finalizerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">A <code>MethodExpression</code> that will be invoked when the flow is exited.<p>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-el-expressionType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-inbound-parameterType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">A named parameter whose value will be populated
+         with a correspondingly named parameter within an "outbound-parameter" element.<p>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2"> The "name" element within an "inbound-parameter"
+            element declares the name of this parameter
+            to be passed into a flow.  There must be
+            a sibling "value" element in the same parent as this element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="value"
+                   type="javaee:faces-config-flow-definition-parameter-valueType"
+
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2"> The "value" element within an "inbound-parameter"
+            must be an EL Expression whose value will be set with the correspondingly
+            named "outbound-parameter" when this flow is entered, if such a
+            parameter exists.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="faces-config-flow-definition-flow-call-outbound-parameterType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        <![CDATA[
+
+         <p class="changed_added_2_2">A named parameter whose value will be
+         passed to a correspondingly named parameter within an "inbound-parameter" element
+         on the target flow.<p>
+
+]]>
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2"> The "name" element within an "outbound-parameter" element
+            declares the name of this parameter to be passed out of a flow.  There must be
+            a sibling "value" element in the same parent as this element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="value"
+                   type="javaee:faces-config-flow-definition-parameter-valueType"
+
+                   >
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p class="changed_added_2_2"> The "value" element within an "outbound-parameter"
+            must be a literal string or an EL Expression whose "get" will be called when the "flow-call"
+            containing this element is traversed to go to a new flow.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-managed-bean-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for managed-bean.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-managed-bean-scopeOrNoneType">
+    <xsd:annotation>
+      <xsd:documentation>
+        <![CDATA[[
+
+       <p> Defines the legal values for the <managed-bean-scope>
+        element's body content, which includes all of the scopes
+        normally used in a web application, plus the "none" value
+        indicating that a created bean should not be stored into
+        any scope.  Alternatively, an EL expression may be used
+        as the value of this element.  The result of evaluating this
+        expression must by of type java.util.Map.</p>
+
+        ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+        <xsd:pattern value="view|request|session|application|none|#\{.*\}"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-managed-propertyType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "managed-property" element represents an individual
+        property of a managed bean that will be configured to the
+        specified value (or value set) if the corresponding
+        managed bean is automatically created.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="property-name"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "property-name" element represents the JavaBeans
+            property name under which the corresponding value may
+            be stored.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property-class"
+                   type="javaee:java-typeType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "property-class" element represents the Java type
+            of the value associated with this property name.
+            If not specified, it can be inferred from existing
+            classes; however, this element should be specified
+            if the configuration file is going to be the source
+            for generating the corresponding classes.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:choice>
+        <xsd:element name="map-entries"
+                     type="javaee:faces-config-map-entriesType"/>
+        <xsd:element name="null-value"
+                     type="javaee:faces-config-null-valueType"/>
+        <xsd:element name="value"
+                     type="javaee:faces-config-valueType"/>
+        <xsd:element name="list-entries"
+                     type="javaee:faces-config-list-entriesType"/>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-map-entryType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "map-entry" element reprsents a single key-entry pair
+        that will be added to the computed value of a managed
+        property of type java.util.Map.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="key"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "key" element is the String representation of a
+            map key that will be stored in a managed property of
+            type java.util.Map.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:choice>
+        <xsd:element name="null-value"
+                     type="javaee:faces-config-null-valueType"/>
+        <xsd:element name="value"
+                     type="javaee:faces-config-valueType"/>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-map-entriesType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "map-entries' element represents a set of key-entry pairs
+        that will be added to the computed value of a managed property
+        of type java.util.Map.  In addition, the Java class types
+        of the key and entry values may be optionally declared.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="key-class"
+                   type="javaee:fully-qualified-classType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "key-class" element defines the Java type to which
+            each "key" element in a set of "map-entry" elements
+            will be converted to.  If omitted, "java.lang.String"
+            is assumed.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="value-class"
+                   type="javaee:faces-config-value-classType"
+                   minOccurs="0"/>
+      <xsd:element name="map-entry"
+                   type="javaee:faces-config-map-entryType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-navigation-caseType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> <span class="changed_modified_2_2">The</span>
+       "navigation-case" element describes a particular
+        combination of conditions that must match for this case to
+        be executed, and the view id of the component tree that
+        should be selected next.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="from-action"
+                   type="javaee:faces-config-from-actionType"
+                   minOccurs="0"/>
+      <xsd:element name="from-outcome"
+                   type="javaee:string"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+            <p>The "from-outcome" element contains a logical outcome
+            string returned by the execution of an application
+            action method selected via an "actionRef" property
+            (or a literal value specified by an "action" property)
+            of a UICommand component.  If specified, this rule
+            will be relevant only if the outcome value matches
+            this element's value.  If not specified, this rule
+            will be relevant if the outcome value is non-null
+            or, if the "if" element is present, will be relevant
+            for any outcome value, with the assumption that the
+            condition specified in the "if" element ultimately
+            determines if this rule is a match.</p>
+
+]]>
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="if"
+                   type="javaee:faces-config-ifType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> Please see section JSF.7.4.2 for the specification of this element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="to-view-id"
+                   type="javaee:faces-config-valueType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p><span class="changed_modified_2_2">The "to-view-id" element
+            contains the view identifier (<span class="changed_added_2_2">or
+            flow node id, or flow id</span>)
+            of the next view (<span class="changed_added_2_2">or flow node or
+            flow</span>) that should be displayed if this
+            navigation rule is matched. If the contents is a
+            value expression, it should be resolved by the
+            navigation handler to obtain the view (
+            <span class="changed_added_2_2">or flow node or flow</span>)
+            identifier.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="to-flow-document-id"
+                     type="javaee:java-identifierType"
+                     minOccurs="0"
+                     >
+          <xsd:annotation>
+            <xsd:documentation><![CDATA[
+
+             <p class="changed_added_2_2">The document id of the called flow.
+             If this element appears in a &lt;navigation-case&gt; nested within
+             a &lt;flow-definition&gt;, it must be ignored because navigation
+             cases within flows may only navigate among the view nodes of that
+             flow.</p>
+
+            ]]></xsd:documentation>
+          </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="redirect"
+                   type="javaee:faces-config-redirectType"
+                   minOccurs="0"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-navigation-ruleType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "navigation-rule" element represents an individual
+        decision rule that will be utilized by the default
+        NavigationHandler implementation to make decisions on
+        what view should be displayed next, based on the
+        view id being processed.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="from-view-id"
+                   type="javaee:faces-config-from-view-idType"
+                   />
+      <xsd:element name="navigation-case"
+                   type="javaee:faces-config-navigation-caseType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="navigation-rule-extension"
+                   type="javaee:faces-config-navigation-rule-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-navigation-rule-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for navigation-rule.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-null-valueType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "null-value" element indicates that the managed
+        property in which we are nested will be explicitly
+        set to null if our managed bean is automatically
+        created.  This is different from omitting the managed
+        property element entirely, which will cause no
+        property setter to be called for this property.</p>
+
+        <p>The "null-value" element can only be used when the
+        associated "property-class" identifies a Java class,
+        not a Java primitive.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-propertyType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "property" element represents a JavaBean property of the
+        Java class represented by our parent element.</p>
+
+        <p>Property names must be unique within the scope of the Java
+        class that is represented by the parent element, and must
+        correspond to property names that will be recognized when
+        performing introspection against that class via
+        java.beans.Introspector.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="property-name"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "property-name" element represents the JavaBeans
+            property name under which the corresponding value
+            may be stored.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property-class"
+                   type="javaee:java-typeType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "property-class" element represents the Java type
+            of the value associated with this property name.
+            If not specified, it can be inferred from existing
+            classes; however, this element should be specified if
+            the configuration file is going to be the source for
+            generating the corresponding classes.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="default-value"
+                   type="javaee:faces-config-default-valueType"
+                   minOccurs="0"/>
+      <xsd:element name="suggested-value"
+                   type="javaee:faces-config-suggested-valueType"
+                   minOccurs="0"/>
+      <xsd:element name="property-extension"
+                   type="javaee:faces-config-property-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-protected-viewsType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p class="changed_added_2_2">Any view that matches any of the
+       url-patterns in this element may only be reached from another JSF
+       view in the same web application. Because the runtime is aware of
+       which views are protected, any navigation from an unprotected
+       view to a protected view is automatically subject to
+       protection.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="url-pattern"
+                   type="javaee:url-patternType"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-property-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for property.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-redirectType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "redirect" element indicates that navigation to the
+        specified "to-view-id" should be accomplished by
+        performing an HTTP redirect rather than the usual
+        ViewHandler mechanisms.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="redirect-param"
+                   type="javaee:faces-config-redirect-redirectParamType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+    <xsd:attribute name="include-view-params"
+                   type="xsd:boolean"
+                   use="optional"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-redirect-viewParamType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> This element was introduced due to a specification
+        error, and is now deprecated.  The correct name for
+        this element is "redirect-param" and its meaning is
+        documented therein.  The "view-param" element is
+        maintained to preserve backwards compatibility.
+        Implementations must treat this element the same as
+        "redirect-param".</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:string"
+
+                   />
+      <xsd:element name="value"
+                   type="javaee:string"
+
+                   />
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-redirect-redirectParamType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "redirect-param" element, only valid within
+        a "redirect" element, contains child "name"
+        and "value" elements that must be included in the
+        redirect url when the redirect is performed.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:string"
+
+                   />
+      <xsd:element name="value"
+                   type="javaee:string"
+
+                   />
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-referenced-beanType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "referenced-bean" element represents at design time the
+        promise that a Java object of the specified type will exist at
+        runtime in some scope, under the specified key.  This can be
+        used by design time tools to construct user interface dialogs
+        based on the properties of the specified class.  The presence
+        or absence of a referenced bean element has no impact on the
+        JavaServer Faces runtime environment inside a web application.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="referenced-bean-name"
+                   type="javaee:java-identifierType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "referenced-bean-name" element represents the
+            attribute name under which the corresponding
+            referenced bean may be assumed to be stored, in one
+            of 'request', 'session', 'view', 'application'
+            or a custom scope.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="referenced-bean-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "referenced-bean-class" element represents the
+            fully qualified class name of the Java class
+            (either abstract or concrete) or Java interface
+            implemented by the corresponding referenced bean.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-render-kitType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "render-kit" element represents a concrete RenderKit
+        implementation that should be registered under the specified
+        render-kit-id.  If no render-kit-id is specified, the
+        identifier of the default RenderKit
+        (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="render-kit-id"
+                   type="javaee:string"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "render-kit-id" element represents an identifier
+            for the RenderKit represented by the parent
+            "render-kit" element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="render-kit-class"
+                   type="javaee:fully-qualified-classType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "render-kit-class" element represents the fully
+            qualified class name of a concrete RenderKit
+            implementation class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="renderer"
+                   type="javaee:faces-config-rendererType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="client-behavior-renderer"
+                   type="javaee:faces-config-client-behavior-rendererType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="render-kit-extension"
+                   type="javaee:faces-config-render-kit-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-client-behavior-rendererType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "client-behavior-renderer" element represents a concrete
+        ClientBehaviorRenderer implementation class that should be
+        registered under the specified behavior renderer type identifier,
+        in the RenderKit associated with the parent "render-kit"
+        element.  Client Behavior renderer type must be unique within the RenderKit
+        associated with the parent "render-kit" element.</p>
+
+        <p>Nested "attribute" elements identify generic component
+        attributes that are recognized by this renderer.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="client-behavior-renderer-type"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "client-behavior-renderer-type" element represents a renderer type
+            identifier for the Client Behavior Renderer represented by the parent
+            "client-behavior-renderer" element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="client-behavior-renderer-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "client-behavior-renderer-class" element represents the fully
+            qualified class name of a concrete Client Behavior Renderer
+            implementation class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-rendererType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "renderer" element represents a concrete Renderer
+        implementation class that should be registered under the
+        specified component family and renderer type identifiers,
+        in the RenderKit associated with the parent "render-kit"
+        element.  Combinations of component family and
+        renderer type must be unique within the RenderKit
+        associated with the parent "render-kit" element.</p>
+
+        <p>Nested "attribute" elements identify generic component
+        attributes that are recognized by this renderer.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="component-family"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "component-family" element represents the
+            component family for which the Renderer represented
+            by the parent "renderer" element will be used.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="renderer-type"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "renderer-type" element represents a renderer type
+            identifier for the Renderer represented by the parent
+            "renderer" element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="renderer-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "renderer-class" element represents the fully
+            qualified class name of a concrete Renderer
+            implementation class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="facet"
+                   type="javaee:faces-config-facetType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="renderer-extension"
+                   type="javaee:faces-config-renderer-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-renderer-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for renderer.  It may contain implementation
+        specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-render-kit-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for render-kit.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-suggested-valueType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "suggested-value" contains the value for the property or
+        attribute in which this element resides.  This value is
+        advisory only and is intended for tools to use when
+        populating pallettes.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-supported-localeType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "supported-locale" element allows authors to declare
+        which locales are supported in this application instance.</p>
+
+        <p>It must be specified as :language:[_:country:[_:variant:]]
+        without the colons, for example "ja_JP_SJIS".  The
+        separators between the segments may be '-' or '_'.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:faces-config-localeType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-behaviorType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "behavior" element represents a concrete Behavior
+        implementation class that should be registered under the
+        specified behavior identifier.  Behavior identifiers must
+        be unique within the entire web application.</p>
+
+        <p>Nested "attribute" elements identify generic attributes that
+        may be configured on the corresponding UIComponent in order
+        to affect the operation of the Behavior.  Nested "property"
+        elements identify JavaBeans properties of the Behavior
+        implementation class that may be configured to affect the
+        operation of the Behavior.  "attribute" and "property"
+        elements are intended to allow component developers to
+        more completely describe their components to tools and users.
+        These elements have no required runtime semantics.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="behavior-id"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "behavior-id" element represents the identifier
+            under which the corresponding Behavior class should
+            be registered.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="behavior-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "behavior-class" element represents the fully
+            qualified class name of a concrete Behavior
+            implementation class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> Nested "attribute" elements identify generic
+            attributes that may be configured on the
+            corresponding UIComponent in order to affect the
+            operation of the Behavior.  This attribute is
+            primarily for design-time tools and is not
+            specified to have any meaning at runtime.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property"
+                   type="javaee:faces-config-propertyType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> Nested "property" elements identify JavaBeans
+            properties of the Behavior implementation class
+            that may be configured to affect the operation of
+            the Behavior.  This attribute is primarily for
+            design-time tools and is not specified to have
+            any meaning at runtime.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="behavior-extension"
+                   type="javaee:faces-config-behavior-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-behavior-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for behavior.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-validatorType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "validator" element represents a concrete Validator
+        implementation class that should be registered under the
+        specified validator identifier.  Validator identifiers must
+        be unique within the entire web application.</p>
+
+        <p>Nested "attribute" elements identify generic attributes that
+        may be configured on the corresponding UIComponent in order
+        to affect the operation of the Validator.  Nested "property"
+        elements identify JavaBeans properties of the Validator
+        implementation class that may be configured to affect the
+        operation of the Validator.  "attribute" and "property"
+        elements are intended to allow component developers to
+        more completely describe their components to tools and users.
+        These elements have no required runtime semantics.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="validator-id"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "validator-id" element represents the identifier
+            under which the corresponding Validator class should
+            be registered.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="validator-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "validator-class" element represents the fully
+            qualified class name of a concrete Validator
+            implementation class.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="attribute"
+                   type="javaee:faces-config-attributeType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> Nested "attribute" elements identify generic
+            attributes that may be configured on the
+            corresponding UIComponent in order to affect the
+            operation of the Validator.  This attribute is
+            primarily for design-time tools and is not
+            specified to have any meaning at runtime.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="property"
+                   type="javaee:faces-config-propertyType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> Nested "property" elements identify JavaBeans
+            properties of the Validator implementation class
+            that may be configured to affect the operation of
+            the Validator.  This attribute is primarily for
+            design-time tools and is not specified to have
+            any meaning at runtime.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="validator-extension"
+                   type="javaee:faces-config-validator-extensionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-validator-extensionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> Extension element for validator.  It may contain
+        implementation specific content.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:any minOccurs="0"
+               maxOccurs="unbounded"
+               namespace="##any"
+               processContents="lax"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:simpleType name="faces-config-valueType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "value" element is the String representation of
+        a literal value to which a scalar managed property
+        will be set, or a value binding expression ("#{...}")
+        that will be used to calculate the required value.
+        It will be converted as specified for the actual
+        property type.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:union memberTypes="javaee:faces-config-el-expressionType xsd:string"/>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-value-classType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "value-class" element defines the Java type to which each
+        "value" element's value will be converted to, prior to adding
+        it to the "list-entries" list for a managed property that is
+        a java.util.List, or a "map-entries" map for a managed
+        property that is a java.util.Map.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType">
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-list-entriesType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The "list-entries" element represents a set of initialization
+        elements for a managed property that is a java.util.List or an
+        array.  In the former case, the "value-class" element can
+        optionally be used to declare the Java type to which each
+        value should be converted before adding it to the Collection.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="value-class"
+                   type="javaee:faces-config-value-classType"
+                   minOccurs="0"/>
+      <xsd:choice minOccurs="0"
+                  maxOccurs="unbounded">
+        <xsd:element name="null-value"
+                     type="javaee:faces-config-null-valueType"/>
+        <xsd:element name="value"
+                     type="javaee:faces-config-valueType"/>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="faces-config-system-event-listenerType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> The presence of this element within the "application" element in
+        an application configuration resource file indicates the
+        developer wants to add an SystemEventListener to this
+        application instance.  Elements nested within this element allow
+        selecting the kinds of events that will be delivered to the
+        listener instance, and allow selecting the kinds of classes that
+        can be the source of events that are delivered to the listener
+        instance.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="system-event-listener-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "system-event-listener-class" element contains
+            the fully qualified class name of the concrete
+            SystemEventListener implementation class that will be
+            called when events of the type specified by the
+            "system-event-class" are sent by the runtime.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="system-event-class"
+                   type="javaee:fully-qualified-classType">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "system-event-class" element contains the fully
+            qualified class name of the SystemEvent subclass for
+            which events will be delivered to the class whose fully
+            qualified class name is given by the
+            "system-event-listener-class" element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="source-class"
+                   type="javaee:fully-qualified-classType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation><![CDATA[
+
+           <p> The "source-class" element, if present, contains the
+            fully qualified class name of the class that will be the
+            source for the event to be delivered to the class whose
+            fully qualified class name is given by the
+            "system-event-listener-class" element.</p>
+
+          ]]></xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+  <xsd:simpleType name="faces-config-versionType">
+    <xsd:annotation>
+      <xsd:documentation><![CDATA[
+
+       <p> This type contains the recognized versions of
+        faces-config supported.</p>
+
+      ]]></xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+      <xsd:enumeration value="2.2"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+</xsd:schema>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/welcomeJSF.jsp b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/welcomeJSF.jsp
index be279185d2..744a104b98 100644
--- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/welcomeJSF.jsp
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/welcomeJSF.jsp
@@ -1,3 +1,22 @@
+<%--
+    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.
+
+--%>
 <%@page contentType="text/html" pageEncoding="__ENCODING__"%>
 
 <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/xml.xsd b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/xml.xsd
new file mode 100644
index 0000000000..c485fb1950
--- /dev/null
+++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/xml.xsd
@@ -0,0 +1,129 @@
+<?xml version='1.0'?>
+<!--
+
+W3C Software and Document Notice and License
+
+This work is being provided by the copyright holders under the following license.
+
+License
+
+By obtaining and/or copying this work, you (the licensee) agree that you have
+read, understood, and will comply with the following terms and conditions.
+
+Permission to copy, modify, and distribute this work, with or without
+modification, for any purpose and without fee or royalty is hereby granted,
+provided that you include the following on ALL copies of the work or portions
+thereof, including modifications:
+
+- The full text of this NOTICE in a location viewable to users of the
+  redistributed or derivative work.
+- Any pre-existing intellectual property disclaimers, notices, or terms and
+  conditions. If none exist, the W3C Software and Document Short Notice should
+  be included.
+- Notice of any changes or modifications, through a copyright statement on the
+  new code or document such as "This software or document includes material
+  copied from or derived from [title and URI of the W3C document].
+  Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+
+Disclaimers
+
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR
+ WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE
+SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+
+The name and trademarks of copyright holders may NOT be used in advertising or
+publicity pertaining to the work without specific, written prior permission.
+Title to copyright in this work will at all times remain with copyright
+holders.
+
+Changes:
+
+- File content downloaded from https://www.w3.org/2001/xml.xsd
+- Added license information from https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
+
+-->
+
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
+
+ <xs:annotation>
+  <xs:documentation>
+   See http://www.w3.org/XML/1998/namespace.html and
+   http://www.w3.org/TR/REC-xml for information about this namespace.
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+  <xs:documentation>This schema defines attributes and an attribute group
+        suitable for use by
+        schemas wishing to allow xml:base, xml:lang or xml:space attributes
+        on elements they define.
+
+        To enable this, such a schema must import this schema
+        for the XML namespace, e.g. as follows:
+        &lt;schema . . .>
+         . . .
+         &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+                    schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
+
+        Subsequently, qualified reference to any of the attributes
+        or the group defined below will have the desired effect, e.g.
+
+        &lt;type . . .>
+         . . .
+         &lt;attributeGroup ref="xml:specialAttrs"/>
+ 
+         will define a type which will schema-validate an instance
+         element with any of those attributes</xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+  <xs:documentation>In keeping with the XML Schema WG's standard versioning
+   policy, this schema document will persist at
+   http://www.w3.org/2001/03/xml.xsd.
+   At the date of issue it can also be found at
+   http://www.w3.org/2001/xml.xsd.
+   The schema document at that URI may however change in the future,
+   in order to remain compatible with the latest version of XML Schema
+   itself.  In other words, if the XML Schema namespace changes, the version
+   of this document at
+   http://www.w3.org/2001/xml.xsd will change
+   accordingly; the version at
+   http://www.w3.org/2001/03/xml.xsd will not change.
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="lang" type="xs:language">
+  <xs:annotation>
+   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
+         codes as the enumerated possible values . . .</xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+
+ <xs:attribute name="space" default="preserve">
+  <xs:simpleType>
+   <xs:restriction base="xs:NCName">
+    <xs:enumeration value="default"/>
+    <xs:enumeration value="preserve"/>
+   </xs:restriction>
+  </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="base" type="xs:anyURI">
+  <xs:annotation>
+   <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
+                     information about this attribute.</xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+
+ <xs:attributeGroup name="specialAttrs">
+  <xs:attribute ref="xml:base"/>
+  <xs:attribute ref="xml:lang"/>
+  <xs:attribute ref="xml:space"/>
+ </xs:attributeGroup>
+
+</xs:schema>
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/faces-config-prettyFaces.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/faces-config-prettyFaces.xml
index 40dc575616..b9882931ab 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/faces-config-prettyFaces.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/faces-config-prettyFaces.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 <pretty-config xmlns="http://ocpsoft.com/prettyfaces/3.3.0"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/faces-config.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/faces-config.xml
index 83586db57a..c4c3640c34 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/faces-config.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/faces-config.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/one.faces-config.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/one.faces-config.xml
index eec8d81d1a..49e2389f21 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/one.faces-config.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/one.faces-config.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="2.0" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/three.faces-config.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/three.faces-config.xml
index 895e7ecb20..3ec8f13e81 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/three.faces-config.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/three.faces-config.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="2.0" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/two.faces-config.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/two.faces-config.xml
index 848d0416ef..141dae2eaf 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/two.faces-config.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/metamodel/data/two.faces-config.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="2.0" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-01.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-01.xml
index 0a68e3a0a0..de888bf738 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-01.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-01.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-02.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-02.xml
index ad430e400c..ca635d385d 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-02.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-02.xml
@@ -1,6 +1,25 @@
 <?xml version='1.0' encoding='UTF-8'?>
 
+<!--
 
+    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.
+
+-->
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
     "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-03.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-03.xml
index 646e8140c3..2d6b62d8c7 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-03.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-03.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-04.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-04.xml
index 64745f9893..ef01f8e7d3 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-04.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-04.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-05.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-05.xml
index f3c5e822b2..c74f5e273c 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-05.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-05.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <!DOCTYPE faces-config PUBLIC
   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
   "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-100321.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-100321.xml
index 128db4dbba..f5eadb5dc1 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-100321.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-100321.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <!DOCTYPE faces-config PUBLIC
   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
   "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-98276.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-98276.xml
index c24c3fb997..493239cea4 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-98276.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-98276.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-end.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-end.xml
index 68f0f756ef..871bb97fab 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-end.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-end.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-middle.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-middle.xml
index 376ab954c9..56ead52207 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-middle.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-middle.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-middle2.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-middle2.xml
index d3496ba4bd..ff255dfc3c 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-middle2.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325-middle2.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325.xml
index c24c3fb997..493239cea4 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99325.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99906.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99906.xml
index 0dc29f56ed..465126bdea 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99906.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-99906.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-application.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-application.xml
index a3b1df3d30..1cf3226f0b 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-application.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-application.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-component.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-component.xml
index 394fe8e1e4..c6b5326835 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-component.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-component.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-default-locale.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-default-locale.xml
index 3973506348..4bd2a1290b 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-default-locale.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-default-locale.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-description.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-description.xml
index 2614a7ade4..4146bfbe98 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-description.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-description.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-empty-component.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-empty-component.xml
index 4c05a61f8d..357c2cc260 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-empty-component.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-empty-component.xml
@@ -1,5 +1,24 @@
 <?xml  version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-empty.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-empty.xml
index f1602023db..deb6f83824 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-empty.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-empty.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 
 <!DOCTYPE faces-config PUBLIC
     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flash-factory.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flash-factory.xml
index a6892d3d69..de8cb9638c 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flash-factory.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flash-factory.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="2.2"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flow-definition.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flow-definition.xml
index b404fdd9fd..1cdd072bf3 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flow-definition.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flow-definition.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="2.2"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flow-handler-factory.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flow-handler-factory.xml
index 15db09698e..9a0392b6ef 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flow-handler-factory.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-flow-handler-factory.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="2.2"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example.xml
index ac35bbac29..bdcac6158f 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example2.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example2.xml
index ac35bbac29..bdcac6158f 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example2.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example2.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example3.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example3.xml
index ac35bbac29..bdcac6158f 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example3.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example3.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example4.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example4.xml
index ac35bbac29..bdcac6158f 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example4.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example4.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example5.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example5.xml
index ac35bbac29..bdcac6158f 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example5.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-jsfjpa-example5.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale-1.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale-1.xml
index ffd2db82ff..dfc8e9073b 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale-1.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale-1.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale-2.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale-2.xml
index ffd2db82ff..dfc8e9073b 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale-2.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale-2.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale.xml
index ffd2db82ff..dfc8e9073b 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-locale.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="1.2" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-navigation-case-if.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-navigation-case-if.xml
index 6cd9d159ae..52b9722ab3 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-navigation-case-if.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-navigation-case-if.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="2.0" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-navigation-case.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-navigation-case.xml
index 87e3cdc447..629343e3a8 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-navigation-case.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-navigation-case.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="2.0" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-notwellformed.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-notwellformed.xml
index d76d3e475c..e81c93b8b7 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-notwellformed.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-notwellformed.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <!DOCTYPE faces-config PUBLIC
   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
   "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-ordering.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-ordering.xml
index 31e711f47b..d846905bc6 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-ordering.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-ordering.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="2.0" 
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-protected-view.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-protected-view.xml
index 176bbe03d2..e6d29599a7 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-protected-view.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-protected-view.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="2.2"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-resource-library-contracts.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-resource-library-contracts.xml
index b3df75d61c..34416f38e8 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-resource-library-contracts.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-resource-library-contracts.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <faces-config version="2.2"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-wellformed.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-wellformed.xml
index e708e2ce19..acb74eef3b 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-wellformed.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config-wellformed.xml
@@ -1,4 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
 <!DOCTYPE faces-config PUBLIC
   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
   "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config_2_1.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config_2_1.xml
index 23c6c54400..c2ee9e2910 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config_2_1.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config_2_1.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="2.1"
diff --git a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config_2_2.xml b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config_2_2.xml
index e2d10465ea..b1f3776132 100644
--- a/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config_2_2.xml
+++ b/enterprise/web.jsf/test/unit/src/org/netbeans/modules/web/jsf/xdm/model/faces-config_2_2.xml
@@ -1,5 +1,24 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!--
 
+    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.
+
+-->
 <!-- =========== FULL CONFIGURATION FILE ================================== -->
 
 <faces-config version="2.2"


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists