<?xml version="1.0"?>
<xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
    xmlns:foaf="http://xmlns.com/foaf/0.1/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:politics="http://www.lauken.com/doconnor/politics/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<xsl:output method="xml" indent="yes" />

<xsl:template match="/">
  <rdf:RDF>
    <xsl:for-each select="//talker">
      <xsl:call-template name="talker" />
    </xsl:for-each>

    <xsl:for-each select="//inline[@ref]">
      <xsl:call-template name="bill" />
    </xsl:for-each>

    <xsl:for-each select="//speech">
      <xsl:call-template name="speech" />
    </xsl:for-each>
  </rdf:RDF>
</xsl:template>

<!-- document meta data -->
<xsl:template name="document-data">
  <rdf:Description rdf:about="">
    <dc:date><xsl:value-of select="date" /></dc:date>
  </rdf:Description>
</xsl:template>

<!-- talkers -->
<xsl:template name="talker">
  <politics:Politician rdf:about="http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=(Id:handbook/allmps/{name.id});">
    <foaf:name><xsl:value-of select="name[@role='metadata']" /></foaf:name>
    <foaf:name><xsl:value-of select="name[@role='display']" /></foaf:name>
    <foaf:homepage rdf:resource="http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=(Id:handbook/allmps/{name.id});" />
  </politics:Politician>
</xsl:template>

<!-- bills -->
<xsl:template name="bill">
  <politics:Bill rdf:about="http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query={@ref}">
    <dc:title><xsl:value-of select="." /></dc:title>
  </politics:Bill>
</xsl:template>

<!-- speeches -->
<xsl:template name="speech">
  <politics:Speech>
    <dc:description><xsl:value-of select="." /></dc:description>
    <dc:date><xsl:value-of select="../../../../session.header/date" /></dc:date>
    <dc:time><xsl:value-of select="talk.start/talker/time.stamp" /></dc:time>

    <xsl:for-each select='talk.start/talker'>
       <dc:creator rdf:resource="http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=(Id:handbook/allmps/{name.id});" />
    </xsl:for-each>

    <!-- interruptions -->
    <xsl:for-each select='interjection/talk.start/talker'>
       <dc:contributor rdf:resource="http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=(Id:handbook/allmps/{name.id});" />
    </xsl:for-each>

    <xsl:for-each select='.//indent[@ref]'>
       <foaf:topic rdf:resource="http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query={@ref}" />

    </xsl:for-each>
  </politics:Speech>
</xsl:template>
</xsl:stylesheet>
