Модераторы: diadiavova

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XML внутри HTML кода. 
V
    Опции темы
ShurikA
Дата 4.4.2007, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Мозжно ли вставлять XML+XSL внутри HTML кода, на пример вот таким образом:
Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Admin Panel</title>
    <link rel="stylesheet" href="http://localhost/ImageryFair/admin/css/admin.css">
    <script src="http://localhost/ImageryFair/admin/jscripts/admin_global.js"></script>
</head>
<body>
    <div class="apl">
                 <?xml version='1.0' encoding='UTF-8'?>
    <!-- List of Links for admin panel -->
    <?xml-stylesheet type='text/xsl' href='http://localhost/ImageryFair/admin/xml_xsl/admin_panel_menu.xsl'?>
    <APLinks>
                    
    <link>
                         <addr>index.php</addr>
            <name>Main</name>
    </link>
                        
    <link>
            <addr>login.php?act=logout</addr>
            <name>Logout</name>
    </link>
    </APLinks>
                </div>
</body>
</html>


если да, то как это правильно сделать?
Приведённый код как будто просто игнорирует XSL фаил. (при этом путь к нему правильный).

'http://localhost/ImageryFair/admin/xml_xsl/admin_panel_menu.xsl'
Код

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="APLinks">
        <table class="apl">
            <xsl:for-each select="link">
                <tr>
                    <td>
                        <a>
                            <xsl:attribute name="href">
                                <xsl:value-of select="addr"/>
                            </xsl:attribute>
                            <xsl:value-of select="name"/>
                        </a>
                    </td>
                </tr>
            </xsl:for-each>
        </table>
    </xsl:template>
</xsl:stylesheet>



--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
elkin
Дата 5.4.2007, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 16.9.2006

Репутация: нет
Всего: нет



Только для IE:
Код

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
  <xml id="apXml">
        <APLinks>
            <link>
                <addr>index.php</addr>
                <name>Main</name>
            </link>
            <link>
                <addr>login.php?act=logout</addr>
                <name>Logout</name>
            </link>
        </APLinks>
    </xml>
    <xml id="apStyle" src="admin_panel_menu.xsl"></xml>
    
    <script for="window" event="onload">
        xslArea.innerHTML = apXml.transformNode(apStyle.XMLDocument);
    </script>
<div id="xslArea"></div>
</body>
</html>

Xml тоже можно в отельный файл вынести и подключить его, как и xsl-файл
PM MAIL   Вверх
ShurikA
Дата 5.4.2007, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(elkin @  5.4.2007,  10:57 Найти цитируемый пост)
Xml тоже можно в отельный файл вынести и подключить его, как и xsl-файл 

дело в том что XML мне нузчно создавать "on the fly". конечно можно через фаил, но зачем...


Цитата(elkin @  5.4.2007,  10:57 Найти цитируемый пост)
Только для IE

где можно найти как это делать для других браузеров?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Exception
Дата 5.4.2007, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 3
Всего: 186



Цитата(ShurikA @  5.4.2007,  13:20 Найти цитируемый пост)
где можно найти как это делать для других браузеров? 


На место

Код
        xslArea.innerHTML = apXml.transformNode(apStyle.XMLDocument);


для FF (насчёт Оперы не уверен):

Код
   var xsltProc  = new XSLTProcessor();
   xsltProc.importStylesheet(xsltDoc);
   var xsl = xsltProc.transformToFragment(xml);
   xslArea.appendChild (xsl);

PM   Вверх
ShurikA
Дата 5.4.2007, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Exception
elkin
Спасибо.

Короче, то что я понял, ето то что такие вещи можно делать толька скриптом???


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Exception
Дата 5.4.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 3
Всего: 186



Я что не пойму -- почему тебе не хочется сделать енто по-человечески:

xml

Код
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="myxsl.xsl"?>
<APLinks>   
    <link>
            <addr>index.php</addr>
            <name>Main</name>
    </link>            
    <link>
            <addr>login.php?act=logout</addr>
            <name>Logout</name>
    </link>
    </APLinks>



xsl

