Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Трансформация XML с помощью XSLTC, Нужна пошаговая инструкция 
:(
    Опции темы
CrasyMen
Дата 11.1.2009, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Допустим, у нас есть:

article.xml
Код

<?xml version="1.0"?>
<ARTICLE>
    <TITLE>A Sample Article</TITLE>
    <SECT>The First Major Section
        <PARA>This section will introduce a subsection.</PARA>
        <SECT>The Subsection Heading
            <PARA>This is the text of the subsection.
            </PARA>
        </SECT>
    </SECT>
</ARTICLE>


и article.xsl
Код

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet
    xmlns:xsl="http://www.w3c.org/1999/XSL/Transform"
    version="1.0"
    >
    <xsl:output method="html"/>
    <xsl:template match="/">
        <html><body>
            <xsl:apply-templates/>
        </body></html>
    </xsl:template>
    <xsl:template match="/ARTICLE/TITLE">
        <h1 align="center"> <xsl:apply-templates/> </h1>
    </xsl:template>
    <xsl:template match="/ARTICLE/SECT">
        <h2> <xsl:apply-templates
            select="text()|B|I|U|DEF|LINK"/> </h2>
        <xsl:apply-templates select="SECT|PARA|LIST|NOTE"/>
    </xsl:template>
    <xsl:template match="/ARTICLE/SECT/SECT">
        <h3><xsl:apply-templates
            select="text()|B|I|U|DEF|LINK"/></h3>
        <xsl:apply-templates select="SECT|PARA|LIST|NOTE"/>
    </xsl:template>
    <xsl:template match="/ARTICLE/SECT/SECT/SECT">
        <xsl:message terminate="yes">
            Error: Sections can only be nested 2 deep.
        </xsl:message>
    </xsl:template>
    <xsl:template match="PARA">
        <p><xsl:apply-templates/></p>
    </xsl:template>
</xsl:stylesheet>


Надо ли мне что-нить докачать с http://xml.apache.org или уже все есть в самом JDK? Поблуждал на http://xml.apache.org и http://java.sun.com но ничего полезного не нашел. 

Буду очень благодарен. Особенно если кто-нить пошагово объяснит что к чему. Можно будет даже в вики закинуть потом.


--------------------
Человек просто обязан ошибаться, раз другие учатся на его ошибках.
[color=skyblue]Хочу сменить ник и сменю как только дадут такую возможность.[/color]
PM MAIL ICQ   Вверх
AxNe0
Дата 11.1.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 24.4.2006
Где: St. Petersburg

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



все нужное есть в jdk, см. классы пакета javax.xml.transform

Добавлено через 4 минуты и 4 секунды
Судя по всему, xsl просто менять вид xml, поэтому, возможно, java и не нужна. Если в xml вставить строку:
Код
<?xml-stylesheet type="text/xsl" href="article.xsl"?>

то в браузере все отобразится как и описывает xsl.


--------------------
SCJP 6, SCBCD 5, OCEWSD 6
blog
PM ICQ Skype   Вверх
CrasyMen
Дата 11.1.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Отрывок из задания:
Цитата

JDK 1.5 came to use the XSLTC compiler instead of the previously utilized Xalan interpreter for XSLT transformations in JAXP. This switch led to XSL processing incompatibilities. For instance XSLTC does not support JS extensions and resolves URIs somewhat differently.

While JDK 1.5 and <%project name%> can still be configured to use Xalan, we need to make sure the XSLT transformations succeed for the default XSLTC-enabled JAXP configuration. 
In <%project name%> XSL transformation is used for project migration from previous <%project name%> version. Now project migration fails with message that there is error in xsl file.

Check the xsl files within the <%project name%> codebase for incompatibilities with XSLTC/JDK 1.5 JAXP. The incompatible files must be copied and these copies must be edited to ensure the successful XSLT run under JDK 1.5 and the results equivalent to those of the originals run under JDK 1.4. The problems could be also in project dependencies. You should fix xsl transformation for migration process. You can use these projects for testing: http://149.75.208.21/SampDB1.zip for the SampDB1 repo and at http://149.75.208.21/slx5.zipfor the slx repo. Transformation should be successful without adding xalan.jar to class path.



Это сообщение отредактировал(а) CrasyMen - 11.1.2009, 17:37


--------------------
Человек просто обязан ошибаться, раз другие учатся на его ошибках.
[color=skyblue]Хочу сменить ник и сменю как только дадут такую возможность.[/color]
PM MAIL ICQ   Вверх
AxNe0
Дата 11.1.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 24.4.2006
Где: St. Petersburg

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



Цитата(AxNe0 @  11.1.2009,  15:49 Найти цитируемый пост)
см. классы пакета javax.xml.transform

так, а чем это не удовлетворяет?


--------------------
SCJP 6, SCBCD 5, OCEWSD 6
blog
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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