Geschwisterdateien verlinken

Manchmal ist es nützlich, zusätzlich zum Inhalt einer Datei noch die Liste aller anderen Dateien verfügbar zu haben, die sich im gleichen Ordner befinden, also die Liste der Geschwisterdateien.

Dies können Sie mit dem folgenden NPSOBJ-Code in einer Layout-Datei erreichen. Der Code setzt zunächst mit list="parent" als Kontext den Ordner, in dem sich die aktuelle Datei befindet. In diesem Kontext wird eine toclist erzeugt, die alle Dateien in dem Ordner, also auch das aktuelle Dokument enthält. Mit Hilfe eines Vergleichs wird das aktuelle Dokument bei der Ausgabe übersprungen, so dass nur die Geschwisterdateien übrig bleiben. Verglichen werden der Name der ursprünglich exportierten Datei und der Name der in der toclist gerade verarbeiteten Datei. Die ursprüngliche Datei wird dabei mit context.context adressiert. context springt aus einer Liste eine Ebene höher, also zu dem Ordner, aus dem die Liste erzeugt wurde.

<!-- In den Ordner über dem aktuellen Dokument bewegen -->
<npsobj list="parent">
  <ul>
  <!-- Hier eine toclist erstellen -->
  <npsobj list="toclist">
    <!-- Nur Dokumente berücksichtigen  -->
    <npsobj name1="objClass" value2="doc" condition="isEqual">
      <!-- Mit einem Namensvergleich das aktuelle Dokument überspringen. -->
      <npsobj name1="name" name2="context.context.name" condition="isNotEqual">
        <!-- Wenn der Name der ursprünglich exportierten Datei ungleich dem -->
        <!-- Namen des aktuellen toclist-Eintrags ist, wird ein Link erstellt. -->
        <li>
        <npsobj insertvalue="anchor" name="self">
          <npsobj name="title" insertvalue="var" />
        </npsobj>
        </li>
      </npsobj>
    </npsobj>
  </npsobj>
</ul>
</npsobj>