Код
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
                <title>Admin Panel</title>
                <link rel="stylesheet" href="http://localhost/ImageryFair/admin/css/admin.css">
                <script src="http://localhost/ImageryFair/admin/jscripts/admin_global.js"></script>
            </head>
            <body>
                <div class="apl">
                    <xsl:apply-templates match="APLinks" />
                </div>
            </body>
        </html>
    </xsl:template>
    <xsl:template match="APLinks">
        <table class="apl">
            <xsl:for-each select="link">
                <tr>
                    <td>
                        <a>
                            <xsl:attribute name="href">
                                <xsl:value-of select="addr"/>
                            </xsl:attribute>
                            <xsl:value-of select="name"/>
                        </a>
                    </td>
                </tr>
            </xsl:for-each>
        </table>
    </xsl:template>
</xsl:stylesheet>



Динамически (раз надо) генеришь xml и присобачиваешь к нему xsl.
PM   Вверх
ShurikA
Дата 5.4.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(Exception @  5.4.2007,  11:49 Найти цитируемый пост)
Я что не пойму -- почему тебе не хочется сделать енто по-человечески:

потому что работаю через PHP.
как я понал, что бы XML код прочитался без проблемм, это должен быть фаил .xml а не .php.
или я опять ошибаюсь?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Exception
Дата 5.4.2007, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 3
Всего: 186



Цитата(ShurikA @  5.4.2007,  14:25 Найти цитируемый пост)
потому что работаю через PHP.
как я понал, что бы XML код прочитался без проблемм, это должен быть фаил .xml а не .php.
или я опять ошибаюсь? 


Ошибаешься. Достаточно прописать

Код
header('Content-type: application/xml');


в начале PHP-кода.
PM   Вверх
ShurikA
Дата 5.4.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Извиняюсь, я может совсем туплю, но всё таки...
Вот такой максимально простой PHP фаил:
Код

<?php
header('Content-type: application/xml');
$out = "<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href='myxsl.xsl'?>
<APLinks>   
    <link>
            <addr>index.php</addr>
            <name>Main</name>
    </link>            
    <link>
            <addr>login.php?act=logout</addr>
            <name>Logout</name>
    </link>
</APLinks>";

echo $out;
?>


при этом он мне просто выдаёт XML:
Код

<?xml version="1.0" encoding="UTF-8" ?> 
  <?xml-stylesheet href='myxsl.xsl'?> 
- <APLinks>
- <link>
  <addr>index.php</addr> 
  <name>Main</name> 
  </link>
- <link>
  <addr>login.php?act=logout</addr> 
  <name>Logout</name> 
  </link>
  </APLinks>



--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Exception
Дата 5.4.2007, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 3
Всего: 186



А, ну да.

Код
 <?xml-stylesheet href='myxsl.xsl' type='text/xsl'?>


Добавлено через 48 секунд
Естественно, xsl-ка должна быть в той же директории и называться myxsl.xsl smile .
PM   Вверх
ShurikA
Дата 5.4.2007, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(Exception @  5.4.2007,  13:00 Найти цитируемый пост)
Естественно, xsl-ка должна быть в той же директории и называться myxsl.xsl 

Ясный пень.


Цитата(Exception @  5.4.2007,  13:00 Найти цитируемый пост)
<?xml-stylesheet href='myxsl.xsl' type='text/xsl'?>

Это я уже пробовал, не помогло...

Добавлено через 2 минуты и 27 секунд
теперь появилась следующая хрень:
Код

End tag 'head' does not match the start tag 'link'. Error processing resource 'http://localhost/try/myxsl.xsl'. Line 11, P...

            </head>
--------------^



Это сообщение отредактировал(а) ShurikA - 5.4.2007, 14:10


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Exception
Дата 5.4.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 3
Всего: 186



Не

Код
    <link rel="stylesheet" href="http://localhost/ImageryFair/admin/css/admin.css">


а

Код
    <link rel="stylesheet" href="http://localhost/ImageryFair/admin/css/admin.css" />


то есть слэш закрывающий надо добавлять.
PM   Вверх
ShurikA
Дата 5.4.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Exception,  спасибо.

следующее:
Код

Attribute 'match' is invalid on 'xsl:apply-templates'. 


надеюсь последнее... smile


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Exception
Дата 5.4.2007, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 3
Всего: 186



Меняй на select.
PM   Вверх
ShurikA
Дата 5.4.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(Exception @  5.4.2007,  13:32 Найти цитируемый пост)
Меняй на select. 

Только что сам допёр smile
Спасибо, огромное!!

Добавлено через 1 минуту и 42 секунды
 smile но важно:
есть ли какая то проблемма с compatibility XML-a с разными браузерами?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.1117 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.