<?xml version="1.0"?>
<!--
  - xsltproc link.xslt main.xml
  - perl -p -i -e 's/&amp;/\&/g' ulink/*.xml 
  - cat sys/*.xml > ulink.xml
  -->
<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.1"
>

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

<xsl:template match="link|xref">
  <xsl:variable name="xml-filename"
    select="concat('ulink/', @linkend, '.xml')"/>
  <xsl:variable name="sys-filename"
    select="concat('sys/', @linkend, '.xml')"/>

  <xsl:document href="{$sys-filename}" method="text">
  <xsl:value-of select="concat(
    '&lt;!ENTITY yref.',
    @linkend,
    ' SYSTEM &quot;',
    $xml-filename,
    '&quot;&gt;&#x0A;'
  )"/>
  </xsl:document>
 
  <xsl:document href="{$xml-filename}" omit-xml-declaration="yes">
    <xsl:element name="ulink">
      <xsl:attribute name="url">
	<xsl:value-of select="concat(
	  '&amp;config.OUT.DEFAULT;/',
	  id(@linkend)/ancestor::sect1/@id,
	  '.html#',
	  @linkend
	)"/>
      </xsl:attribute>
      <xsl:value-of select="id(@linkend)/@xreflabel"/>
    </xsl:element>
  </xsl:document>
</xsl:template>

<xsl:template match="text()"/>

</xsl:stylesheet>
