[183756] JSP Validation Cannot Find Tag Library Descriptor in Referenced Projects
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
index 4c0f80f..8c95208 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/taglibindex/TestIndex.java
@@ -30,13 +30,23 @@
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.internal.core.ClasspathEntry;
 import org.eclipse.jst.jsp.core.internal.JSPCorePlugin;
+import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
+import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
 import org.eclipse.jst.jsp.core.internal.preferences.JSPCorePreferenceNames;
 import org.eclipse.jst.jsp.core.taglib.IJarRecord;
 import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
 import org.eclipse.jst.jsp.core.taglib.IURLRecord;
 import org.eclipse.jst.jsp.core.taglib.TaglibIndex;
 import org.eclipse.jst.jsp.core.tests.JSPCoreTestsPlugin;
+import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.validation.internal.operations.ValidatorManager;
+import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
+import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
+import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
+import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMNodeWrapper;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
 
 /**
  * Tests for the TaglibIndex.
@@ -415,4 +425,37 @@
 		records = TaglibIndex.getAvailableTaglibRecords(new Path("/testavailable1/WebContent"));
 		assertEquals("total ITaglibRecord count doesn't match (after exporting jar and restarting)", 1, records.length);
 	}
+	
+	public void testUtilityProjectSupport() throws Exception {
+		// Create project 1
+		IProject project = BundleResourceUtil.createSimpleProject("test-jar", null, null);
+		assertTrue(project.exists());
+		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/bug183756/test-jar", "/test-jar");
+
+		// Create project 2
+		IProject project2 = BundleResourceUtil.createSimpleProject("test-war", null, null);
+		assertTrue(project2.exists());
+		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/bug183756/test-war", "/test-war");
+
+		IFile testFile = project2.getFile(new Path("src/main/webapp/test.jsp"));
+		assertTrue("missing test JSP file!", testFile.isAccessible());
+
+		IDOMModel jspModel = null;
+		try {
+			jspModel = (IDOMModel) StructuredModelManager.getModelManager().getModelForRead(testFile);
+			NodeList tests = jspModel.getDocument().getElementsByTagName("test:test");
+			assertTrue("test:test element not found", tests.getLength() > 0);
+			CMElementDeclaration elementDecl = ModelQueryUtil.getModelQuery(jspModel).getCMElementDeclaration(((Element) tests.item(0)));
+			assertNotNull("No element declaration was found for test:test at runtime", elementDecl);
+			assertTrue("element declaration was not the expected kind", elementDecl instanceof CMNodeWrapper);
+			CMNode originNode = ((CMNodeWrapper) elementDecl).getOriginNode();
+			assertTrue("element declaration was not from a tag library", originNode instanceof TLDElementDeclaration);
+			assertEquals("element declaration was not from expected tag library", "http://foo.com/testtags", ((TLDDocument) ((TLDElementDeclaration) originNode).getOwnerDocument()).getUri());
+		}
+		finally {
+			if (jspModel != null) {
+				jspModel.releaseFromRead();
+			}
+		}
+	}
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.classpath
new file mode 100644
index 0000000..d5aec8f
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.classpath
@@ -0,0 +1,8 @@
+<?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.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Tomcat 5.5.9"/>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.project
new file mode 100644
index 0000000..80341f8
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.project
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>test-jar</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..167796c
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Tue Apr 24 11:16:26 BST 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.wst.common.component b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..0bb9d17
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="test-jar">
+        <wb-resource deploy-path="/" source-path="/src"/>
+<property name="ear_libraries_processed" value="true"/>
+    </wb-module>
+</project-modules>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.wst.common.project.facet.core.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..fd534a9
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <fixed facet="jst.utility"/>
+  <fixed facet="jst.java"/>
+  <installed facet="jst.java" version="6.0"/>
+  <installed facet="jst.utility" version="1.0"/>
+</faceted-project>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/META-INF/taglib.tld b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/META-INF/taglib.tld
new file mode 100644
index 0000000..af3a82b
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/META-INF/taglib.tld
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+
+<taglib>
+	<tlib-version>1.0</tlib-version>
+	<jsp-version>1.2</jsp-version>
+	<short-name>test</short-name>
+	<uri>http://foo.com/testtags</uri>
+	<description>Test Tag Library</description>
+
+
+	<tag>
+		<name>test</name>
+		<tag-class>com.foo.TestTag</tag-class>
+		<body-content>empty</body-content>
+		<description>
+			test
+		</description>
+	</tag>
+	
+</taglib>
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/com/foo/TestTag.class b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/com/foo/TestTag.class
new file mode 100644
index 0000000..a2d7262
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/bin/com/foo/TestTag.class
Binary files differ
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/META-INF/taglib.tld b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/META-INF/taglib.tld
new file mode 100644
index 0000000..af3a82b
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/META-INF/taglib.tld
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+
+<taglib>
+	<tlib-version>1.0</tlib-version>
+	<jsp-version>1.2</jsp-version>
+	<short-name>test</short-name>
+	<uri>http://foo.com/testtags</uri>
+	<description>Test Tag Library</description>
+
+
+	<tag>
+		<name>test</name>
+		<tag-class>com.foo.TestTag</tag-class>
+		<body-content>empty</body-content>
+		<description>
+			test
+		</description>
+	</tag>
+	
+</taglib>
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/com/foo/TestTag.java b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/com/foo/TestTag.java
new file mode 100644
index 0000000..951882c
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-jar/src/com/foo/TestTag.java
@@ -0,0 +1,17 @@
+package com.foo;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+public class TestTag extends TagSupport {
+
+	public int doStartTag() throws JspException {
+		try {
+		pageContext.getOut().write("TAG WORKED");
+		} catch (Exception e) {
+			
+		}
+		return super.doStartTag();
+	}
+
+}
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.classpath b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.classpath
new file mode 100644
index 0000000..edb36ca
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container"/>
+	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+	<classpathentry kind="output" path="build/classes"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.project b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.project
new file mode 100644
index 0000000..eb59416
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.project
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>test-war</name>
+	<comment></comment>
+	<projects>
+		<project>test-jar</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..84f2b19
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Tue Apr 24 11:08:40 BST 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.jst.common.project.facet.core.prefs b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.jst.common.project.facet.core.prefs
new file mode 100644
index 0000000..43db39a
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.jst.common.project.facet.core.prefs
@@ -0,0 +1,4 @@
+#Tue Apr 24 11:08:46 BST 2007
+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jdk1.6.0_01/owners=jst.java\:6.0
+classpath.helper/org.eclipse.jst.server.core.container\:\:org.eclipse.jst.server.tomcat.runtimeTarget\:\:Apache\ Tomcat\ v4.1/owners=jst.web\:2.3
+eclipse.preferences.version=1
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.wst.common.component b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..2c1da55
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="test-war">
+        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
+        <dependent-module deploy-path="/WEB-INF/lib" handle="module:/resource/test-jar/test-jar">
+            <dependency-type>uses</dependency-type>
+        </dependent-module>
+        <property name="context-root" value="test-war"/>
+        <property name="java-output-path" value="build/classes"/>
+<property name="web_app_libraries_processed" value="true"/>
+<property name="ear_libraries_processed" value="true"/>
+    </wb-module>
+</project-modules>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.wst.common.project.facet.core.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..dd3b084
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <runtime name="Apache Tomcat v4.1"/>
+  <fixed facet="jst.java"/>
+  <fixed facet="jst.web"/>
+  <installed facet="jst.java" version="6.0"/>
+  <installed facet="jst.web" version="2.3"/>
+</faceted-project>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/WEB-INF/web.xml b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..47cea3c
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app id="WebApp_ID">
+	<display-name>test-war</display-name>
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+</web-app>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/test.jsp b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/test.jsp
new file mode 100644
index 0000000..38c2e60
--- /dev/null
+++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug183756/test-war/src/main/webapp/test.jsp
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<%@ taglib uri="http://foo.com/testtags" prefix="test" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Test</title>
+</head>
+<body>
+Before Tag
+<test:test/>
+After Tag
+</body>
+</html>
\ No newline at end of file