<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../default_style.css" type="text/css">
<link rel="stylesheet" href="../../webtools/wtp.css" type="text/css">
<title>web standard tools components</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">wst components</font>
<br>
<font class="indexsub">web standard tools components</font></td><td width="40%"><img width="120" hspace="50" height="86" align="middle" src="../../images/Idea.jpg"></td>
</tr>
</tbody>
</table>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Introduction</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&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 valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a href="http://dev.eclipse.org/viewcvs/index.cgi/wst/components/?cvsroot=WebTools_Project">
				CVS Repository
			</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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 valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			The following sections briefly describe the components and
			their component leads.
		</p>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Components</font></b></td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="wstassembly">assembly</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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&ccedil;ilir and Dominique de
			Vito.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="command">command</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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="components/command/M3/milestone_plan.html">
						M3 Milestone Plan
					</a>
				
</li>
				
<li>
					
<a href="components/command/M4/milestone_plan.html">
						M4 Milestone Plan (under construction)
					</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="wstcommon">common</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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/M3/encoding_milestone_plan.html">
						Encoding: Current Milestone Plan
					</a>
				
</li>
				
<li>
					
<a href="components/common/M3/snippetsview_milestone_plan.html">
						Snippets View: Current Milestone Plan
					</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="css">css</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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>
					See
					<a href="components/sse/m2/m2.html">
						M2 New and Noteworty: Reintroducing the
						Structured Source Editing family of editors

					</a>
				
</li>
				
<li>
					
<a href="components/css/M3/milestone_test_plan.html">
						Current Test Plan
					</a>
				
</li>
				
<li>
					
<a href="components/css/M3/milestone_plan.html">
						Current Milestone Plan
					</a>
				
</li>

			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="dtd">dtd</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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>
					See
					<a href="components/sse/m2/m2.html">
						M2 New and Noteworty: Reintroducing the
						Structured Source Editing family of editors

					</a>
				
</li>
				
<li>
					
<a href="components/dtd/M3/milestone_test_plan.html">
						Current Test Plan
					</a>
				
</li>
				
<li>
					
<a href="components/dtd/M3/milestone_plan.html">
						Current Milestone Plan
					</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="html">html</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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>
					See
					<a href="components/sse/m2/m2.html">
						M2 New and Noteworty: Reintroducing the
						Structured Source Editing family of editors

					</a>
				
</li>
				
<li>
					
<a href="components/html/M3/milestone_test_plan.html">
						Current Test Plan
					</a>
				
</li>
				
<li>
					
<a href="components/html/M3/milestone_plan.html">
						Current Milestone Plan
					</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="internet">internet</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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="components/internet/M4/milestone_plan.html">Milestone Plan</a>
				
</li>
				
<li>
					
<a href="components/internet/test_plan.html">Test Plan</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="javascript">javascript</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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>
					See
					<a href="components/sse/m2/m2.html">
						M2 New and Noteworty: Reintroducing the
						Structured Source Editing family of editors

					</a>
				
</li>
				
<li>
					
<a href="components/javascript/M3/milestone_test_plan.html">
						Current Test Plan
					</a>
				
</li>
				
<li>
					
<a href="components/javascript/M3/milestone_plan.html">
						Current Milestone Plan
					</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="rdbsql">rdb</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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 valign="top" align="right">&nbsp;</td><td valign="top">
<ul>
			
<li>
				
<a href="components/rdb/milestone_plan.html">
					Milestone Plan
				</a>
			
</li>
			
<li>
				
<a href="components/rdb/test_plan.html">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 valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="wstserver">server</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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="components/server/M4/milestone_plan.html">Milestone Plan</a>
				
</li>
				
<li>
					
<a href="components/server/test_plan.html">Test Plan</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="sse">sse</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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/m2/m2.html">
						M2 New and Noteworty: Reintroducing the
						Structured Source Editing family of editors

					</a>
				
</li>
				
<li>
					
<a href="components/sse/M3/milestone_test_plan.html">
						Current Test Plan
					</a>
				
</li>
				
<li>
					
<a href="components/sse/M3/milestone_plan.html">
						Current Milestone Plan
					</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="validation">validation</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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/scenarios/validation_framework_testplan.html">
					   M3 Validation 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 valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="web">web</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="ws">ws</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			The ws component contains the Web Service explorer, SOAP,
			UDDI, and WSIL models, and views. The component lead is
			Chris Brealey.
			<ul>
				
<li>
					
<a href="components/ws/index.html">
						Overview
					</a>
				
</li>
				
<li>
					
<a href="components/ws/M3/milestone_plan.html">
						M3 Milestone Plan
					</a>
				
</li>
				
<li>
					
<a href="components/ws/M4/milestone_plan.html">
						M4 Milestone Plan (under construction)
					</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="wsdl">wsdl</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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="components/wsdl/M3/milestone_plan.html">
						Current Milestone 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 valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="wsi">wsi</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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 valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="xml">xml</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&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/M3/milestone_plan.html">
						Current Milestone Plan
					</a>
				
</li>
				
<li>
					See
					<a href="components/sse/m2/m2.html">
						M2 New and Noteworty: Reintroducing the
						Structured Source Editing family of editors

					</a>
				
</li>
				
<li>
					
<a href="components/xml/M3/milestone_test_plan.html">
						Current Test Plan
					</a>
				
</li>
				
<li>
					
<a href="components/xml/xml-catalog_M2TestPlan.html">
						XML Catalog M2 Test Plan
					</a>
				
</li>
				
<li>
				    
<a href="components/xml/xml-dtd-xsd-validation_M2TestPlan.html">
						XML, DTD, and XSD Validation M2 Test Plan
					</a>
				
</li>
				
<li>
					
<a href="components/xml/xml-examples_M2TestPlan.html">
						XML Examples M2 Test Plan
					</a>
				
</li>
			
</ul>
			Tutorials
			<ul>
				
<li>
					
<a href="../testtutorials/M2/xml/XMLCatalogTutorial.html">
						XML Catalog Tutorial
					</a>
				
</li>
				
<li>
					
<a href="../testtutorials/M2/xml/XMLValidationTutorial.html">
						XML Validation Tutorial
					</a>
				
</li>
				
<li>
					
<a href="../testtutorials/M2/xml/XMLWizards.html">
						Creating XML Documents Tutorial
					</a>
				
</li>
			
</ul>
		
</p>
</td>
</tr>
<tr>
<td valign="top" align="right"><img width="16" height="16" border="0" src="../../images/Adarrow.gif"></td><td>
			<a name="xmlschema">xsd</a>
		</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			The xsd component contains the XSD editor, views, wizards,
			etc. The component lead is Craig Salter.
			<ul>
				
<li>
					
<a href="components/xsd/xsd-editor_M2TestPlan.html">
						XML Schema Editor M2 Test Plan
					</a>
				
</li>
				
<li>
					
<a href="components/xsd/M3/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>
