XIP und XSLT mit Repository Abfragen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen

Im Folgenden wird beschrieben, wie innerhalb der XSL-Transformation Abfragen auf das IES-Repository erstellt werden können. Dazu ist die Ergänzung eines Namespaces nötig, mit der die Java Klasse angegeben wird, die die möglichen Funktionen zur Verfügung stellt (com.sitepark.ies.xip.importer.xslt.Repository).


Beispiel-XSLT

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet 
    version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:repository="com.sitepark.ies.xip.importer.xslt.Repository">

    <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">

        <!-- Prüfe auf Existenz--> 
        <xsl:if test="repository:exists('myArticle.anchor')">
            <!-- Dinge, die bei existierendem Objekt erfolgen müssen
                 ... 
            -->
        </xsl:if>

    </xsl:template>
</xsl:stylesheet>


Repository

Klassenname: com.sitepark.ies.xip.importer.xslt.Repository
Funktionen Bedeutung Rückgabe/Beispiel
exists(anchor) Prüft, ob das Objekt mit den Anker existiert boolean
getId(anchor, format = null) Liefert die ID zu dem angegebenen Anker

format = null|leer
format = withoutType
format = withoutSignature

ID

1010101000000002514-1015)
1010101000000002514
2514

getParent(anchor) Liefert den Anker des Parent-Objektes String
getParentId(anchor, format = null) Liefert die ID des Parent-Objektes ID (entsprechend des Formats s.o.)
getParentPathIDs(anchor, format = null, parentLinkIterateName = null, parentLinkFieldName = null) Liefert eine kommaseparierte List von Parent-Pool-ID's zum angegebenen Anker.

Für die Parent-Strukturen aus Navigation oder Kategorie Verknüpfungen können die Feldnamen
parentLinkIterateName und parentLinkFieldName der Verknüpfung angegeben werden

zB: 'sp_parent_category_iterate'

zB: 'sp_parent_category.link'