So filtern Sie Namensraumangaben über die pre-Datei

Dieser Artikel beschreibt, wie Sie über die pre.php Ihres globalen Projektes die Attributangaben zu Namensräumen in der Ausgabe filtern.

Beim Kopieren von Inhalten über z.B. xsl:copy-of kann es vorkommen, dass die eingelesenen HTML-Tags teilweise mit Namensraumangaben versehen werden, z.B.:

<p xmlns:wsl="http://weblication.de/5.0/wsl" xmlns:wd="http://weblication.de/5.0/wd" xmlns:en="/en">

Um dies zu unterbinden, können Sie im Ausgabetemplate des entsprechenden Bereiches entweder über die WSL-Funktion "filterNamespaces" diese Angaben filtern oder Sie nehmen dies global für Ihr Projekt über die pre.php vor, was Sie beispielhaft dem folgenden Beispiel entnehmen können.

Beispiel: Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/scripts/pre.php

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// Diese Datei steuert die Ausgabe der Seiten //
// //
// Änderungen in dieser Datei wirken sich auf die gesamte Präsentation aus! //
// //
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

ob_start("ob_gzhandler");

require_once(
$_SERVER["DOCUMENT_ROOT"]."/weblication/grid5/framework/php/wSession.php");

// Variablen zur Steuerung der Ausgabe
$preVars = array('outputType' => 'var', 'viewMode' => wRequest::getParameter('viewmode'), 'viewTemplate' => '', 'docType' => '', 'debugType' => '');

include(
$_SERVER["DOCUMENT_ROOT"]."/weblication/grid5/default/project/wGlobal/scripts/pre.php");

$preResult = str_replace('', '', $preResult);

// Filtern von Namensraumangaben:
$preResult = str_replace('xmlns:wsl="http://weblication.de/5.0/wsl"', '', $preResult);
$preResult = str_replace('xmlns:wd="http://weblication.de/5.0/wd"', '', $preResult);
$preResult = str_replace('xmlns="http://www.w3.org/1999/xhtml"', '', $preResult);

print
$preResult;

if(
wVariables::getValue('log_googleRanking_id', '/spinGlobal') == 'yes'){
wPageCur::addRanking();
}