<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output encoding="utf-8" indent="yes" method="xml" standalone="yes" version="1.0"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="/">
    <ThML>
      <ThML.body>
        <div1>
          <xsl:apply-templates select="//IID/item"/>
        </div1>
      </ThML.body>
    </ThML>
  </xsl:template>

  <xsl:template match="IID/item">
    <div2>
      <xsl:attribute name="title">
        <xsl:value-of select="BOOK"/>
      </xsl:attribute>
      <xsl:attribute name="id">
        <xsl:value-of select="BKID"/>
      </xsl:attribute>
      <xsl:call-template name="CHAPTER">
        <xsl:with-param name="BOOK" select="BOOK"/>
      </xsl:call-template>
    </div2>
  </xsl:template>

  <xsl:template name="CHAPTER">
    <xsl:param name="BOOK"/>
    <xsl:for-each select="//ICHAPTERS/item">
      <xsl:if test="BOOK=$BOOK">
        <div3>
          <xsl:attribute name="title">
            <xsl:value-of select="concat('Chapter ',number(CHAPTER))"/>
          </xsl:attribute>
          <p>
            <xsl:call-template name="TEXT">
              <xsl:with-param name="BOOK" select="BOOK"/>
              <xsl:with-param name="CHAPTER" select="CHAPTER"/>
            </xsl:call-template>
          </p>
        </div3>
      </xsl:if>
    </xsl:for-each>
  </xsl:template>

  <xsl:template name="TEXT">
    <xsl:param name="BOOK"/>
    <xsl:param name="CHAPTER"/>
    <xsl:for-each select="//IBIBLE/item">
      <xsl:if test="BOOK=$BOOK and CHAPTER=$CHAPTER">
        <scripture/>
        <xsl:value-of select="TEXT"/>
      </xsl:if>
    </xsl:for-each>
  </xsl:template>

</xsl:transform>