blob: 54c764f2f974be14d0cc1fd05602e0d62f523126 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="faceletTaglib"
nsURI="http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0" nsPrefix="faceletTaglib">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.&#xD;&#xA; &#xD;&#xA; Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.&#xD;&#xA; &#xD;&#xA; The contents of this file are subject to the terms of either the&#xD;&#xA; GNU General Public License Version 2 only (&quot;GPL&quot;) or the Common&#xD;&#xA; Development and Distribution License(&quot;CDDL&quot;) (collectively, the&#xD;&#xA; &quot;License&quot;). You may not use this file except in compliance with&#xD;&#xA; the License. You can obtain a copy of the License at&#xD;&#xA; https://glassfish.dev.java.net/public/CDDL+GPL.html or&#xD;&#xA; glassfish/bootstrap/legal/LICENSE.txt. See the License for the&#xD;&#xA; specific language governing permissions and limitations under the&#xD;&#xA; License.&#xD;&#xA; &#xD;&#xA; When distributing the software, include this License Header&#xD;&#xA; Notice in each file and include the License file at&#xD;&#xA; glassfish/bootstrap/legal/LICENSE.txt. Sun designates this&#xD;&#xA; particular file as subject to the &quot;Classpath&quot; exception as&#xD;&#xA; provided by Sun in the GPL Version 2 section of the License file&#xD;&#xA; that accompanied this code. If applicable, add the following&#xD;&#xA; below the License Header, with the fields enclosed by brackets []&#xD;&#xA; replaced by your own identifying information:&#xD;&#xA; &quot;Portions Copyrighted [year] [name of copyright owner]&quot;&#xD;&#xA; &#xD;&#xA; Contributor(s):&#xD;&#xA; &#xD;&#xA; If you wish your version of this file to be governed by only the&#xD;&#xA; CDDL or only the GPL Version 2, indicate your decision by adding&#xD;&#xA; &quot;[Contributor] elects to include this software in this&#xD;&#xA; distribution under the [CDDL or GPL Version 2] license.&quot; If you&#xD;&#xA; don't indicate a single choice of license, a recipient has the&#xD;&#xA; option to distribute your version of this file under either the&#xD;&#xA; CDDL, the GPL Version 2 or to extend the choice of license to its&#xD;&#xA; licensees as provided above. However, if you add GPL Version 2&#xD;&#xA; code and therefore, elected the GPL Version 2 license, then the&#xD;&#xA; option applies only if the new code is made subject to such&#xD;&#xA; option by the copyright holder.&#xD;&#xA; &#xD;&#xA; &#xD;&#xA;&#xD;&#xA;&#xD;&#xA; &lt;![CDATA[&#xD;&#xA;&#xD;&#xA; The XML Schema for the Tag Libraries in the JavaServer Faces&#xD;&#xA; Standard Facelets View Declaration Language (Facelets VDL)&#xD;&#xA; (Version 2.0).&#xD;&#xA;&#xD;&#xA; JSF 2.0 Facelet Tag Libraries that wish to conform to this&#xD;&#xA; schema must declare it in the following manner.&#xD;&#xA;&#xD;&#xA; &lt;facelet-taglib xmlns=&quot;http://java.sun.com/xml/ns/javaee&quot;&#xD;&#xA; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&#xD;&#xA; xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibary_2_0.xsd&quot;&#xD;&#xA; version=&quot;2.0&quot;>&#xD;&#xA;&#xD;&#xA; ...&#xD;&#xA;&#xD;&#xA; &lt;/facelet-taglib>&#xD;&#xA;&#xD;&#xA; The instance documents may indicate the published&#xD;&#xA; version of the schema using xsi:schemaLocation attribute&#xD;&#xA; for javaee namespace with the following location:&#xD;&#xA;&#xD;&#xA; http://java.sun.com/xml/ns/javaee/web-facelettaglibary_2_0.xsd&#xD;&#xA;&#xD;&#xA; ]]>&#xD;&#xA;&#xD;&#xA; &#xD;&#xA;&#xD;&#xA;&#xD;&#xA; &#xD;&#xA;&#xD;&#xA;&#xD;&#xA; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.&#xD;&#xA; &#xD;&#xA; Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.&#xD;&#xA; &#xD;&#xA; The contents of this file are subject to the terms of either the&#xD;&#xA; GNU General Public License Version 2 only (&quot;GPL&quot;) or the Common&#xD;&#xA; Development and Distribution License(&quot;CDDL&quot;) (collectively, the&#xD;&#xA; &quot;License&quot;). You may not use this file except in compliance with&#xD;&#xA; the License. You can obtain a copy of the License at&#xD;&#xA; https://glassfish.dev.java.net/public/CDDL+GPL.html or&#xD;&#xA; glassfish/bootstrap/legal/LICENSE.txt. See the License for the&#xD;&#xA; specific language governing permissions and limitations under the&#xD;&#xA; License.&#xD;&#xA; &#xD;&#xA; When distributing the software, include this License Header&#xD;&#xA; Notice in each file and include the License file at&#xD;&#xA; glassfish/bootstrap/legal/LICENSE.txt. Sun designates this&#xD;&#xA; particular file as subject to the &quot;Classpath&quot; exception as&#xD;&#xA; provided by Sun in the GPL Version 2 section of the License file&#xD;&#xA; that accompanied this code. If applicable, add the following&#xD;&#xA; below the License Header, with the fields enclosed by brackets []&#xD;&#xA; replaced by your own identifying information:&#xD;&#xA; &quot;Portions Copyrighted [year] [name of copyright owner]&quot;&#xD;&#xA; &#xD;&#xA; Contributor(s):&#xD;&#xA; &#xD;&#xA; If you wish your version of this file to be governed by only the&#xD;&#xA; CDDL or only the GPL Version 2, indicate your decision by adding&#xD;&#xA; &quot;[Contributor] elects to include this software in this&#xD;&#xA; distribution under the [CDDL or GPL Version 2] license.&quot; If you&#xD;&#xA; don't indicate a single choice of license, a recipient has the&#xD;&#xA; option to distribute your version of this file under either the&#xD;&#xA; CDDL, the GPL Version 2 or to extend the choice of license to its&#xD;&#xA; licensees as provided above. However, if you add GPL Version 2&#xD;&#xA; code and therefore, elected the GPL Version 2 license, then the&#xD;&#xA; option applies only if the new code is made subject to such&#xD;&#xA; option by the copyright holder.&#xD;&#xA; &#xD;&#xA; &#xD;&#xA;&#xD;&#xA;&#xD;&#xA;The following definitions that appear in the common&#xD;&#xA;shareable schema(s) of J2EE deployment descriptors should be&#xD;&#xA;interpreted with respect to the context they are included:&#xD;&#xA;&#xD;&#xA;Deployment Component may indicate one of the following:&#xD;&#xA; j2ee application;&#xD;&#xA; application client;&#xD;&#xA; web application;&#xD;&#xA; enterprise bean;&#xD;&#xA; resource adapter;&#xD;&#xA;&#xD;&#xA;Deployment File may indicate one of the following:&#xD;&#xA; ear file;&#xD;&#xA; war file;&#xD;&#xA; jar file;&#xD;&#xA; rar file;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA; &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>&#xD;&#xA; &lt;h1>About the XML namespace&lt;/h1>&#xD;&#xA;&#xD;&#xA; &lt;div class=&quot;bodytext&quot;>&#xD;&#xA; &lt;p>&#xD;&#xA; This schema document describes the XML namespace, in a form&#xD;&#xA; suitable for import by other schema documents.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; See &lt;a href=&quot;http://www.w3.org/XML/1998/namespace.html&quot;>&#xD;&#xA; http://www.w3.org/XML/1998/namespace.html&lt;/a> and&#xD;&#xA; &lt;a href=&quot;http://www.w3.org/TR/REC-xml&quot;>&#xD;&#xA; http://www.w3.org/TR/REC-xml&lt;/a> for information &#xD;&#xA; about this namespace.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; Note that local names in this namespace are intended to be&#xD;&#xA; defined only by the World Wide Web Consortium or its subgroups.&#xD;&#xA; The names currently defined in this namespace are listed below.&#xD;&#xA; They should not be used with conflicting semantics by any Working&#xD;&#xA; Group, specification, or document instance.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p> &#xD;&#xA; See further below in this document for more information about &lt;a href=&quot;#usage&quot;>how to refer to this schema document from your own&#xD;&#xA; XSD schema documents&lt;/a> and about &lt;a href=&quot;#nsversioning&quot;>the&#xD;&#xA; namespace-versioning policy governing this schema document&lt;/a>.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;/div>&#xD;&#xA; &lt;/div>&#xD;&#xA; &#xD;&#xA;&#xD;&#xA; &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>&#xD;&#xA; &#xD;&#xA; &lt;h3>Father (in any context at all)&lt;/h3> &#xD;&#xA;&#xD;&#xA; &lt;div class=&quot;bodytext&quot;>&#xD;&#xA; &lt;p>&#xD;&#xA; denotes Jon Bosak, the chair of &#xD;&#xA; the original XML Working Group. This name is reserved by &#xD;&#xA; the following decision of the W3C XML Plenary and &#xD;&#xA; XML Coordination groups:&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;blockquote>&#xD;&#xA; &lt;p>&#xD;&#xA;&#x9;In appreciation for his vision, leadership and&#xD;&#xA;&#x9;dedication the W3C XML Plenary on this 10th day of&#xD;&#xA;&#x9;February, 2000, reserves for Jon Bosak in perpetuity&#xD;&#xA;&#x9;the XML name &quot;xml:Father&quot;.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;/blockquote>&#xD;&#xA; &lt;/div>&#xD;&#xA; &lt;/div>&#xD;&#xA; &#xD;&#xA;&#xD;&#xA; &lt;div id=&quot;usage&quot; xml:id=&quot;usage&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>&#xD;&#xA; &lt;h2>&#xD;&#xA; &lt;a name=&quot;usage&quot;>About this schema document&lt;/a>&#xD;&#xA; &lt;/h2>&#xD;&#xA;&#xD;&#xA; &lt;div class=&quot;bodytext&quot;>&#xD;&#xA; &lt;p>&#xD;&#xA; This schema defines attributes and an attribute group suitable&#xD;&#xA; for use by schemas wishing to allow &lt;code>xml:base&lt;/code>,&#xD;&#xA; &lt;code>xml:lang&lt;/code>, &lt;code>xml:space&lt;/code> or&#xD;&#xA; &lt;code>xml:id&lt;/code> attributes on elements they define.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; To enable this, such a schema must import this schema for&#xD;&#xA; the XML namespace, e.g. as follows:&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;pre>&#xD;&#xA; &amp;lt;schema . . .&amp;gt;&#xD;&#xA; . . .&#xD;&#xA; &amp;lt;import namespace=&quot;http://www.w3.org/XML/1998/namespace&quot;&#xD;&#xA; schemaLocation=&quot;http://www.w3.org/2001/xml.xsd&quot;/&amp;gt;&#xD;&#xA; &lt;/pre>&#xD;&#xA; &lt;p>&#xD;&#xA; or&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;pre>&#xD;&#xA; &amp;lt;import namespace=&quot;http://www.w3.org/XML/1998/namespace&quot;&#xD;&#xA; schemaLocation=&quot;http://www.w3.org/2009/01/xml.xsd&quot;/&amp;gt;&#xD;&#xA; &lt;/pre>&#xD;&#xA; &lt;p>&#xD;&#xA; Subsequently, qualified reference to any of the attributes or the&#xD;&#xA; group defined below will have the desired effect, e.g.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;pre>&#xD;&#xA; &amp;lt;type . . .&amp;gt;&#xD;&#xA; . . .&#xD;&#xA; &amp;lt;attributeGroup ref=&quot;xml:specialAttrs&quot;/&amp;gt;&#xD;&#xA; &lt;/pre>&#xD;&#xA; &lt;p>&#xD;&#xA; will define a type which will schema-validate an instance element&#xD;&#xA; with any of those attributes.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;/div>&#xD;&#xA; &lt;/div>&#xD;&#xA; &#xD;&#xA;&#xD;&#xA; &lt;div id=&quot;nsversioning&quot; xml:id=&quot;nsversioning&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>&#xD;&#xA; &lt;h2>&#xD;&#xA; &lt;a name=&quot;nsversioning&quot;>Versioning policy for this schema document&lt;/a>&#xD;&#xA; &lt;/h2>&#xD;&#xA; &lt;div class=&quot;bodytext&quot;>&#xD;&#xA; &lt;p>&#xD;&#xA; In keeping with the XML Schema WG's standard versioning&#xD;&#xA; policy, this schema document will persist at&#xD;&#xA; &lt;a href=&quot;http://www.w3.org/2009/01/xml.xsd&quot;>&#xD;&#xA; http://www.w3.org/2009/01/xml.xsd&lt;/a>.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; At the date of issue it can also be found at&#xD;&#xA; &lt;a href=&quot;http://www.w3.org/2001/xml.xsd&quot;>&#xD;&#xA; http://www.w3.org/2001/xml.xsd&lt;/a>.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; The schema document at that URI may however change in the future,&#xD;&#xA; in order to remain compatible with the latest version of XML&#xD;&#xA; Schema itself, or with the XML namespace itself. In other words,&#xD;&#xA; if the XML Schema or XML namespaces change, the version of this&#xD;&#xA; document at &lt;a href=&quot;http://www.w3.org/2001/xml.xsd&quot;>&#xD;&#xA; http://www.w3.org/2001/xml.xsd &#xD;&#xA; &lt;/a> &#xD;&#xA; will change accordingly; the version at &#xD;&#xA; &lt;a href=&quot;http://www.w3.org/2009/01/xml.xsd&quot;>&#xD;&#xA; http://www.w3.org/2009/01/xml.xsd &#xD;&#xA; &lt;/a> &#xD;&#xA; will not change.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; Previous dated (and unchanging) versions of this schema &#xD;&#xA; document are at:&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;ul>&#xD;&#xA; &lt;li>&#xD;&#xA; &lt;a href=&quot;http://www.w3.org/2009/01/xml.xsd&quot;>&#xD;&#xA;&#x9;http://www.w3.org/2009/01/xml.xsd&lt;/a>&#xD;&#xA; &lt;/li>&#xD;&#xA; &lt;li>&#xD;&#xA; &lt;a href=&quot;http://www.w3.org/2007/08/xml.xsd&quot;>&#xD;&#xA;&#x9;http://www.w3.org/2007/08/xml.xsd&lt;/a>&#xD;&#xA; &lt;/li>&#xD;&#xA; &lt;li>&#xD;&#xA; &lt;a href=&quot;http://www.w3.org/2004/10/xml.xsd&quot;>&#xD;&#xA;&#x9;http://www.w3.org/2004/10/xml.xsd&lt;/a>&#xD;&#xA; &lt;/li>&#xD;&#xA; &lt;li>&#xD;&#xA; &lt;a href=&quot;http://www.w3.org/2001/03/xml.xsd&quot;>&#xD;&#xA;&#x9;http://www.w3.org/2001/03/xml.xsd&lt;/a>&#xD;&#xA; &lt;/li>&#xD;&#xA; &lt;/ul>&#xD;&#xA; &lt;/div>&#xD;&#xA; &lt;/div>&#xD;&#xA; "/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="Description" eSuperTypes="#//IdentifiableLangStringValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; The description type is used by a description element to&#xD;&#xA; provide text describing the parent element. The elements&#xD;&#xA; that use this type should include any information that the&#xD;&#xA; Deployment Component's Deployment File file producer wants&#xD;&#xA; to provide to the consumer of the Deployment Component's&#xD;&#xA; Deployment File (i.e., to the Deployer). Typically, the&#xD;&#xA; tools used by such a Deployment File consumer will display&#xD;&#xA; the description when processing the parent element that&#xD;&#xA; contains the description.&#xD;&#xA;&#xD;&#xA; The lang attribute defines the language that the&#xD;&#xA; description is provided in. The default value is &quot;en&quot; (English).&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="descriptionType"/>
<details key="kind" value="simple"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DisplayName" eSuperTypes="#//IdentifiableLangStringValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; &lt;![CDATA[&#xD;&#xA;&#xD;&#xA; The display-name type contains a short name that is intended&#xD;&#xA; to be displayed by tools. It is used by display-name&#xD;&#xA; elements. The display name need not be unique.&#xD;&#xA;&#xD;&#xA; Example:&#xD;&#xA;&#xD;&#xA; ...&#xD;&#xA; &lt;display-name xml:lang=&quot;en&quot;>&#xD;&#xA; Employee Self Service&#xD;&#xA; &lt;/display-name>&#xD;&#xA;&#xD;&#xA; The value of the xml:lang attribute is &quot;en&quot; (English) by default.&#xD;&#xA;&#xD;&#xA; ]]>&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="display-nameType"/>
<details key="kind" value="simple"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value=""/>
<details key="kind" value="mixed"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="name" value=":mixed"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
transient="true" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="xmlns:prefix"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
transient="true" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="xsi:schemaLocation"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="faceletTaglib" upperBound="-2"
eType="#//FaceletTaglib" volatile="true" transient="true" derived="true" containment="true"
resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="facelet-taglib"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibCanonicalName">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; Defines the canonical name of a tag or attribute being&#xD;&#xA; defined.&#xD;&#xA;&#xD;&#xA; The name must conform to the lexical rules for an NCName&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-canonical-nameType"/>
<details key="kind" value="simple"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NCName">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value=":0"/>
<details key="kind" value="simple"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibExtension">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Extension element for facelet-taglib. It may contain&#xD;&#xA; implementation specific content.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-extensionType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="any" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="wildcards" value="##any"/>
<details key="name" value=":0"/>
<details key="processing" value="lax"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibFunction" eSuperTypes="#//UserVisibleTaglibObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; If the tag library XML file contains individual function&#xD;&#xA; declarations rather than pointing to a library-class or a&#xD;&#xA; declaring a composite-library name, the individual functions are&#xD;&#xA; enclosed in function elements.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-functionType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionName" lowerBound="1"
eType="#//IdentifiableStringValue" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="function-name"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionClass" lowerBound="1"
eType="#//FullyQualifiedClass" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="function-class"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionSignature" lowerBound="1"
eType="#//IdentifiableStringValue" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="function-signature"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagAttribute" eSuperTypes="#//UserVisibleTaglibObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; The attribute element defines an attribute for the nesting&#xD;&#xA; tag. The attribute element may have several subelements&#xD;&#xA; defining:&#xD;&#xA;&#xD;&#xA; description a description of the attribute&#xD;&#xA;&#xD;&#xA; name the name of the attribute&#xD;&#xA;&#xD;&#xA; required whether the attribute is required or&#xD;&#xA; optional&#xD;&#xA;&#xD;&#xA; type the type of the attribute&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-attributeType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="nameElement" lowerBound="1"
eType="#//FaceletTaglibCanonicalName" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="name"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="requiredElement" eType="#//GenericBoolean"
containment="true" resolveProxies="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; Defines if the nesting attribute is required or&#xD;&#xA; optional.&#xD;&#xA;&#xD;&#xA; If not present then the default is &quot;false&quot;, i.e&#xD;&#xA; the attribute is optional.&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="required"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="typeElement" eType="#//FullyQualifiedClass"
containment="true" resolveProxies="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; Defines the Java type of the attributes&#xD;&#xA; value. If this element is omitted, the&#xD;&#xA; expected type is assumed to be&#xD;&#xA; &quot;java.lang.Object&quot;.&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="type"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="methodSignatureElement"
eType="#//IdentifiableStringValue" containment="true" resolveProxies="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; Defines the method signature for a MethodExpression-&#xD;&#xA; enabled attribute.&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="method-signature"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
volatile="true" transient="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="required" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
volatile="true" transient="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
volatile="true" transient="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="methodSignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
volatile="true" transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagBehaviorExtension">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Extension element for behavior. It may contain&#xD;&#xA; implementation specific content.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-behavior-extensionType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="any" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="wildcards" value="##any"/>
<details key="name" value=":0"/>
<details key="processing" value="lax"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagBehavior" eSuperTypes="#//UserVisibleTaglibObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Within a tag element, the behavior element encapsulates&#xD;&#xA; information specific to a JSF Behavior.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-behaviorType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="behaviorId" lowerBound="1"
eType="#//IdentifiableStringValue" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="behavior-id"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="handlerClass" eType="#//FullyQualifiedClass"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="handler-class"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="behaviorExtension" upperBound="-1"
eType="#//FaceletTaglibTagBehaviorExtension" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="behavior-extension"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagComponentExtension">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Extension element for component It may contain&#xD;&#xA; implementation specific content.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-component-extensionType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="any" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="wildcards" value="##any"/>
<details key="name" value=":0"/>
<details key="processing" value="lax"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagComponent" eSuperTypes="#//UserVisibleTaglibObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Within a tag element, the component element encapsulates&#xD;&#xA; information specific to a JSF UIComponent.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-componentType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="componentType" lowerBound="1"
eType="#//IdentifiableStringValue" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="component-type"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="rendererType" eType="#//IdentifiableStringValue"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="renderer-type"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="handlerClass" eType="#//FullyQualifiedClass"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="handler-class"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="componentExtension" upperBound="-1"
eType="#//FaceletTaglibTagComponentExtension" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="component-extension"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagConverterExtension">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Extension element for converter It may contain&#xD;&#xA; implementation specific content.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-converter-extensionType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="any" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="wildcards" value="##any"/>
<details key="name" value=":0"/>
<details key="processing" value="lax"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagConverter" eSuperTypes="#//UserVisibleTaglibObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Within a tag element, the converter element encapsulates&#xD;&#xA; information specific to a JSF Converter.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-converterType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="converterId" lowerBound="1"
eType="#//IdentifiableStringValue" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="converter-id"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="handlerClass" eType="#//FullyQualifiedClass"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="handler-class"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="converterExtension" upperBound="-1"
eType="#//FaceletTaglibTagConverterExtension" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="converter-extension"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagExtension">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Extension element for tag It may contain&#xD;&#xA; implementation specific content.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-extensionType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="any" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="wildcards" value="##any"/>
<details key="name" value=":0"/>
<details key="processing" value="lax"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTag" eSuperTypes="#//UserVisibleTaglibObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; If the tag library XML file contains individual tag&#xD;&#xA; declarations rather than pointing to a library-class or a&#xD;&#xA; declaring a composite-library name, the individual tags are&#xD;&#xA; enclosed in tag elements.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tagType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="tagNameElement" lowerBound="1"
eType="#//FaceletTaglibCanonicalName" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="tag-name"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="handlerClassElement" eType="#//FullyQualifiedClass"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="handler-class"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="behavior" eType="#//FaceletTaglibTagBehavior"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="behavior"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="component" eType="#//FaceletTaglibTagComponent"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="component"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="converter" eType="#//FaceletTaglibTagConverter"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="converter"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="validator" eType="#//FaceletTaglibTagValidator"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="validator"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//IdentifiableStringValue"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="source"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="attribute" upperBound="-1"
eType="#//FaceletTaglibTagAttribute" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="attribute"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="tagExtension" upperBound="-1"
eType="#//FaceletTaglibTagExtension" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="tag-extension"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tagName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
volatile="true" transient="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="handlerClass" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
volatile="true" transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagValidatorExtension">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Extension element for validator It may contain&#xD;&#xA; implementation specific content.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-validator-extensionType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="any" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="wildcards" value="##any"/>
<details key="name" value=":0"/>
<details key="processing" value="lax"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglibTagValidator" eSuperTypes="#//UserVisibleTaglibObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; Within a tag element, the validator element encapsulates&#xD;&#xA; information specific to a JSF Validator.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-tag-validatorType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<details key="name" value="facelet-taglib-tag-validatorType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="validatorId" lowerBound="1"
eType="#//IdentifiableStringValue" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="validator-id"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="handlerClass" eType="#//FullyQualifiedClass"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="handler-class"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="validatorExtension" upperBound="-1"
eType="#//FaceletTaglibTagValidatorExtension" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="validator-extension"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FaceletTaglib" eSuperTypes="#//UserVisibleTaglibObject">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; The top level XML element in a facelet tag library XML file.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglibType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="libraryClass" eType="#//FullyQualifiedClass"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="library-class"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="namespace" eType="#//IdentifiableStringValue"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="namespace"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="compositeLibraryName" eType="#//FullyQualifiedClass"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="composite-library-name"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="group"/>
<details key="name" value="group:6"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="tag" upperBound="-1" eType="#//FaceletTaglibTag"
volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="tag"/>
<details key="namespace" value="##targetNamespace"/>
<details key="group" value="#group:6"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="function" upperBound="-1"
eType="#//FaceletTaglibFunction" volatile="true" transient="true" derived="true"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="function"/>
<details key="namespace" value="##targetNamespace"/>
<details key="group" value="#group:6"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="taglibExtension" upperBound="-1"
eType="#//FaceletTaglibExtension" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="taglib-extension"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
eType="#//FaceletTaglibVersion" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="version"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="namespaceUri" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token"
volatile="true" transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="FaceletTaglibVersion">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; This type contains the recognized versions of&#xD;&#xA; facelet-taglib supported.&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-versionType"/>
</eAnnotations>
<eLiterals name="_20" literal="2.0"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="FaceletTaglibVersionTypeObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="facelet-taglib-versionType:Object"/>
<details key="baseType" value="facelet-taglib-versionType"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FullyQualifiedClass" eSuperTypes="#//IdentifiableStringValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; The elements that use this type designate the name of a&#xD;&#xA; Java class or interface. The name is in the form of a&#xD;&#xA; &quot;binary name&quot;, as defined in the JLS. This is the form&#xD;&#xA; of name used in Class.forName(). Tools that need the&#xD;&#xA; canonical name (the name used in source code) will need&#xD;&#xA; to convert this binary name to the canonical name.&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="fully-qualified-classType"/>
<details key="kind" value="simple"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="FullyQualifiedClassBase" instanceClassName="java.lang.String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="fully-qualified-classType_._base"/>
<details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#token"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GenericBoolean" eSuperTypes="#//IdentifiableStringValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; This type defines four different values which can designate&#xD;&#xA; boolean values. This includes values yes and no which are&#xD;&#xA; not designated by xsd:boolean&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="generic-booleanType"/>
<details key="kind" value="simple"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="GenericBooleanBase">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="generic-booleanType_._base"/>
</eAnnotations>
<eLiterals name="true"/>
<eLiterals name="false" value="1"/>
<eLiterals name="yes" value="2"/>
<eLiterals name="no" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Icon">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; The icon type contains small-icon and large-icon elements&#xD;&#xA; that specify the file names for small and large GIF, JPEG,&#xD;&#xA; or PNG icon images used to represent the parent element in a&#xD;&#xA; GUI tool.&#xD;&#xA;&#xD;&#xA; The xml:lang attribute defines the language that the&#xD;&#xA; icon file names are provided in. Its value is &quot;en&quot; (English)&#xD;&#xA; by default.&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="iconType"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="smallIcon" eType="#//Path"
containment="true" resolveProxies="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; &lt;![CDATA[&#xD;&#xA;&#xD;&#xA; The small-icon element contains the name of a file&#xD;&#xA; containing a small (16 x 16) icon image. The file&#xD;&#xA; name is a relative path within the Deployment&#xD;&#xA; Component's Deployment File.&#xD;&#xA;&#xD;&#xA; The image may be in the GIF, JPEG, or PNG format.&#xD;&#xA; The icon can be used by tools.&#xD;&#xA;&#xD;&#xA; Example:&#xD;&#xA;&#xD;&#xA; &lt;small-icon>employee-service-icon16x16.jpg&lt;/small-icon>&#xD;&#xA;&#xD;&#xA; ]]>&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="small-icon"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="largeIcon" eType="#//Path"
containment="true" resolveProxies="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; &lt;![CDATA[&#xD;&#xA;&#xD;&#xA; The large-icon element contains the name of a file&#xD;&#xA; containing a large&#xD;&#xA; (32 x 32) icon image. The file name is a relative&#xD;&#xA; path within the Deployment Component's Deployment&#xD;&#xA; File.&#xD;&#xA;&#xD;&#xA; The image may be in the GIF, JPEG, or PNG format.&#xD;&#xA; The icon can be used by tools.&#xD;&#xA;&#xD;&#xA; Example:&#xD;&#xA;&#xD;&#xA; &lt;large-icon>employee-service-icon32x32.jpg&lt;/large-icon>&#xD;&#xA;&#xD;&#xA; ]]>&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="large-icon"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>&#xD;&#xA; &#xD;&#xA; &lt;h3>lang (as an attribute name)&lt;/h3>&#xD;&#xA; &lt;p>&#xD;&#xA; denotes an attribute whose value&#xD;&#xA; is a language code for the natural language of the content of&#xD;&#xA; any element; its value is inherited. This name is reserved&#xD;&#xA; by virtue of its definition in the XML specification.&lt;/p>&#xD;&#xA; &#xD;&#xA; &lt;/div>&#xD;&#xA; &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>&#xD;&#xA; &lt;h4>Notes&lt;/h4>&#xD;&#xA; &lt;p>&#xD;&#xA; Attempting to install the relevant ISO 2- and 3-letter&#xD;&#xA; codes as the enumerated possible values is probably never&#xD;&#xA; going to be a realistic possibility. &#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; See BCP 47 at &lt;a href=&quot;http://www.rfc-editor.org/rfc/bcp/bcp47.txt&quot;>&#xD;&#xA; http://www.rfc-editor.org/rfc/bcp/bcp47.txt&lt;/a>&#xD;&#xA; and the IANA language subtag registry at&#xD;&#xA; &lt;a href=&quot;http://www.iana.org/assignments/language-subtag-registry&quot;>&#xD;&#xA; http://www.iana.org/assignments/language-subtag-registry&lt;/a>&#xD;&#xA; for further information.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; The union allows for the 'un-declaration' of xml:lang with&#xD;&#xA; the empty string.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;/div>&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="lang"/>
<details key="namespace" value="http://www.w3.org/XML/1998/namespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="JavaIdentifier" eSuperTypes="#//IdentifiableStringValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; The java-identifierType defines a Java identifier.&#xD;&#xA; The users of this type should further verify that&#xD;&#xA; the content does not contain Java reserved keywords.&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="java-identifierType"/>
<details key="kind" value="simple"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="JavaIdentifierBase" instanceClassName="java.lang.String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="java-identifierType_._base"/>
<details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#token"/>
<details key="pattern" value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Path" eSuperTypes="#//IdentifiableStringValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; The elements that use this type designate either a relative&#xD;&#xA; path or an absolute path starting with a &quot;/&quot;.&#xD;&#xA;&#xD;&#xA; In elements that specify a pathname to a file within the&#xD;&#xA; same Deployment File, relative filenames (i.e., those not&#xD;&#xA; starting with &quot;/&quot;) are considered relative to the root of&#xD;&#xA; the Deployment File's namespace. Absolute filenames (i.e.,&#xD;&#xA; those starting with &quot;/&quot;) also specify names in the root of&#xD;&#xA; the Deployment File's namespace. In general, relative names&#xD;&#xA; are preferred. The exception is .war files where absolute&#xD;&#xA; names are preferred for consistency with the Servlet API.&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="pathType"/>
<details key="kind" value="simple"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="PathTypeBase" instanceClassName="java.lang.String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="pathType_._base"/>
<details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#token"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IdentifiableStringValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA;&#xD;&#xA; This is a special string datatype that is defined by Java EE as&#xD;&#xA; a base type for defining collapsed strings. When schemas&#xD;&#xA; require trailing/leading space elimination as well as&#xD;&#xA; collapsing the existing whitespace, this base type may be&#xD;&#xA; used.&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="string"/>
<details key="kind" value="simple"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value=":0"/>
<details key="kind" value="simple"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"
iD="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IdentifiableLangStringValue" abstract="true"
eSuperTypes="#//IdentifiableStringValue">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&#xD;&#xA; &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>&#xD;&#xA; &#xD;&#xA; &lt;h3>lang (as an attribute name)&lt;/h3>&#xD;&#xA; &lt;p>&#xD;&#xA; denotes an attribute whose value&#xD;&#xA; is a language code for the natural language of the content of&#xD;&#xA; any element; its value is inherited. This name is reserved&#xD;&#xA; by virtue of its definition in the XML specification.&lt;/p>&#xD;&#xA; &#xD;&#xA; &lt;/div>&#xD;&#xA; &lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>&#xD;&#xA; &lt;h4>Notes&lt;/h4>&#xD;&#xA; &lt;p>&#xD;&#xA; Attempting to install the relevant ISO 2- and 3-letter&#xD;&#xA; codes as the enumerated possible values is probably never&#xD;&#xA; going to be a realistic possibility. &#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; See BCP 47 at &lt;a href=&quot;http://www.rfc-editor.org/rfc/bcp/bcp47.txt&quot;>&#xD;&#xA; http://www.rfc-editor.org/rfc/bcp/bcp47.txt&lt;/a>&#xD;&#xA; and the IANA language subtag registry at&#xD;&#xA; &lt;a href=&quot;http://www.iana.org/assignments/language-subtag-registry&quot;>&#xD;&#xA; http://www.iana.org/assignments/language-subtag-registry&lt;/a>&#xD;&#xA; for further information.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;p>&#xD;&#xA; The union allows for the 'un-declaration' of xml:lang with&#xD;&#xA; the empty string.&#xD;&#xA; &lt;/p>&#xD;&#xA; &lt;/div>&#xD;&#xA; "/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="lang"/>
<details key="namespace" value="http://www.w3.org/XML/1998/namespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UserVisibleTaglibObject" abstract="true">
<eOperations name="getDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Iterates through all descriptions and returns a concatenated string of&#xD;&#xA;all descriptions for the specified language.&#xD;&#xA;Passing the empty string indicates descriptions with no locale.&#xD;&#xA;Passing null is invalid and will cause an NPE to be thrown."/>
</eAnnotations>
<eParameters name="language" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="separationString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A string that will be used to separate each individual description after it&#xD;&#xA;has been trimmed but before it is concatenated to the result."/>
</eAnnotations>
</eParameters>
</eOperations>
<eOperations name="getDefaultDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Equivalent to getDescription(&quot;&quot;)."/>
</eAnnotations>
<eParameters name="separationString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A string that will be used to separate each individual display-name after it&#xD;&#xA;has been trimmed but before it is concatenated to the result."/>
</eAnnotations>
</eParameters>
</eOperations>
<eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Iterates through all display names and returns a concatenated string of&#xD;&#xA;all display names for the specified language. Passing null indicates the use of the current locale.&#xD;&#xA;Passing the empty string indicates descriptions with no locale."/>
</eAnnotations>
<eParameters name="language" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="separationString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A string that will be used to separate each individual display-name after it&#xD;&#xA;has been trimmed but before it is concatenated to the result."/>
</eAnnotations>
</eParameters>
</eOperations>
<eOperations name="getDefaultDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Equivalent to getDisplayName(&quot;&quot;)."/>
</eAnnotations>
<eParameters name="separationString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A string that will be used to separate each individual display-name after it&#xD;&#xA;has been trimmed but before it is concatenated to the result."/>
</eAnnotations>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="description" upperBound="-1"
eType="#//Description" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="description"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="displayName" upperBound="-1"
eType="#//DisplayName" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="display-name"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="icon" upperBound="-1" eType="#//Icon"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="icon"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
</ecore:EPackage>