###############################################################################
# Copyright (c) 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
Templates.comment.name=comment
Templates.comment.desc=comment
Templates.ul.name=ul
Templates.ul.desc=ul     (template)
Templates.ul.content=<ul>\n  <li> Item one </li>\n  <li> Item two </li>\n</ul>\n
Templates.dl.name=dl
Templates.dl.desc=dl     (template)
Templates.dl.content=<dl>\n  <dt> First definition  <dd>  First explanation\n  <dt> Second definition <dd> Second explanation\n</dl>\n
Templates.table.name=table
Templates.table.desc=table     (template)
Templates.table.content=<table border>\n  <tr>\n    <th>Column 1 Heading</th>\n    <th>Column 2 Heading</th>\n  </tr>\n  <tr>\n    <td>Row 1: Col 1</td>\n    <td>Row 1: Col 2</td>\n  </tr>\n</table>\n
Templates.ol.name=ol
Templates.ol.desc=ol     (template)
Templates.ol.content=<ol>\n  <li> Item one </li>\n  <li> Item two </li>\n</ol>\n
Templates.html.name=html
Templates.html.desc=html    (template)
Templates.html.content=<html>\n<head>\n<title>Insert title here</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
Templates.script.name=script
Templates.script.desc=script     (commented)
Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
Templates.style.name=style
Templates.style.desc=style     (commented)
Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
Templates.imgmap.name=img
Templates.imgmap.desc=img     (map)