XIP und XSLT mit Repository Abfragen: Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
Zeile 33: Zeile 33:
 
|Funktionen
 
|Funktionen
 
|Bedeutung
 
|Bedeutung
 +
|Rückgabe/Beispiel
 
|-
 
|-
 
|exists(anchor)
 
|exists(anchor)
 
|Prüft, ob das Objekt mit den Anker existiert
 
|Prüft, ob das Objekt mit den Anker existiert
 +
|boolean
 
|-
 
|-
|getId(anchor)
+
|getId(anchor, format = null)
|Liefert die ID zu dem angegebenen Anker
+
|Liefert die ID zu dem angegebenen Anker<br />
 +
format = null|leer<br />
 +
format = withoutType<br />
 +
format = withoutSignature
 +
|ID<br />
 +
1010101000000002514-1015)<br />
 +
1010101000000002514<br />
 +
2514<br />
 
|-
 
|-
 
|getParent(anchor)
 
|getParent(anchor)
 +
|Liefert den Anker des Parent-Objektes
 +
|String
 +
|-
 +
|getParentId(anchor, format = null)
 
|Liefert die ID des Parent-Objektes
 
|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.<br>
 +
Für die Parent-Strukturen aus Navigation oder Kategorie Verknüpfungen können die Feldnamen <br /><code>parentLinkIterateName</code> und <code>parentLinkFieldName</code> der Verknüpfung angegeben werden
 +
|zB: 'sp_parent_category_iterate'<br />
 +
zB: 'sp_parent_category.link'
 
|}
 
|}
  

Version vom 28. September 2017, 08:35 Uhr

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'