При трансформации выкусываются xmlns из тегов

Vano_big

Новичок
При трансформации выкусываются xmlns из тегов

Почему-то при трансформации выкусываются xmlns из тегов.
Заголовок xsl файла
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:XS="test">

....
<xsl:template match="editor_panel">
<XS:panelArea name="panels" editor="editor">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<xsl:apply-templates select="line"/>
</table>
</XS:panelArea>
</xsl:template>
....

После трансформации получится
<PanelArea name="panels" editor="editor">
....
</PanelArea>

Почему так происходит, не понимаю.
Может кто-нибудь подсказать?
 

Vano_big

Новичок
<xsl:eek:utput encoding="windows-1251" indent="yes" method="html" version="4.0" omit-xml-declaration="yes"/>

Не указал еще один важный момент, вся эта конструкция лично у меня на сервере отрабатывается корректно, а вот на некоторых др. сайтах не работает.
Сличал версии Sablotron, все одинаково.
 

ViJu

Новичок
method="html" - поэтому и "выкусываются"
поэтому и omit-xml-declaration="yes" смысла не имеет, нет там его итак


<xsl:eek:utput method="xml" version="1.0" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>

-~{}~ 23.03.06 09:33:

- например,

а у тебя невалидный html получается (из-за отсутствия doctype-public) пригодный только для верстки в режиме совместимости (Quirk Mode)
 

Vano_big

Новичок
Нифига, не лечится сменой типа метода.
Результат такой же.

И я же наисал вот еще что: "вся эта конструкция лично у меня на сервере отрабатывается корректно, а вот на некоторых др. сайтах не работает".

Т.е. на лицо проблема в связке php + Sablotron. Вопрос в чем, вот это да.
 

ViJu

Новичок
какой php + Sablotron, забудь

в Sablotron нет не php:functions и вообще это какашка :)

я говорю про PHP5 XSL
 

Vano_big

Новичок
Ну началось, есть реальная проблема, которую я описал.
Еще раз напишу чтобы пробрало:"вся эта конструкция лично у меня на сервере отрабатывается корректно, а вот на некоторых др. сайтах не работает".

Работает у меня, работает, ясно.

А ты мне начинаешь говорить про то чтобы я забыл про php + Sablotron. Ясен пень, что раз я использую эту связку, то отказываьться от этого не собираюсь. Уж извини :)
 

ViJu

Новичок
повтаряю для тех кто не вчитывается -
в Sablotron нет возможности использовать вызовы php:functions из XSLT,

а ты пишешь что "вся эта конструкция лично у меня на сервере отрабатывается корректно"

ты сотворил ЧУДО - или что-то перепутал

разбирись с конфигурацией "у себя" и "там" сказочник :)

-~{}~ 23.03.06 14:47:

Почуствуйте разницу:

1. XSLT реализованный через Sablotron
http://www.php.net/manual/en/ref.xslt.php

2. XSLT реализованный через libxml2 и libxslt
2.1 http://www.php.net/manual/en/ref.xsl.php
(php5)

2.2 http://www.php.net/manual/en/ref.domxml.php
(php4)

-~{}~ 23.03.06 14:54:

Слушай, извини пожалуйста, я сам треды чуть попутал - ты же не писал про php:functions,
извини

2ой ответ в силе
 

slach

Новичок
ViJu хорош пургу гнать

автору вопроса
PHP:
<?xml version="1.0" encoding="utf-8"?>
<root/>

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:XS="http://siteware.info">
<xsl:output method="html"/>
<xsl:template match="root">
<XS:Test name="panels" editor="editor">
  <test/>
</XS:Test>
</xsl:template>
</xsl:stylesheet>

на выходе дает
<XS:Test xmlns:XS="http://siteware.info" name="panels" editor="editor">
  <test></test>
</XS:Test>
#sabcmd -v
1.0.2


все таки надо проверять как собран sablotron
и какой он версии, в версии до 1.0.1 возможны баги в этом направлении
 

Vano_big

Новичок
Ок, спасибо slach за ответ.
Тут ситуация действительно в sablotron.
Вопрос уже разрешился :)
 
Сверху