<!--
   Copyright 2004 The Apache Software Foundation
  
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<span jwcid="$content$">
<html jwcid="@Shell" title="Language Selection">
<body jwcid="@Body">

<form jwcid="form@Form">
	
<span jwcid="group@RadioGroup" selected="ognl:selectedLanguage">
	<input type="radio" jwcid="@Radio" value="ognl:@org.apache.tapestry.junit.mock.c18.Language@JAVA"/> Java
	<br/>
	<input type="radio" jwcid="@Radio" value="ognl:@org.apache.tapestry.junit.mock.c18.Language@C_SHARP"/> C#
	<br/>
	<input type="radio" jwcid="@Radio" value="ognl:@org.apache.tapestry.junit.mock.c18.Language@PYTHON"/> Python
</span>

</form>

Selected Language: [<span jwcid="@Insert" value="ognl:selectedLanguage"/>]

</body>
</html>
</span>