Будет работать следующее.
Исходный XML:
$xmlDoc = <<< XML
<titles>
<title xml:lang="ar">أربيك</title>
<title xml:lang="en">English</title>
</titles>
XML;
Таблица стилей XSL с шаблоном, соответствующим любым узлам заголовка в документе
$xslDoc = <<< XSL
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<h1>Titles</h1>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="title">
<div class="{@xml:lang} title">
<xsl:value-of select="."/>
</div>
</xsl:template>
</xsl:stylesheet>
XSL;
И преобразование с помощью PHP:
$xml = new DOMDocument();
$xml->loadXML($xmlDoc);
$xsl = new DOMDocument;
$xsl->loadXML($xslDoc);
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
даст:
<?xml version="1.0"?>
<h1>Titles</h1>
<div class="ar title">أربيك</div>
<div class="en title">English</div>
EDIT : измененный шаблон заголовка для использования атрибута xml: lang в качестве атрибута класса, поэтому вы можете стилизовать его с помощьюCSS.Если вам нужно более сложное моделирование, напишите другой шаблон, который соответствует атрибуту (как показано Volker).