<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link type="text/css" href="../../default_style.css" rel="stylesheet"><link type="text/css" href="../../webtools/wtp.css" rel="stylesheet"><title>web standard tools components</title></head><body><table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody><tr><td align="left" width="60%"><font class="indextop">wst components</font><br><font class="indexsub">web standard tools components</font></td><td width="40%"><img src="../../webtools/images/wtplogosmall.jpg" align="middle" height="129" hspace="50" width="207" alt="WTP Logo" usemap="logomap"><map id="logomap" name="logomap"><area coords="0,0,207,129" href="/webtools/" alt="WTP Home"></map></td></tr></tbody></table><table border="0" cellpadding="2" cellspacing="5" width="100%"><col width="16"><col width="*"><tbody><tr><td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Introduction</font></b></td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			This document describes the component structure for the Web
			Standard Tools subproject. As the name of this subproject
			implies, our scope includes Web standards, such as HTML,
			XML, and related standards which are defined by
			organizations such as W3C, OASIS, and ANSI. This is in
			contrast to the J2EE Standard Tools subproject whose scope
			is the J2EE specification as defined by the JCP. One of the
			main organizing principles of this subproject is to group
			all work related to a given standard within a single
			component. For example, there are components for HTML, XML,
			and SQL. The other main organizing principle is to create a
			component for each major framework. For example, there are
			components for Server tools and Structure Source Editing.
			Finally, there are components for related sets of code that
			do not fall into either of the two main categorizations. For
			example, there is a common component for utilities and other
			shared infrastructure code.
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a href="http://dev.eclipse.org/viewcvs/index.cgi/wst/components/?cvsroot=WebTools_Project">
				CVS Repository
			</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			All WST components are stored in the Eclipse CVS repository
			at dev.eclipse.org in the path
			/home/webtools/wst/components.
		</p></td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The following sections briefly describe the components and
			their component leads.
		</p></td></tr><tr><td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Components</font></b></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="wstassembly">assembly</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The assembly component contains features definitions for
			building the WST release, its SDK, and its test suite. The
			component leads are Deniz Seçilir and Dominique de
			Vito.
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="command">command</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The command component contains command infrastructure
			including the Environment Command framework and the Dynamic
			Wizard framework. This infrastructure is required by the
			webtooling project, but is not specific to webtooling per
			se. We need to harmonize the several existing command
			approaches. The component lead is Chris Brealey.
			<ul>
				<li>
					<a href="components/command/index.html">Overview</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/command/M9/milestone_plan.html">Current Milestone Plan</a>
				</li>
				<li>
					<a href="components/command/M5/test_plan.html">Current Test Plan</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="wstcommon">common</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The common component contains common utilities and
			infrastructure which are required by the webtooling project,
			but which are not specific to webtooling per se. The most
			notable examples are the Extensible Navigator, Tabbed
			Properties View, Snippets View, and Extensible URI Resolver.
			The component lead is Craig Salter.
			<ul>
				<li>
					
					<a href="../jst/components/j2ee/j2ee_index.html">
						J2EE Main page (Navigator info found here)
					</a>
				</li>
				<li>
                   <a href="components/common/overview/snippets/overview.html">
                       Snippets View: Overview
                   </a>
				</li>
				<li>
					<a href="../plans/1.0/wst/common/M9/milestone_plan.html">
						Snippets View: Current Milestone Plan
					</a>
				</li>
				<li>
				    <a href="../plans/1.5/jst/j2ee/RC5/test_plan.html">
				        Current Test Plan
				    </a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="css">css</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The css component contains the CSS editor, model, views,
			wizards, etc. The component lead is David Williams.
			<ul>
				<li>
					<a href="components/css/overview.html">
						Component Overview
					</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/css/M9/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="../plans/2.0/wst/css/test_plan.php">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="doc">doc</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The doc component contains the end user and ISV
			documentation for the WST subproject. This includes
			infopops and both Eclipse integrated and online help.
			The component lead is Lawrence Mandel.
			<ul>
				
				<li>
					<a href="../plans/1.0/wst/doc/M8/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="https://wiki.eclipse.org/index.php/Doc_Test_Plan">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="dtd">dtd</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The dtd component contains the DTD editor, model, views,
			wizards, etc. The component lead is Nitin Dahyabhai.
			<ul>
				<li>
					<a href="components/dtd/overview.html">
						Component Overview
					</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/dtd/M9/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="../plans/2.0/wst/dtd/test_plan.php">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="html">html</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The html component contains the HTML/XHTML editor, model,
			views, wizards, etc. The component lead is David Williams.
			<ul>
				<li>
					<a href="components/html/overview.html">
						Component Overview
					</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/html/M9/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="../plans/2.0/wst/html/test_plan.php">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="internet">internet</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The internet component contains Internet preferences (e.g.
			proxy server configuration), Web browser support, and the
			TCP/IP monitor. The component lead is Tim deBoer.
			<ul>
				<li>
					<a href="components/internet/index.html">
						Overview
					</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/internet/M8/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="components/internet/test_plan.html">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="javascript">javascript</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The javascript component contains the JavaScript editor,
			model, views, wizards, etc. The component lead is David
			Williams.
			<ul>
				<li>
					<a href="components/javascript/overview.html">
						Component Overview
					</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/javascript/M9/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="../plans/2.0/wst/javascript/test_plan.php">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="rdbsql">rdb</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The rdb component contains the relational database model
			<a href="components/rdb/WebPublishedDBDefinitionModel/DBDefinition.htm">
				DB Definition Model
			</a>
			,
			<a href="components/rdb/DBDefinitionModelJavaDoc/index.html">
				DB Definition Model Java Docs
			</a>
			, which is derived from
			<a href="components/rdb/WebPublishedSQLModel/SQLModel.htm">
				RDBModel - Based on SQL 99/2003
			</a>
			,
			<a href="components/rdb/SQLModelJavaDoc/index.html">
				RDBModel Java Docs
			</a>
			, vendor-specific database definitions and relational
			utilities. It also provides a database server explorer with
			the ability to connect to databases and sample data. A SQL
			Scrapbook editor allows you to enter and execute SQL,
			displaying the results in an Output view. The co-leads are
			Der Ping Chou and Sheila Sholars.
		</p></td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><ul>
			<li>
				<a href="../plans/1.0/wst/rdb/M8/milestone_plan.html">
					Current Milestone Plan
				</a>
			</li>
			<li>
				<a href="components/rdb/test_plan.html">Current Test Plan</a>
			</li>
			<li>
				<a href="components/rdb/wtp_datatools_testcases.htm">
					Test Cases
				</a>
			</li>
			<li>
				<a href="components/rdb/RDBTutorial.html">
					Tutorial for RDB
				</a>
			</li>
			<li>
				<a href="components/rdb/Data Tools Open Source Overview for Eclipse database Developer.html">
					White Paper for RDB
				</a>
			</li>
		</ul></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="wstserver">server</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The server component contains the Server Tools framework and
			adapters for selected servers. At the WST level, the server
			component is a very generic infrastructure. (The J2EE
			specific server component is in JST). The component lead is
			Tim deBoer.
			<ul>
				<li>
					<a href="components/server/index.html">Overview</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/server/M8/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="components/server/test_plan.html">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="sse">sse</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The sse component contains the Structured Source Editor
			framework. This framework provides some abstract models and
			ui infrastructure slightly above the base text
			infrastructure but lower than any specific language which
			uses it, such as XML, CSS, HTML, and JSP. The component lead
			is David Williams.
			<ul>
				<li>
					<a href="components/sse/overview.html">
						Component Overview
					</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/sse/M9/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="../plans/2.0/wst/sse/test_plan.php">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="validation">validation</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The validation component contains the Validation framework
			which coordinates the registration and execution of
			validators. Validators are a special form of an Eclipse
			builder which (typically) does not produce derived output,
			can have performance advantages, can be used for "batch"
			validation, putting errors or warnings in the task view, and
			sometimes can be (re)used for source page validation,
			putting "temporary" annotation in editors. The
			language/component validators, e.g HTML link checker, XSD
			validator, and WSDL validator, are located in their specific
			components, this Validation component simply provides the
			framework. The component lead is Chuck Bridgham.
			<ul>
				<li>
					<a href="components/validation/ValidationOverview.html">
						Validation Framework Overview
					</a>
				</li>
				<li>
					<a href="components/validation/ValidationFrameworkRework.html">
						Validation Framework Enhancements in WTP 1.5
						
					</a>
						<img src="components/validation/images/new.gif">
				</li>
				<li>
					<a href="components/validation/scenarios/validation_framework_testplan.html">
						Current Test Plan
					</a>
				</li>
				<li>
					<a href="../jst/components/j2ee/M4/milestone_plan.html">
						Current Milestone M4 Plan - Available on J2EE
						Main page
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="web">web</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The web component contains models, natures and builders for
			Web projects. The component lead is Chuck Bridgham.
			<ul>
				<li>
					<a href="../jst/components/j2ee/j2ee_index.html">
						J2EE Main page(Simple Web project info found
						here)
					</a>
				</li>
				<li>
				    <a href="../plans/1.5/jst/j2ee/RC5/test_plan.html">
				        Current Test Plan
				    </a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="ws">ws</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The ws component contains the Web Services Explorer, Apache
			SOAP, Apache Axis, UDDI4J and WSIL4J models and a number of
			general purpose frameworks for use by callers and extenders
			of the Web services platform. The component lead is Chris
			Brealey.
			<ul>
				<li>
					<a href="components/ws/index.html">Overview</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/ws/M9/milestone_plan.html">Current Milestone Plan</a>
				</li>
				<li>
					<a href="components/ws/M5/test_plan.html">Current Test Plan</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="wsdl">wsdl</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The wsdl component contains the WSDL editor, model, views,
			wizards, etc. The component lead is Craig Salter.
			<ul>
				<li>
					<a href="../plans/1.0/wst/wsdl/M8/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="https://wiki.eclipse.org/index.php/WSDL_Test_Plan">
						Current Test Plan
					</a>
				</li>
			</ul>
			Tutorials
			<ul>
				<li>
					<a href="components/wsdl/tutorials/WSDLEditorTutorial.html">
						WSDL Editor Tutorial
					</a>
				</li>
			</ul>
		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="wsi">wsi</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The wsi component contains WS-I Test Tools which will be
			repatriated from the WSVT project. The component lead is
			Craig Salter.
		</p></td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><ul>
				<li>
					<a href="../plans/1.0/wst/wsi/M8/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="https://wiki.eclipse.org/index.php/WSI_Test_Plan">
						Current Test Plan
					</a>
				</li>
			</ul></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="xml">xml</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The xml component contains the XML editor, model, views,
			wizards, etc. It contains an incremental, fault tolerant DOM
			parser, which is also the basis of several other similar
			models in HTML and JSP. The component lead is David
			Williams.
			<ul>
				<li>
					<a href="components/xml/overview.html">
						Component Overview
					</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/xml/M9/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<li>
					<a href="../plans/2.0/wst/xml/test_plan.php">
						Current Test Plan
					</a>
				</li>
				
			</ul>
		
 		</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
			<a name="xmlschema">xsd</a>
		</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
			The xsd component contains the XSD editor, views, wizards,
			etc. The component lead is Craig Salter.
			<ul>
				<li>

						Component Overview

				</li>
				<li>
					<a href="https://wiki.eclipse.org/index.php/XSD_Test_Plan">
						Current Test Plan
					</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/xsd/M8/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
			</ul>
			Tutorials
			<ul>
				<li>
					<a href="../testtutorials/M2/xml/XMLSchemaEditorTutorial.html">
						XML Schema Editor Tutorial
					</a>
				</li>
			</ul>

		</p></td></tr></tbody></table></body></html>