/ .. / / -> download
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="ein">
    <xsl:variable name="einnbr" select="@einnbr"/>
    <xsl:variable name="eintype" select="@eintype"/>
    <xsl:variable name="mfc" select="@mfc"/>
    <xsl:variable name="einid" select="
      (//einid[
        $einnbr = @einnbr and
        (not($eintype) or $eintype = @eintype) and
        (not($mfc) or $mfc = @mfc)
      ])[1]"/>
    <xsl:variable name="eininfo" select="$einid/parent::eininfo"/>
    <xsl:variable name="einalt" select="$eininfo/einalt[1]"/>
    <ein>
      <xsl:choose>
        <xsl:when test="$eininfo">
          <xsl:apply-templates select="@id"/>
          <xsl:apply-templates select="$einid/@einnbr"/>
          <xsl:apply-templates select="$einid/@eintype"/>
          <xsl:apply-templates select="$einid/@mfc"/>
          <xsl:choose>
            <xsl:when test="$einalt/nomen">
              <xsl:apply-templates select="$einalt/nomen"/>
            </xsl:when>
            <xsl:otherwise>
              <xsl:apply-templates select="$eininfo/nomen"/>
            </xsl:otherwise>
          </xsl:choose>
          <xsl:apply-templates select="$eininfo/refs"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:otherwise>
      </xsl:choose>
    </ein>
  </xsl:template>

</xsl:stylesheet>


/ gopher://khzae.net/0/s1000d/s1kd-tools/src/tools/s1kd-instance/cirxsl/einlist.xsl
Styles: Light Dark Classic