Adding.  This plugin merges all the "out-of-the-box" tag support for the JSF "f" and "h" libraries.  Now in a separate plugin to make it easy for adopters to exclude it in favour of their own.
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.classpath b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.classpath
new file mode 100644
index 0000000..751c8f2
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.cvsignore b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.cvsignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.project b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.project
new file mode 100644
index 0000000..4246d9b
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.jst.jsf.standard.tagsupport</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/META-INF/MANIFEST.MF b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4a8c5e7
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Tagsupport Plug-in
+Bundle-SymbolicName: org.eclipse.jst.jsf.standard.tagsupport;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: org.eclipse.jst.jsf.standard.tagsupport.StandardTagSupportPlugin
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.jst.jsf.common
+Eclipse-LazyStart: true
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/build.properties b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/build.properties
new file mode 100644
index 0000000..e9863e2
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/Copy of jsf_core.xml b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/Copy of jsf_core.xml
new file mode 100644
index 0000000..fc3b00c
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/Copy of jsf_core.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<p:grammar-annotations
+	xmlns:p="http://org.eclipse.jst.jsf.contentmodel.annotations/grammarAnnotationSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://org.eclipse.jst.jsf.contentmodel.annotations/grammarAnnotationSchema ../../org.eclipse.jst.jsf.contentmodel.annotations/schema/grammar-annotations.xsd ">
+	<cm-element name="actionListener">
+		<cm-attribute name="type"></cm-attribute>
+	</cm-element>
+	<cm-element name="attribute">
+		<cm-attribute name="name"></cm-attribute>
+		<cm-attribute name="value"></cm-attribute>
+	</cm-element>
+	<cm-element name="convertDateTime">
+		<cm-attribute name="dateStyle"></cm-attribute>
+		<cm-attribute name="locale"></cm-attribute>
+		<cm-attribute name="pattern"></cm-attribute>
+		<cm-attribute name="timeStyle"></cm-attribute>
+		<cm-attribute name="timeZone"></cm-attribute>
+		<cm-attribute name="type"></cm-attribute>
+	</cm-element>
+	<cm-element name="convertNumber">
+		<cm-attribute name="currencyCode"></cm-attribute>
+		<cm-attribute name="currencySymbol"></cm-attribute>
+		<cm-attribute name="groupingUsed"></cm-attribute>
+		<cm-attribute name="integerOnly"></cm-attribute>
+		<cm-attribute name="locale"></cm-attribute>
+		<cm-attribute name="maxFractionDigits"></cm-attribute>
+		<cm-attribute name="maxIntegerDigits"></cm-attribute>
+		<cm-attribute name="minFractionDigits"></cm-attribute>
+		<cm-attribute name="minIntegerDigits"></cm-attribute>
+		<cm-attribute name="timeZone"></cm-attribute>
+		<cm-attribute name="pattern"></cm-attribute>
+		<cm-attribute name="type"></cm-attribute>
+	</cm-element>
+	<cm-element name="converter">
+		<cm-attribute name="converterId"></cm-attribute>
+	</cm-element>
+	<cm-element name="facet">
+		<cm-attribute name="name"></cm-attribute>
+	</cm-element>
+	<cm-element name="loadBundle">
+		<cm-attribute name="baseName"></cm-attribute>
+		<cm-attribute name="var"></cm-attribute>
+	</cm-element>
+	<cm-element name="param">
+		<cm-attribute name="binding"></cm-attribute>
+		<cm-attribute name="id"></cm-attribute>
+		<cm-attribute name="name"></cm-attribute>
+		<cm-attribute name="value"></cm-attribute>
+	</cm-element>
+	<cm-element name="selectItem">
+		<cm-attribute name="binding"></cm-attribute>
+		<cm-attribute name="id"></cm-attribute>
+		<cm-attribute name="itemDescription"></cm-attribute>
+		<cm-attribute name="itemDisabled"></cm-attribute>
+		<cm-attribute name="itemLabel"></cm-attribute>
+		<cm-attribute name="itemValue"></cm-attribute>
+		<cm-attribute name="value"></cm-attribute>
+	</cm-element>
+	<cm-element name="selectItems">
+		<cm-attribute name="binding"></cm-attribute>
+		<cm-attribute name="id"></cm-attribute>
+		<cm-attribute name="value"></cm-attribute>
+	</cm-element>
+	<cm-element name="subview">
+		<cm-attribute name="binding"></cm-attribute>
+		<cm-attribute name="id"></cm-attribute>
+		<cm-attribute name="rendered"></cm-attribute>
+	</cm-element>
+	<cm-element name="validateDoubleRange">
+		<cm-attribute name="maximum"></cm-attribute>
+		<cm-attribute name="minimum"></cm-attribute>
+	</cm-element>
+	<cm-element name="validateLength">
+		<cm-attribute name="maximum"></cm-attribute>
+		<cm-attribute name="minimum"></cm-attribute>
+	</cm-element>
+	<cm-element name="validateLongRange">
+		<cm-attribute name="maximum"></cm-attribute>
+		<cm-attribute name="minimum"></cm-attribute>
+	</cm-element>
+	<cm-element name="validator">
+		<cm-attribute name="validatorId"></cm-attribute>
+	</cm-element>
+	<cm-element name="valueChangeListener">
+		<cm-attribute name="type"></cm-attribute>
+	</cm-element>
+	<cm-element name="verbatim">
+		<cm-attribute name="escape"></cm-attribute>
+	</cm-element>
+	<cm-element name="view">
+		<cm-attribute name="locale"></cm-attribute>
+	</cm-element>
+</p:grammar-annotations>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/Copy of jsf_html.xml b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/Copy of jsf_html.xml
new file mode 100644
index 0000000..57d8d4b
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/Copy of jsf_html.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<p:grammar-annotations 
+	xmlns:p="http://org.eclipse.jst.jsf.contentmodel.annotations/grammarAnnotationSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://org.eclipse.jst.jsf.contentmodel.annotations/grammarAnnotationSchema ../../org.eclipse.jst.jsf.contentmodel.annotations/schema/grammar-annotations.xsd ">
+
+	<cm-element name="commandButton"></cm-element>
+	<cm-element name="commandLink"></cm-element>
+	<cm-element name="dataTable"></cm-element>
+	<cm-element name="form"></cm-element>
+	<cm-element name="graphicImage"></cm-element>
+	<cm-element name="inputHidden"></cm-element>
+	<cm-element name="inputSecret"></cm-element>
+	<cm-element name="inputText"></cm-element>
+	<cm-element name="inputTextarea"></cm-element>
+	<cm-element name="message"></cm-element>
+	<cm-element name="messages"></cm-element>
+	<cm-element name="outputFormat"></cm-element>
+	<cm-element name="outputLabel"></cm-element>
+	<cm-element name="outputLink"></cm-element>
+	<cm-element name="inputTextarea"></cm-element>
+	<cm-element name="outputText"></cm-element>
+	<cm-element name="panelGrid"></cm-element>
+	<cm-element name="panelGroup"></cm-element>
+	<cm-element name="selectBooleanCheckbox"></cm-element>
+	<cm-element name="selectManyCheckbox"></cm-element>		
+	<cm-element name="selectManyListbox"></cm-element>
+	<cm-element name="selectManyMenu"></cm-element>
+	<cm-element name="selectOneListbox"></cm-element>
+	<cm-element name="selectOneMenu"></cm-element>
+	<cm-element name="selectOneRadio"></cm-element>
+	<cm-element name="column"></cm-element>														
+	<cm-element name="*">
+		<cm-attribute name="action"></cm-attribute>
+		<cm-attribute name="actionListener"></cm-attribute>
+		<cm-attribute name="id"></cm-attribute>
+		<cm-attribute name="immediate"></cm-attribute>
+		<cm-attribute name="rendered"></cm-attribute>
+		<cm-attribute name="value"></cm-attribute>
+		<cm-attribute name="accesskey"></cm-attribute>
+		<cm-attribute name="alt"></cm-attribute>
+		<cm-attribute name="dir"></cm-attribute>
+		<cm-attribute name="disabled"></cm-attribute>
+		<cm-attribute name="image"></cm-attribute>
+		<cm-attribute name="lang"></cm-attribute>		
+		<cm-attribute name="onblur"></cm-attribute>
+		<cm-attribute name="onchange"></cm-attribute>
+		<cm-attribute name="onclick"></cm-attribute>
+		<cm-attribute name="ondblclick"></cm-attribute>
+		<cm-attribute name="onfocus"></cm-attribute>
+		<cm-attribute name="onkeydown"></cm-attribute>		
+		<cm-attribute name="onkeypress"></cm-attribute>
+		<cm-attribute name="onkeyup"></cm-attribute>
+		<cm-attribute name="onmousedown"></cm-attribute>
+		<cm-attribute name="onmousemove"></cm-attribute>
+		<cm-attribute name="onmouseout"></cm-attribute>		
+		<cm-attribute name="onkeypress"></cm-attribute>
+		<cm-attribute name="onmouseover"></cm-attribute>
+		<cm-attribute name="onmouseup"></cm-attribute>
+		<cm-attribute name="onselect"></cm-attribute>
+		<cm-attribute name="readonly"></cm-attribute>
+		<cm-attribute name="style"></cm-attribute>
+		<cm-attribute name="styleClass"></cm-attribute>		
+		<cm-attribute name="tabindex"></cm-attribute>
+		<cm-attribute name="title"></cm-attribute>
+		<cm-attribute name="type"></cm-attribute>	
+		<cm-attribute name="binding"></cm-attribute>	
+		
+		<cm-attribute name="charset"></cm-attribute>
+		<cm-attribute name="coords"></cm-attribute>
+		<cm-attribute name="hreflang"></cm-attribute>
+		<cm-attribute name="rel"></cm-attribute>
+		<cm-attribute name="rev"></cm-attribute>
+		<cm-attribute name="shape"></cm-attribute>
+		<cm-attribute name="target"></cm-attribute>	
+			
+		<cm-attribute name="first"></cm-attribute>
+		<cm-attribute name="rows"></cm-attribute>
+		<cm-attribute name="var"></cm-attribute>	
+		<cm-attribute name="bgcolor"></cm-attribute>	
+					
+		<cm-attribute name="border"></cm-attribute>
+		<cm-attribute name="cellpadding"></cm-attribute>
+		<cm-attribute name="cellspacing"></cm-attribute>	
+		<cm-attribute name="columnClasses"></cm-attribute>	
+
+		<cm-attribute name="footerClass"></cm-attribute>
+		<cm-attribute name="frame"></cm-attribute>
+		<cm-attribute name="headerClass"></cm-attribute>
+		<cm-attribute name="rowClasses"></cm-attribute>
+		<cm-attribute name="rules"></cm-attribute>
+		<cm-attribute name="summary"></cm-attribute>
+		<cm-attribute name="width"></cm-attribute>
+		<cm-attribute name="accept"></cm-attribute>
+		<cm-attribute name="acceptcharset"></cm-attribute>
+		<cm-attribute name="enctype"></cm-attribute>
+		<cm-attribute name="url"></cm-attribute>
+		<cm-attribute name="height"></cm-attribute>		
+		<cm-attribute name="ismap"></cm-attribute>
+		<cm-attribute name="longdesc"></cm-attribute>
+		<cm-attribute name="usemap"></cm-attribute>
+		<cm-attribute name="converter"></cm-attribute>
+		<cm-attribute name="validator"></cm-attribute>
+		<cm-attribute name="valueChangeListener"></cm-attribute>		
+		<cm-attribute name="disabled"></cm-attribute>
+		<cm-attribute name="maxlength"></cm-attribute>
+		<cm-attribute name="redisplay"></cm-attribute>
+		<cm-attribute name="size"></cm-attribute>
+		<cm-attribute name="for"></cm-attribute>		
+		<cm-attribute name="showDetail"></cm-attribute>
+		<cm-attribute name="showSummary"></cm-attribute>
+		<cm-attribute name="errorClass"></cm-attribute>
+		<cm-attribute name="errorStyle"></cm-attribute>
+		<cm-attribute name="fatalClass"></cm-attribute>
+		<cm-attribute name="fatalStyle"></cm-attribute>
+		<cm-attribute name="infoClass"></cm-attribute>		
+		<cm-attribute name="infoStyle"></cm-attribute>
+		<cm-attribute name="tooltip"></cm-attribute>
+		<cm-attribute name="warnClass"></cm-attribute>	
+		<cm-attribute name="warnStyle"></cm-attribute>	
+		<cm-attribute name="globalOnly"></cm-attribute>
+		<cm-attribute name="layout"></cm-attribute>		
+		<cm-attribute name="escape"></cm-attribute>
+		<cm-attribute name="disabledClass"></cm-attribute>
+		<cm-attribute name="enabledClass"></cm-attribute>	
+		<cm-attribute name="warnStyle"></cm-attribute>												
+	</cm-element>
+</p:grammar-annotations>
\ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_core.xml b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_core.xml
new file mode 100644
index 0000000..41476a9
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_core.xml
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<p:grammar-annotations
+	xmlns:p="http://org.eclipse.jst.jsf.contentmodel.annotations/grammarAnnotationSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://org.eclipse.jst.jsf.contentmodel.annotations/grammarAnnotationSchema ../../org.eclipse.jst.jsf.contentmodel.annotations/schema/grammar-annotations.xsd ">
+	<cm-element name="actionListener">
+		<cm-attribute name="type">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.JavaClassType
+				</value>
+			</property>
+			<property name="valid-interfaces">
+				<value>javax.faces.event.ActionListener</value>
+			</property>		
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="attribute">
+	</cm-element>	
+	<cm-element name="convertDateTime">
+		<cm-attribute name="dateStyle">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.StringType
+				</value>
+			</property>
+			<property name="valid-values">
+				<value>default</value>
+				<value>short</value>
+				<value>medium</value>
+				<value>long</value>
+				<value>full</value>
+			</property>
+			<property name="default-value">
+				<value>default</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="timeStyle">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.StringType
+				</value>
+			</property>
+			<property name="valid-values">
+				<value>default</value>
+				<value>short</value>
+				<value>medium</value>
+				<value>long</value>
+				<value>full</value>
+			</property>
+			<property name="default-value">
+				<value>default</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="type">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.StringType
+				</value>
+			</property>
+			<property name="valid-values">
+				<value>date</value>
+				<value>time</value>
+				<value>both</value>
+			</property>
+			<property name="default-value">
+				<value>both</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="convertNumber">
+		<cm-attribute name="groupingUsed">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.BooleanType
+				</value>
+			</property>
+			<property name="default-value">
+				<value>true</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="integerOnly">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.BooleanType
+				</value>
+			</property>
+			<property name="default-value">
+				<value>false</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="maxFractionDigits">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.IntegerType
+				</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="maxIntegerDigits">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.IntegerType
+				</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="minFractionDigits">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.IntegerType
+				</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="minIntegerDigits">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.IntegerType
+				</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="type">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.StringType
+				</value>
+			</property>
+			<property name="valid-values">
+				<value>number</value>
+				<value>currency</value>
+				<value>percentage</value>
+			</property>
+			<property name="default-value">
+				<value>number</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="converter">
+		<cm-attribute name="converterId">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.FacesConfigIdentifierType
+				</value>
+			</property>
+			<property name="config-type">
+				<value>javax.faces.converter.Converter</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="selectItem">
+		<cm-attribute name="itemDisabled">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.BooleanType
+				</value>
+			</property>
+			<property name="default-value">
+				<value>false</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.ValueBindingType
+				</value>
+			</property>
+			<property name="runtime-return-type">
+				<value>javax.faces.model.SelectItem</value>
+			</property>				
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="selectItems">	
+	</cm-element>
+	<cm-element name="subview">
+		<cm-attribute name="rendered">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.BooleanType
+				</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="validateDoubleRange">
+		<cm-attribute name="maximum">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.DoubleType
+				</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="minimum">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.DoubleType
+				</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="validateLength">
+		<cm-attribute name="maximum">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.LongType
+				</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>			
+		</cm-attribute>
+		<cm-attribute name="minimum">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.LongType
+				</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>	
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="validateLongRange">
+		<cm-attribute name="maximum">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.LongType
+				</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="minimum">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.LongType
+				</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="validator">
+		<cm-attribute name="validatorId">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.FacesConfigIdentifierType
+				</value>
+			</property>
+			<property name="config-type">
+				<value>javax.faces.validator.Validator</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="valueChangeListener">
+		<cm-attribute name="type">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.JavaClassType
+				</value>
+			</property>
+			<property name="valid-interfaces">
+				<value>javax.faces.event.ValueChangeListener</value>
+			</property>			
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="verbatim">
+		<cm-attribute name="escape">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.BooleanType
+				</value>
+			</property>
+			<property name="default-value">
+				<value>false</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="view"></cm-element>
+
+	<cm-element name="*">
+		<cm-attribute name="binding">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.ComponentBindingType
+				</value>
+			</property>
+			<property name="runtime-return-type">
+				<value>javax.faces.component.UIComponent</value>
+			</property>				
+		</cm-attribute>			
+		<cm-attribute name="id">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.ComponentIDType
+				</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>
+					org.eclipse.jst.jsf.core.attributevalues.ValueBindingType
+				</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+</p:grammar-annotations>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_html.properties b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_html.properties
new file mode 100644
index 0000000..99a8393
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_html.properties
@@ -0,0 +1,32 @@
+messages.layout.displayed-values.list=list (an HTML list)
+messages.layout.displayed-values.table=table (an HTML table)
+
+selectManyCheckbox.layout.displayed-values.pageDirection=pageDirection (list is laid out vertically)
+selectManyCheckbox.layout.displayed-values.lineDirection=lineDirection (list is laid out horizontally)
+
+selectOneRadio.layout.displayed-values.pageDirection=pageDirection (list is laid out vertically)
+selectOneRadio.layout.displayed-values.lineDirection=lineDirection (list is laid out horizontally)
+
+any.dir.displayed-values.ltr=ltr (left-to-right)
+any.dir.displayed-values.rtl=rtl (right-to-left)
+
+any.frame.displayed-values.none=none (no sides, default value)
+any.frame.displayed-values.above=above (top side only)
+any.frame.displayed-values.below=below (bottom side only)
+any.frame.displayed-values.hsides=hsides (top and bottom sides only)
+any.frame.displayed-values.vsides=vsides (right and left sides only)
+any.frame.displayed-values.lhs=lhs (left hand side only)
+any.frame.displayed-values.rhs=rhs (right hand side only)
+any.frame.displayed-values.box=box (all four sides)
+any.frame.displayed-values.border=border (all four sides)
+
+any.rules.displayed-values.none=none (no rules, default value)
+any.rules.displayed-values.groups=groups (between row groups)
+any.rules.displayed-values.rows=rows (between rows only)
+any.rules.displayed-values.cols=cols (between columns only)
+any.rules.displayed-values.all=all (between all rows and columns)
+
+any.shape.displayed-values.default=default (entire region)
+any.shape.displayed-values.rect=rect (rectangular region)
+any.shape.displayed-values.circle=circle (circular region)
+any.shape.displayed-values.poly=poly (polygonal region)
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_html.xml b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_html.xml
new file mode 100644
index 0000000..c77b5ab
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsf_html.xml
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<p:grammar-annotations
+	xmlns:p="http://org.eclipse.jst.jsf.contentmodel.annotations/grammarAnnotationSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://org.eclipse.jst.jsf.contentmodel.annotations/grammarAnnotationSchema ../../org.eclipse.jst.jsf.contentmodel.annotations/schema/grammar-annotations.xsd ">
+
+	<cm-element name="commandButton">
+		<cm-attribute name="type">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.StringType</value>
+			</property>		
+			<property name="valid-values">
+				<value>button</value>
+				<value>reset</value>
+				<value>submit</value>
+			</property>
+			<property name="default-value">
+				<value>submit</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="commandLink"></cm-element>
+	<cm-element name="dataTable"></cm-element>
+	<cm-element name="form"></cm-element>
+	<cm-element name="graphicImage"></cm-element>
+	<cm-element name="inputHidden">
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueType</value>
+			</property>
+			<property name="runtime-type-setter-required">
+				<value>true</value>
+			</property>			
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="inputSecret">
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueType</value>
+			</property>
+			<property name="runtime-type-setter-required">
+				<value>true</value>
+			</property>
+		</cm-attribute>	
+	</cm-element>
+	<cm-element name="inputText">
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueType</value>
+			</property>
+			<property name="runtime-type-setter-required">
+				<value>true</value>
+			</property>
+		</cm-attribute>	
+	</cm-element>
+	<cm-element name="inputTextarea">
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueType</value>
+			</property>
+			<property name="runtime-type-setter-required">
+				<value>true</value>
+			</property>
+		</cm-attribute>	
+	</cm-element>
+	<cm-element name="message"></cm-element>
+	<cm-element name="messages">
+		<cm-attribute name="layout">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.StringType</value>
+			</property>
+			<property name="valid-values">
+				<value>list</value>
+				<value>table</value>
+			</property>
+			<property name="displayed-values">				
+				<value>%messages.layout.displayed-values.list</value>		
+				<value>%messages.layout.displayed-values.table</value>
+			</property>
+			<property name="default-value">
+				<value>list</value>
+			</property>				
+		</cm-attribute>	
+	</cm-element>
+	<cm-element name="outputFormat"></cm-element>
+	<cm-element name="outputLabel"></cm-element>
+	<cm-element name="outputLink"></cm-element>
+	<cm-element name="outputText"></cm-element>
+	<cm-element name="panelGrid"></cm-element>
+	<cm-element name="panelGroup"></cm-element>
+	<cm-element name="selectBooleanCheckbox">
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueType</value>
+			</property>
+			<property name="runtime-type-setter-required">
+				<value>true</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="selectManyCheckbox">
+		<cm-attribute name="layout">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.StringType</value>
+			</property>
+			<property name="valid-values">
+				<value>pageDirection</value>
+				<value>lineDirection</value>
+			</property>
+			<property name="displayed-values">				
+				<value>%selectManyCheckbox.layout.displayed-values.pageDirection</value>		
+				<value>%selectManyCheckbox.layout.displayed-values.lineDirection</value>
+			</property>
+			<property name="default-value">
+				<value>lineDirection</value>
+			</property>				
+		</cm-attribute>		
+	</cm-element>
+	<cm-element name="selectManyListbox">
+	</cm-element>
+	<cm-element name="selectManyMenu">
+	</cm-element>
+	<cm-element name="selectOneListbox">
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueType</value>
+			</property>
+			<property name="runtime-type-setter-required">
+				<value>true</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="selectOneMenu">
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueType</value>
+			</property>
+			<property name="runtime-type-setter-required">
+				<value>true</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="selectOneRadio">
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueType</value>
+			</property>
+			<property name="runtime-type-setter-required">
+				<value>true</value>
+			</property>
+		</cm-attribute>	
+		<cm-attribute name="layout">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.StringType</value>
+			</property>
+			<property name="valid-values">
+				<value>pageDirection</value>
+				<value>lineDirection</value>
+			</property>
+			<property name="displayed-values">				
+				<value>%selectOneRadio.layout.displayed-values.pageDirection</value>		
+				<value>%selectOneRadio.layout.displayed-values.lineDirection</value>
+			</property>
+			<property name="default-value">
+				<value>lineDirection</value>
+			</property>				
+		</cm-attribute>			
+	</cm-element>
+	<cm-element name="column"></cm-element>
+	<cm-element name="*">
+		<cm-attribute name="action">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ActionType</value>
+			</property>
+			<property name="runtime-return-type">
+				<value>java.lang.String</value>
+			</property>				
+		</cm-attribute>
+		<cm-attribute name="actionListener">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.MethodBindingType</value>
+			</property>
+			<property name="runtime-return-type">
+				<value>void</value>
+			</property>			
+			<property name="runtime-param-types">
+				<value>javax.faces.event.ActionEvent</value>
+			</property>			
+		</cm-attribute>
+		<cm-attribute name="binding">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ComponentBindingType</value>
+			</property>
+			<property name="runtime-return-type">
+				<value>javax.faces.component.UIComponent</value>
+			</property>					
+		</cm-attribute>		
+		<cm-attribute name="border">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="cellpadding">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="cellspacing">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="cols">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="converter">			
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.FacesConfigIdentifierType</value>
+			</property>			
+			<property name="config-type">
+				<value>javax.faces.converter.Converter</value>
+			</property>				
+		</cm-attribute>
+		<cm-attribute name="dir">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.StringType</value>
+			</property>
+			<property name="valid-values">
+				<value>ltr</value>
+				<value>rtl</value>
+			</property>
+			<property name="displayed-values">
+				<value>%any.dir.displayed-values.ltr</value>
+				<value>%any.dir.displayed-values.rtl</value>
+			</property>			
+		</cm-attribute>
+		<cm-attribute name="disabled">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="escape">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+			<property name="default-value">
+				<value>true</value>
+			</property>			
+		</cm-attribute>
+		<cm-attribute name="first">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum">
+				<value>0</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="frame">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.StringType</value>
+			</property>
+			<property name="valid-values">
+				<value>none</value>
+				<value>above</value>
+				<value>below</value>
+				<value>hsides</value>
+				<value>vsides</value>
+				<value>lhs</value>
+				<value>rhs</value>			
+				<value>box</value>
+				<value>border</value>	
+			</property>
+			<property name="displayed-values">
+				<value>%any.frame.displayed-values.none</value>
+				<value>%any.frame.displayed-values.above</value>
+				<value>%any.frame.displayed-values.below</value>
+				<value>%any.frame.displayed-values.hsides</value>
+				<value>%any.frame.displayed-values.vsides</value>
+				<value>%any.frame.displayed-values.lhs</value>
+				<value>%any.frame.displayed-values.rhs</value>			
+				<value>%any.frame.displayed-values.box</value>
+				<value>%any.frame.displayed-values.border</value>			
+			</property>
+			<property name="default-value">
+				<value>none</value>
+			</property>			
+		</cm-attribute>
+		<cm-attribute name="globalOnly">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+			<property name="default-value">
+				<value>false</value>
+			</property>			
+		</cm-attribute>
+		<cm-attribute name="height">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="id">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ComponentIDType</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="immediate">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="ismap">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="maxlength">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="readonly">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="redisplay">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="rendered">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="rows">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="rules">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.StringType</value>
+			</property>
+			<property name="valid-values">
+				<value>none</value>
+				<value>groups</value>
+				<value>rows</value>
+				<value>cols</value>
+				<value>all</value>
+			</property>
+			<property name="displayed-values">
+				<value>%any.rules.displayed-values.none</value>
+				<value>%any.rules.displayed-values.groups</value>
+				<value>%any.rules.displayed-values.rows</value>
+				<value>%any.rules.displayed-values.cols</value>
+				<value>%any.rules.displayed-values.all</value>		
+			</property>
+			<property name="default-value">
+				<value>none</value>
+			</property>			
+		</cm-attribute>
+		<cm-attribute name="shape">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.StringType</value>
+			</property>
+			<property name="valid-values">
+				<value>default</value>
+				<value>rect</value>
+				<value>circle</value>
+				<value>poly</value>				
+			</property>
+			<property name="displayed-values">
+				<value>%any.shape.displayed-values.default</value>
+				<value>%any.shape.displayed-values.rect</value>
+				<value>%any.shape.displayed-values.circle</value>
+				<value>%any.shape.displayed-values.poly</value>				
+			</property>
+			<property name="default-value">
+				<value>default</value>
+			</property>		
+		</cm-attribute>
+		<cm-attribute name="showDetail">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+			<property name="default-value">
+				<value>true</value>
+			</property>				
+		</cm-attribute>
+		<cm-attribute name="showSummary">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.BooleanType</value>
+			</property>
+			<property name="default-value">
+				<value>false</value>
+			</property>
+		</cm-attribute>
+		<cm-attribute name="size">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+		</cm-attribute>
+		<cm-attribute name="tabindex">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>
+			<property name="valid-maximum"><value>32767</value></property>
+		</cm-attribute>
+		<cm-attribute name="validator">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.MethodBindingType</value>
+			</property>	
+			<property name="runtime-return-type">
+				<value>void</value>
+			</property>			
+			<property name="runtime-param-types">
+				<value>javax.faces.context.FacesContext</value>
+				<value>javax.faces.component.UIComponent</value>
+				<value>java.lang.Object</value>								
+			</property>	
+		</cm-attribute>
+		<cm-attribute name="value">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.ValueBindingType</value>
+			</property>
+			<property name="runtime-return-type">
+				<value>java.lang.String</value>
+			</property>				
+		</cm-attribute>
+		<cm-attribute name="valueChangeListener">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.MethodBindingType</value>
+			</property>
+			<property name="runtime-return-type">
+				<value>void</value>
+			</property>			
+			<property name="runtime-param-types">
+				<value>javax.faces.event.ValueChangeEvent</value>
+			</property>			
+		</cm-attribute>
+		<cm-attribute name="width">
+			<property name="attribute-value-runtime-type">
+				<value>org.eclipse.jst.jsf.core.attributevalues.IntegerType</value>
+			</property>
+			<property name="valid-minimum"><value>0</value></property>	
+		</cm-attribute>
+	</cm-element>
+</p:grammar-annotations>
\ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/symbolInfoMetadata.xml b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/symbolInfoMetadata.xml
new file mode 100644
index 0000000..bc73b4b
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/symbolInfoMetadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar-annotation 
+	xmlns="http://org.eclipse.jsf.core/grammarAnnotationSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://org.eclipse.jsf.core/grammarAnnotationSchema D:\\EclipseWTPLatest\\WTPWorkspace\\org.eclipse.jst.jsf.core\\schema\\grammar-annotations.xsd ">
+	<cm-element name="loadBundle">
+		<cm-attribute name="var">
+			<property name="contributes-value-binding">
+				<value>true</value>
+			</property>
+			<property name="value-binding-scope">
+				<value>request</value>
+			</property>
+			<property name="value-binding-symbol-factory">
+				<value>org.eclipse.jst.jsf.designtime.core.loadBundle</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+	<cm-element name="view">
+		<cm-attribute name="locale">
+			<property name="sets-locale">
+				<value>true</value>
+			</property>
+		</cm-attribute>
+	</cm-element>
+</grammar-annotation>
\ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/plugin.xml b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/plugin.xml
new file mode 100644
index 0000000..91ed6dc
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/plugin.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+   <extension
+		point="org.eclipse.jst.jsf.common.annotationFiles">
+      <annotationFile
+            location="metadata/symbolInfoMetadata.xml"
+            uri="http://java.sun.com/jsf/core"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.jst.jsf.common.annotationFiles">
+      <annotationFile
+            location="metadata/jsf_core.xml"
+            uri="http://java.sun.com/jsf/core"/>
+      <annotationFile
+            location="metadata/jsf_html.xml"
+            uri="http://java.sun.com/jsf/html"/>
+   </extension>
+   
+</plugin>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/src/org/eclipse/jst/jsf/standard/tagsupport/StandardTagSupportPlugin.java b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/src/org/eclipse/jst/jsf/standard/tagsupport/StandardTagSupportPlugin.java
new file mode 100644
index 0000000..8f88833
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/src/org/eclipse/jst/jsf/standard/tagsupport/StandardTagSupportPlugin.java
@@ -0,0 +1,53 @@
+package org.eclipse.jst.jsf.standard.tagsupport;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class StandardTagSupportPlugin extends AbstractUIPlugin {
+
+	/**
+	 * the plugin id
+	 */
+	public static final String PLUGIN_ID = "org.eclipse.jst.jsf.standard.tagsupport";
+
+	// The shared instance
+	private static StandardTagSupportPlugin plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public StandardTagSupportPlugin() {
+        // do nothing
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static StandardTagSupportPlugin getDefault() {
+		return plugin;
+	}
+
+}