<?xml version="1.0" encoding="utf-8"?>

<!--
$Id: doc_index.xsl 9570 2010-03-15 23:21:23Z gawrilow $

This file produces the index of the polymake documentation.

Author: Silke Möser, 2010
-->

<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:html="http://www.w3.org/1999/xhtml"
	xmlns:pm="http://www.polymake.de/ns/docs#3"
>

<xsl:include href="macros.xsl" />

<xsl:output method="html" 
	doctype-public="-//W3C//DTD HTML 4.01//EN"
	doctype-system="http://www.w3.org/TR/html4/strict.dtd"/>


<xsl:template match="/">
	<html>
	 	
		<head>
			<title>polymake: index</title>
			<link rel="stylesheet" href="docstyle.css"/>
			
		</head>

		<body>

			<div class="header">
				<div class="pageheader">
				[[<span class="pagename">polymake: index</span>]]
				</div>
			
				<div class="logo">
					<a href="index.html">polymake doku</a>
				</div>
				
				<div class="clearer"/>
			</div>
			
	<div class="nav">
		<div class="navheader">
			Navigation
		</div> 
		<div class="nav_inside">
			<ul class="nav">
				<li> <a href="index.html#apps">applications</a> </li>
				<li> <a href="doc_index.html">index</a> </li>
				<li> <xsl:call-template name="wiki-ref"><xsl:with-param name="reftext">polymake wiki</xsl:with-param></xsl:call-template> </li>
			</ul>  
		</div>  
	</div>
	<br/>
			
	
	<div class="page">
	<p>This table contains all entities available in polymake in alphabetical order.</p>
	<p>For everything listed, the <b>name</b>, the <b>type</b> (i.e., one of object, property, function, property-type, application, or permutation), the corresponding <b>application</b> and, for properties and user-methods the <b>object</b> which they belong to are given.</p> 

	<br/>
	<table border="1">
		<tr>
			<th align="left">Name</th>
			<th align="left">Type</th>
			<th align="left">Object or Type</th>
			<th align="left">Application</th>
		</tr>
	
		<xsl:apply-templates select="//*[@name!='']">
			<xsl:sort select="translate(@name,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" lang="en"/>
		</xsl:apply-templates>	 
					
	</table>

				
	</div>
	</body>
		
	</html>
</xsl:template>



<xsl:template match="//*[@name!='']">

<xsl:if test="name()='object' or name()='application' or name()='property-type' or name()='function' or name()='property' or name()='permutation'">
<xsl:if test="not(name()='application' and @name!=ancestor-or-self::pm:application/@name)">
	<tr>
		<td><b><a>
			<xsl:attribute name="href"><xsl:value-of select="ancestor-or-self::pm:application/@name"/>.html#<xsl:value-of select="@id"/></xsl:attribute>
			<xsl:value-of select="@name"/>
		</a></b></td>
		
		<td><xsl:value-of select="name()"/></td>
		
		<td><a>
			<xsl:choose>
			<xsl:when test="ancestor::pm:object">
				<xsl:attribute name="href"><xsl:value-of select="ancestor-or-self::pm:application/@name"/>.html#<xsl:value-of select="ancestor::pm:object/@id"/></xsl:attribute>
				<xsl:value-of select="ancestor::pm:object/@name"/>
			</xsl:when>
			<xsl:when test="ancestor::pm:property-type">
				<xsl:attribute name="href"><xsl:value-of select="ancestor-or-self::pm:application/@name"/>.html#<xsl:value-of select="ancestor::pm:property-type/@id"/></xsl:attribute>
				<xsl:value-of select="ancestor::pm:property-type/@name"/>
			</xsl:when>
			</xsl:choose>
		</a></td>

		<td><a>
			<xsl:attribute name="href"><xsl:value-of select="ancestor-or-self::pm:application/@name"/>.html</xsl:attribute>
			<xsl:value-of select="ancestor-or-self::pm:application/@name"/>		
		</a></td>
	</tr>
	
</xsl:if></xsl:if></xsl:template>



</xsl:stylesheet>
