So werden XSLT-Fehler einem Administrator direkt angezeigt
Veröffentlichungsdatum: 12. November 2010
Änderungsdatum: 12. Juli 2012
wConf admin xslt fehler error warning
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.
Weiterführende Links
- Wie kann ich XSLT-Fehler nur Administratoren direkt in der Seitenausgabe anzeigen lassen?
- Sie können in der Konfiguration eine Debug-Einstellung setzen, sodass XSLT-Fehler Benutzern vom Typ „admin“ direkt ausgegeben werden. Dazu wird in der Datei "/weblication/grid5/conf/default.wConf.php" unter dem Abschnitt "/debug" die Einstellung <pre><code class="codeBlock" style="color: #000000">xml <xslt errors="admin"/> </code></pre> gesetzt. Das ermöglicht Administratoren ein schnelleres Auffinden der Fehlerursache anhand der ausgegebenen Fehlermeldung.
- Wo finde ich das Konfigurationsbeispiel für die XSLT-Debug-Einstellung?
- Im Artikel wird als Beispiel ein Auszug aus der Datei "/weblication/grid5/conf/default.wConf.php" gezeigt. Relevant ist der Block <pre><code class="codeBlock" style="color: #000000">xml <debug> <xslt errors="admin"/> </debug> </code></pre>
- Was bedeutet eine Beispiel-Fehlermeldung wie „No stylesheet associated to this object“ bei XSLT-Fehlern?
- Wenn die Debugausgabe aktiviert ist, kann eine Meldung wie „No stylesheet associated to this object ...“ direkt auf einen Fehler im Stylesheet hinweisen. Im Beispiel wird daraus abgeleitet, dass ein Problem im eingebundenen XSLT-Stylesheet vorliegt (z. B. weil kein passendes Stylesheet geladen/zugeordnet ist).
- Wie kann ich XSLT-Fehler nach der Fehlermeldung weiter eingrenzen?
- Im Artikel wird empfohlen, die jeweilige Inhaltsseite (bzw. den betroffenen Inhalt) genauer zu prüfen und dabei alle eingebundenen XSL-Stylesheets zu kontrollieren. Zusätzlich hilft es oft, alle XSL-Stylesheets offline zu schalten und dann schrittweise wieder online zu bringen, um den fehlerhaften Bestandteil schnell zu identifizieren.
- Kann ein falsch geschriebenes XSLT-Tag zu einer Fehlermeldung führen, die Administratoren direkt sehen?
- Ja. Das Beispiel zeigt, dass ein Tippfehler wie „xsl:chooose“ statt „xsl:choose“ im Stylesheet zu einer Fehlerausgabe führen kann. Bei aktivierter Admin-Debugausgabe erhält ein eingeloggter Administrator dann entsprechende Warnungen, die auf das Stylesheet-/Transformationsproblem hinweisen.