<?php 
	header('Location: http://wiki.eclipse.org/xtext');
	exit();

 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'

	#*****************************************************************************
	#
	# template.php
	#
	# Author: 		Denis Roy
	# Date:			2005-06-16
	#
	# Description: Type your page comments here - these are not sent to the browser
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Xtext";
	$pageKeywords	= "DSLs, oAW, Xtext, Eclipse, MDD, MDSD";
	$pageAuthor		= "Sven Efftinge";
	
	# Add page-specific Nav bars here
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	#$Nav->addCustomNav("Projectplan", "projectplan.php");
	#$Nav->addNavSeparator("Xtext (oAW 4.3)", 	"http://www.openarchitectureware.org");
	#$Nav->addCustomNav("Download", "http://www.eclipse.org/gmt/oaw/download/");
	#$Nav->addCustomNav("Documentation", "http://www.eclipse.org/gmt/oaw/doc/4.2/html/contents/xtext_reference.html");

	# End: page-specific settings
	#
		
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML
	<table><tr><td></td></tr><tr><td>
	        <h1 class="firstHeading">Xtext</h1>

<p><img alt="Xtext Logo" src="images/logo.png" width="350" border="0" align="right" vspace="10" hspace="20"/>Xtext is a framework/tool for development of external textual DSLs. Just describe your very own DSL using Xtext's simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse Text Editor from that.
</p><p>The Framework integrates with technology from Eclipse Modeling such as EMF, GMF, M2T and parts of EMFT. Development with Xtext is optimized for short turn-arounds, so that adding new features to an existing DSL can be done in seconds.
</p><p>Language development has never been so easy.

</p>
<table border="0" cellspacing="15" style="width:100%;">


<tr valign="top">
<td style="width:50%;">
<a name="Xtext_from_oAW_4.3"></a><h1><span class="editsection"></span> <span class="mw-headline">Xtext from oAW 4.3</span></h1>
<ul><li><b><a href="http://www.eclipse.org/gmt/oaw/download/" class="external text" title="http://www.eclipse.org/gmt/oaw/download/" rel="nofollow">(Xtext 4.3) oAW Download instructions</a></b> - check out the available versions of oAW
</li><li><b><a href="http://wiki.eclipse.org/index.php?title=Xtext_Tutorials&amp;action=edit" class="new" title="Tutorial">Tutorial</a></b> - learn how to develop languages

</li><li><b><a href="http://wiki.eclipse.org/OAW" title="OAW">oAW</a></b> - learn how to develop generatos
</li><li><b><a href="http://wiki.eclipse.org/index.php?title=Xtext_FAQ&amp;action=edit" class="new" title="Xtext FAQ">Xtext FAQ</a></b> - the official Xtext FAQ
</li></ul>
</td><td>
<a name="Get_Involved"></a><h1><span class="editsection"></span> <span class="mw-headline">Get Involved</span></h1>
<ul><li><b><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Modeling&amp;product=TMF&amp;component=Xtext&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=exact&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=" class="external text" title="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Modeling&amp;product=TMF&amp;component=Xtext&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=exact&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=" rel="nofollow">Xtext Bugzilla</a></b> - review and create Bugzilla entries

</li><li><b><a href="http://wiki.eclipse.org/index.php?title=Xtext_Repository_Details&amp;action=edit" class="new" title="Xtext Repository Details">Source Code Access</a></b> - get the code from CVS.
</li><li><b><a href="http://wiki.eclipse.org/index.php?title=Xtext_Workspace_Setup&amp;action=edit" class="new" title="Xtext Workspace Setup">Workspace Setup</a></b> - how to set up your workspace.
</li><li><b><a href="http://wiki.eclipse.org/index.php?title=Xtext_Documentation_Engineering&amp;action=edit" class="new" title="Xtext Documentation Engineering">Documentation Engineering</a></b> - how to write documentation.
</li><li><b><a href="http://wiki.eclipse.org/index.php?title=Xtext_Release_Engineering&amp;action=edit" class="new" title="Xtext Release Engineering">Release Engineering</a></b> - how to set up the build and produce a release.
</li><li><b><a href="http://wiki.eclipse.org/index.php?title=Xtext_Project_Plan&amp;action=edit" class="new" title="Xtext Project Plan">Project Plan</a></b> - what's coming up?.
</li></ul>
</td></tr></table>
</td></tr></table>


EOHTML;


	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
