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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобрать XML код 
:(
    Опции темы
ratzko
Дата 12.9.2007, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

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



Здравствуйте. Возникла следующая проблема. Есть xml файл вида:

Код


<text>Before you can start the installation<list>
<li><strong>Java 2</strong> <strong>(J2SE 5.0)</strong> or newer. You can download this at <a
href="http://java.sun.com/j2se/downloads.html">http://java.sun.com/j2se/downloads.html</a></li>
<li><strong>Apache Tomcat 5.5.</strong> You can download this at <a
href="http://jakarta.apache.org/tomcat/">http://jakarta.apache.org/tomcat/</a></li>
</list>If X is not otherwise required, you can also use some other virtual X server.</text>



 
Нужно из тэга text взять текст, кот. не относится ни к каким тэгам и поместить в тэг <text:p></text:p>, а остальное в HTML тэги. 
PM MAIL   Вверх
Shedar
Дата 12.9.2007, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Можно по другому сформулировать вопрос? А так, весь текст относится в примведенном примере как минимум к тегу text =)
Например " or newer. You can download this at " нужно заключать в text:p?
PM MAIL WWW ICQ   Вверх
ratzko
Дата 12.9.2007, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

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



Здесь нужно заключать в text:p "Before you can start the installation"  и "If X is not otherwise required, you can also use some other virtual X server.". 



"or newer. You can download this at"  заключен в <list></list> поэтому его не надо заключать в text:p.

Это сообщение отредактировал(а) ratzko - 12.9.2007, 16:06
PM MAIL   Вверх
Shedar
Дата 13.9.2007, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Примерно так?
Код

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:text="http://shedar.info/category/docs/xml/">

<xsl:template match="/">
<html><body><xsl:apply-templates /></body></html>
</xsl:template>

<xsl:template match="/text/text()" >
<text:p><xsl:value-of select="." /></text:p>
</xsl:template>

<xsl:template match="/text/*" >
<xsl:copy-of select="." />
</xsl:template>

</xsl:stylesheet>

PM MAIL WWW ICQ   Вверх
ratzko
Дата 13.9.2007, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

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



Спасибо все работает! 

Хотелось бы еще спросить как использовать RegExp в xsl? Где об этом можно почитать? 

Как например из screenshots/introduction/application_frame.png получить application_frame.png?
PM MAIL   Вверх
Shedar
Дата 13.9.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Поддержка регулярных выражений появилась в спецификации xslt версии 2.0. Тогда если например screenshots/introduction/application_frame.png будет в атрибуте href, получить application_frame.png можно следующим способом:
Код

<xsl:value-of select="replace(@href,'.*/','')" />

и не забыть указать что используется xslt 2.0 
Код

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


Из XSLT-процессоров подерживающих XSLT 2.0 могу назвать Saxon.

Еще вроде есть различные расширения под некоторые процессоры, но точно не скажу. 
PM MAIL WWW ICQ   Вверх
ratzko
Дата 13.9.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

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



Mne vqdaet sledujuwuju owibku: "Error! Error checking type of the expression 'funcall(replace, [step("attribute", 43), literal-expr(.*/), literal-expr()])'."? 
PM MAIL   Вверх
Shedar
Дата 13.9.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Значит используется xslt-процессор, не поддерживающий xslt 2.0
PM MAIL WWW ICQ   Вверх
ratzko
Дата 13.9.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

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



У меня есть следующий Ant task:
 
Код

<xslt style="${manual.src}" 
                classpath="${saxon8.classpath}" 
                in="${index.src}" out="${content.dest}"
            processor="net.sf.saxon.Transform">

        </xslt>


Mne vqdaet owibku: "java.lang.ClassCastException: net.sf.saxon.Transform"
4to sdes' ne tak?
PM MAIL   Вверх
ratzko
Дата 14.9.2007, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

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



Na s4et pervogo voprosa. Ja delaju sledujuwim obrazom:

Код

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:text="http://shedar.info/category/docs/xml/">

<xsl:template match="/">
      <html><body>
              <xsl:apply-templates select="/text/text()"/>
      <xsl:apply-templates select="/text/*"/>
</body></html>
</xsl:template>

<xsl:template match="/text/text()" >
<text:p><xsl:value-of select="." /></text:p>
</xsl:template>

<xsl:template match="/text/*" >
      <xsl:apply-templates />
</xsl:template>

</xsl:stylesheet>


Text u menja preabrazuet, a k tegam template ne primenjaet! V 4em u menja owibka?
PM MAIL   Вверх
Shedar
Дата 14.9.2007, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(ratzko @  14.9.2007,  10:18 Найти цитируемый пост)
 Ja delaju sledujuwim obrazom:

Чем не устраивает приведенный мною вариант? По внесенным изменениям не совсем понял чего вы пытались достичь.

Цитата(ratzko @  13.9.2007,  15:00 Найти цитируемый пост)
У меня есть следующий Ant task:

Позже посмотрю отпишусь
PM MAIL WWW ICQ   Вверх
ratzko
Дата 17.9.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

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



S pervqm razobralsja!

A vot esli vq mogli privesti primer s Ant'om bql bq o4en' blagodaren!

Spasibo za pomow'!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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