<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../wtp.xsl"?>
<html>
	<head>
		<title>web standard tools components</title>
	</head>
	<body>
		<h1>wst components</h1>

		<h2>Introduction</h2>
		<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>

		<h3>
			<a
				href="http://dev.eclipse.org/viewcvs/index.cgi/wst/components/?cvsroot=WebTools_Project">
				CVS Repository
			</a>
		</h3>
		<p>
			All WST components are stored in the Eclipse CVS repository
			at dev.eclipse.org in the path
			/home/webtools/wst/components.
		</p>
		<p>
			The following sections briefly describe the components and
			their component leads.
		</p>

		<h2>Components</h2>

		<h3>
			<a name="wstassembly">assembly</a>
		</h3>
		<p>
			The assembly component contains features definitions for
			building the WST release, its SDK, and its test suite. The
			component leads are Deniz Se&#231;ilir and Dominique de
			Vito.
		</p>

		<h3>
			<a name="command">command</a>
		</h3>
		<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/M8/milestone_plan.html">Current Milestone Plan</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/command/M8/test_plan.html">Current Test Plan</a>
				</li>
			</ul>
		</p>

		<h3>
			<a name="wstcommon">common</a>
		</h3>
		<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>
					<!-- TODO: this should be separated into the WST pages  -->
					<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>
			</ul>
		</p>

		<h3>
			<a name="css">css</a>
		</h3>
		<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/1.0/wst/css/M8/milestone_test_plan.html">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p>

		<h3>
			<a name="doc">doc</a>
		</h3>
		<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="components/doc/overview.html">
						Component Overview
					</a>
				</li>
				-->
				<li>
					<a href="../plans/1.0/wst/doc/M8/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
				<!-- 
				<li>
					<a
						href="../plans/1.0/wst/doc/M8/milestone_test_plan.html">
						Current Test Plan
					</a>
				</li>
				-->
			</ul>
		</p>

		<h3>
			<a name="dtd">dtd</a>
		</h3>
		<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/1.0/wst/dtd/M8/milestone_test_plan.html">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p>

		<h3>
			<a name="html">html</a>
		</h3>
		<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/1.0/wst/html/M8/milestone_test_plan.html">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p>

		<h3>
			<a name="internet">internet</a>
		</h3>
		<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>

		<h3>
			<a name="javascript">javascript</a>
		</h3>
		<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/1.0/wst/javascript/M8/milestone_test_plan.html">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p>

		<h3>
			<a name="rdbsql">rdb</a>
		</h3>
		<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>

		<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>

		<h3>
			<a name="wstserver">server</a>
		</h3>
		<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>

		<h3>
			<a name="sse">sse</a>
		</h3>
		<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/1.0/wst/sse/M8/milestone_test_plan.html">
						Current Test Plan
					</a>
				</li>
			</ul>
		</p>

		<h3>
			<a name="validation">validation</a>
		</h3>
		<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>

		<h3>
			<a name="web">web</a>
		</h3>
		<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>

		<h3>
			<a name="ws">ws</a>
		</h3>
		<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/M8/milestone_plan.html">Current Milestone Plan</a>
				</li>
				<li>
					<a href="../plans/1.0/wst/ws/M8/test_plan.html">Current Test Plan</a>
				</li>
			</ul>
		</p>

		<h3>
			<a name="wsdl">wsdl</a>
		</h3>
		<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>
			</ul>
			Tutorials
			<ul>
				<li>
					<a
						href="components/wsdl/tutorials/WSDLEditorTutorial.html">
						WSDL Editor Tutorial
					</a>
				</li>
			</ul>
		</p>

		<h3>
			<a name="wsi">wsi</a>
		</h3>
		<p>
			The wsi component contains WS-I Test Tools which will be
			repatriated from the WSVT project. The component lead is
			Craig Salter.
		</p>
			<ul>
				<li>
					<a href="../plans/1.0/wst/wsi/M8/milestone_plan.html">
						Current Milestone Plan
					</a>
				</li>
			</ul>

		<h3>
			<a name="xml">xml</a>
		</h3>
		<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/1.0/wst/xml/M8/milestone_test_plan.html">
						Current Test Plan
					</a>
				</li>
				<!-- TODO: Incorporate these other plans into the appropriate component test plans
				<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>
		<!--  TODO: Move the end-user doc area
			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>

		<h3>
			<a name="xmlschema">xsd</a>
		</h3>
		<p>
			The xsd component contains the XSD editor, views, wizards,
			etc. The component lead is Craig Salter.
			<ul>
				<li>
<!--					<a href="components/xsd/overview.html">-->
						Component Overview
<!--					</a>-->
				</li>
				<li>
					<a
						href="components/xsd/xsd-editor_M2TestPlan.html">
						XML Schema Editor M2 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>

	</body>
</html>
