powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xml -> html
7 сообщений из 7, страница 1 из 1
xml -> html
    #38787573
neharon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Никак не могу справиться с преобразованием:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<paragraph>
    Начало параграфа 1
    <bold>
        Жирный 1
     </bold>
    Конец параграфа 1
</paragraph>
<paragraph>
    Начало параграфа 2
    <bold>
        Жирный 2
     </bold>
    Конец параграфа 2
</paragraph>


Надо получить html
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<p>
    Начало параграфа 1
    <b>
        Жирный 1
     </b>
    Конец параграфа 1
</p>
<p>
    Начало параграфа 2
    <b>
        Жирный 2
     </b>
    Конец параграфа 2
</p>


Подскажите, пожалуйста. Поиском не нашлось, может плохо искал. И огромное спасибо заранее
...
Рейтинг: 0 / 0
xml -> html
    #38787580
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neharonНикак не могу справитьсяНеужели было больше нуля попыток? Покажите ваши результаты.
...
Рейтинг: 0 / 0
xml -> html
    #38787590
neharon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,
На самом деле исходный xml более сложный, с большим количеством вложений, там и италик и подчеркивание и прочие радости. Я тут сильно упростил, поэтому xslt тоже надо переделывать под упрощённый вариант.
Если без этого никак нельзя - переделаю конечно, но чуть позже. Сейчас убегаю.
...
Рейтинг: 0 / 0
xml -> html
    #38787715
neharon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот мои потуги:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<xsl:template match="/">
		<xsl:apply-templates select="document"/>
	</xsl:template>
	
	<xsl:template match="document">
		<html>
			<head>
				<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
				<title>test</title>
			</head>
			<body>
				<xsl:apply-templates select="paragraph"/>
			</body>
		</html>
	</xsl:template>
	
	<xsl:template match="paragraph">
		<p>
			<xsl:for-each select="text()">
				<xsl:value-of select="."/>
			</xsl:for-each>
			<xsl:apply-templates select="bold"/>
		</p>
	</xsl:template>
	
	<xsl:template match="bold">
		<b>
			<xsl:value-of select="text()"/>
		</b>
	</xsl:template>
</xsl:stylesheet>


в результате то что должно быть жирным уехало в конец параграфов:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
<html>
<HEAD>
<TITLE>test</TITLE>
<META content="text/html; charset=utf-8" http-equiv=Content-Type></HEAD>
<BODY>
<P>Начало параграфа 1 Конец параграфа 1 <B>Жирный 1 </B></P>
<P>Начало параграфа 2 Конец параграфа 2 <B>Жирный 2 </B></P></BODY>
</html>
...
Рейтинг: 0 / 0
xml -> html
    #38787751
neharon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение найдено.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<xsl:template match="/">
		<xsl:apply-templates select="document"/>
	</xsl:template>
	
	<xsl:template match="document">
		<html>
			<head>
				<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
				<title>test</title>
			</head>
			<body>
				<xsl:apply-templates select="paragraph"/>
			</body>
		</html>
	</xsl:template>
	
	<xsl:template match="paragraph">
		<p>
			<xsl:apply-templates/>
		</p>
	</xsl:template>
	
	<xsl:template match="bold">
		<b>
			<xsl:value-of select="text()"/>
		</b>
	</xsl:template>
</xsl:stylesheet>


Я новичок в этом деле, поэтому с благодарностью приму любые замечания и комментарии, если у кого есть.
...
Рейтинг: 0 / 0
xml -> html
    #38787758
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neharonЯ новичок в этом деле, поэтому с благодарностью приму любые замечания и комментарии, если у кого есть.Заменить
neharon
Код: xml
1.
2.
3.
4.
5.
<xsl:template match="bold">
		<b>
			<xsl:value-of select="text()"/>
		</b>
	</xsl:template>

на
Код: xml
1.
2.
3.
4.
5.
<xsl:template match="bold">
		<b>
			<xsl:apply-templates/>
		</b>
	</xsl:template>
...
Рейтинг: 0 / 0
xml -> html
    #38787766
neharon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, уже пришлось так сделать самому, т.к. уровней вложенности много, и всякие жирности италики, подчеркивания, зачеркивания, верхние/нижние индексы и т.д. почти произвольно бывают друг в друга вложены до хз какого уровня.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xml -> html
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]