Как импортировать нужный xsl файл

$coder

Новичок
Здравствуйте. Начал писать собственную cms где все преобразования происходят с помощью xslt. Контент изменяется с помощью ajax, но так же возможно использовать без ajax.
Например: www.project.com/#/login и без ajax www.project.com/login.
Изменяется только контент сайта, хедер и футер остается без изменения. При прямом переходе в главный xsl файл должен подключаться xslt нужной страницы, например login.xsl.




<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

/*здесь должен подключаться нужный xslt*/
<xsl:import href="login.xsl" />

<xsl: output method="xml"
encoding="UTF-8"
omit-xml-declaration="yes"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/1999/xhtml"
indent="yes" />


<xsl:template match="/">
<html>
<head>
</head>
<body>

<div id="header"></div>

<div id="content">
/*Тут вставляет импортировании файла*/
<xsl:apply-imports />
</div>

<div id="footer"></div>


</body>
</html>
</xsl:template>
</xsl:stylesheet>


/*здесь должен подключаться нужный xslt*/
<xsl:import href="login.xsl" />

Проблема в этом месте, тут должен подключаться нужный xlt. Хотел так, но не работает:
<xsl:import href="{/root/template/text()}" />

На php не нашел нужной функции и не знаю как вставить туда значения из xml файла.
 
На сколько я знаю, то тут следующие варианты:
  • Переделать наоборот - те части, которые не изменяются, подключаются к файлу login.xsl - <xsl:import href="header.xsl" />
  • Изменять xslt-документ динамически из php, что-то по типу (если использовать DOM):
    PHP:
    $xsl = new DOMDocument;
    $xsl->load('main.xsl');
    $xsl->getElementsByTagName('import')->item(0)->setAttribute('href','login.xsl');
 

$coder

Новичок
Спасибо я примерно так делал, только сейчас заметил что надо было путь изменить.
 
Сверху