So werden XSLT-Fehler einem Administrator direkt angezeigt

Nutzbar ab: Version

Dieser Artikel beschreibt, wie Sie Administratoren bei auftretenden XSLT-Fehlern diese direkt ausgeben können.

Durch folgende manuelle Konfigurationseinstellung können Sie optional einstellen , dass Benutzer vom Typ Administrator ("admin") auftretende XSLT-Fehler direkt in der Seitenausgabe angezeigt bekommt.

Dies ermöglicht Administratoren ein schnelleres Auffinden der Fehlerursache aufgrund der ausgegebenen Fehlermeldung.

Beispiel: Auszug aus der /weblication/grid5/conf/default.wConf.php zur XSLT-Debug Einstellung

<wConf version="5.0">
  ...
  <debug>
    <xslt errors="admin"/>
  </debug>
  ...
</wConf>

Beispiel für eine Fehlermeldung

Sie benennen z.B. das xsl:choose Tag im Strukturelement für Überschriften falsch (xsl:chooose anstatt xsl:choose):

Beispiel: Fehlerhafte benennung des xsl:choose Tags im Überschriften-Element (headline.text.wItem.php)

...
  <xsl:template match="wd:item[@type = 'headline.text']">
    <!-- web:item:start name="Überschrift" copy="1" delete="1" drag="1" display="user" pathEdit="/spinGlobal/wGlobal/layout/templates/items/headline.text.wItem.php" type="headline.text"-->
    <div class="elementHeadline"> 
      <xsl:chooose>
      ...

Die falsche Benennung eines XSL-Tags führt bei eingestellter Debugmeldung zu folgender Fehlerausgabe bei einem eingeloggten Administrator:

...
Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: No stylesheet associated to this object in ...
DOMDocument::loadXML() [domdocument.loadxml]: Empty string supplied as input
...

Aus der Fehlermeldung lassen sich nun direkt die möglichen Ursachen ablesen. In diesem Fall weist die Meldung "... No stylesheet associated to this object ..." auf einen Fehler im Stylesheet hin.

Auch wenn die XSLT-Fehlerausgabe erstmal verstanden und kennengelernt werden müssen, bietet die direkte Fehlerausgabe erste Ansätze. Bei auftretenden Fehlern empfiehlt es sich immer, die entsprechende Inhaltsseite unter die Lupe zu nehmen und alle eingebundenen XSL-Stylesheets. Durch offline Schalten aller XSL-Stylesheets und schrittweises wieder online Schalten lassen sich Fehler meist schnell eingrenzen.