<?xml version="1.0"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<html><body>

	<xsl:for-each select=".//Import">import 
		<xsl:value-of select=".//@value"/>; <br/>
	</xsl:for-each>


<br/><br/>
	<xsl:for-each select=".//ClassGraphEntry">

		<xsl:for-each select=".//Directive">
			<xsl:for-each select=".//Package">package 
				<xsl:value-of select=".//@value"/>; <br/>
			</xsl:for-each>

			<xsl:for-each select=".//DontParse">*noparse*<br/>
			</xsl:for-each>

			<xsl:for-each select=".//Parse">*parse*<br/>
			</xsl:for-each>

			<xsl:for-each select=".//BeginVisitors">*visitors*<br/>
			</xsl:for-each>

		</xsl:for-each>

		<xsl:for-each select=".//ClassDef">

			<xsl:for-each select=".//PublicClass">public </xsl:for-each>
			<xsl:for-each select=".//FinalClass">final </xsl:for-each>
			<xsl:for-each select=".//InterfaceClass">interface </xsl:for-each>
			<xsl:for-each select=".//VisitorClass">visitor </xsl:for-each>
			<xsl:for-each select=".//NotParsedClass">noparse </xsl:for-each>



			<xsl:value-of select=".//@value"/>

			<xsl:for-each select=".//ClassName[position()>1]"><xsl:text> (</xsl:text>
				<xsl:value-of select=".//@value"/><xsl:text>) </xsl:text> 
			</xsl:for-each>


			<xsl:for-each select=".//ConstructionClass"> = </xsl:for-each>
			<xsl:for-each select=".//RepetitionClass"> ~ 
				<xsl:for-each select="Syntax[1]">"
					<xsl:value-of select=".//@value"/>" 
				</xsl:for-each>
{
				<xsl:for-each select=".//RepeatedPart/Syntax[1]">"
					<xsl:value-of select=".//@value"/>" 
				</xsl:for-each>
				<xsl:value-of select=".//ClassName//@value"/> <xsl:text> </xsl:text>
				<xsl:for-each select=".//RepeatedPart/Syntax[2]">"
					<xsl:value-of select=".//@value"/>" 
				</xsl:for-each>
}
				<xsl:for-each select="Syntax[2]">"
		<			xsl:value-of select=".//@value"/>" 
				</xsl:for-each>
			</xsl:for-each>


			<xsl:for-each select=".//AlternationClass"> : 

				<xsl:value-of select=".//Subclass//@value"/>

			<xsl:for-each select=".//Subclass[position()>1]"><xsl:text> | </xsl:text>
				<xsl:value-of select=".//@value"/> 
			</xsl:for-each>

			<xsl:for-each select=".//CommonKeyword"> *common* </xsl:for-each></xsl:for-each>

			<xsl:for-each select=".//PartOrSyntax/Syntax">"
				<xsl:value-of select=".//@value"/>" 
			</xsl:for-each>

			<xsl:for-each select=".//PartOrSyntax/Part">
				<xsl:for-each select=".//PartName">
					<xsl:text> &lt;</xsl:text>
					<xsl:value-of select=".//@value"/> <xsl:text>&gt; </xsl:text>
				</xsl:for-each>

				<xsl:value-of select=".//ClassName//@value"/> <xsl:text> </xsl:text></xsl:for-each>

				<xsl:for-each select=".//OptionalPart"> [ 
					<xsl:for-each select=".//PartName">
					<xsl:text> &lt;</xsl:text>
						<xsl:value-of select=".//@value"/> <xsl:text>&gt; </xsl:text>
					</xsl:for-each>

					<xsl:value-of select=".//ClassName//@value"/> ]<xsl:text> </xsl:text>
				</xsl:for-each>




.<br/>
			</xsl:for-each>
		</xsl:for-each>
</body></html>
</xsl:template> 
</xsl:stylesheet>
