powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / HELP!!!
8 сообщений из 8, страница 1 из 1
HELP!!!
    #34927393
Фотография Extremist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые Гуру XML и XSL

Подскажите как мне вытащить на из:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="foreach.xsl" ?>
<customers>
MAIN BLAH
<customer>
blah blah blah
<name>John Smith</name>
<name>123 Oak St.</name>
<name>WA</name>
<name>(206) 123-4567</name>
</customer>
<customer>
blah blah blah
<name>Zack Zwyker</name>
<name>368 Elm St.</name>
<name>WA</name>
<name>(206) 423-4537</name>
</customer>
<customer>
blah blah blah
<name>Albert Aikens</name>
<name>368 Elm St.
</name>
<name>WA</name>
<name>(206) 423-4537</name>
</customer>
<customer>
blah blah blah
<name>Albert Gandy</name>
<name>6984 4th St.</name>
<name>WA</name>
<name>(206) 433-4547</name>
</customer>
<customer>
blah blah blah
<name>Peter Furst</name>
<name>456 Pine Av.</name>
<name>CA</name>
<name>(209) 765-4321</name>
</customer>
<customer>
blah blah blah
<name>Dan Russell</name>
<name>9876 Main St.</name>
<name>PA</name>
<name>(323) 321-7654</name>
</customer>
</customers>

этих самых костомеров имена и все остальное??
а ещё по каждому "blah blah blah" и из корневого "MAIN BLAH"???

заранее благодарен
...
Рейтинг: 0 / 0
HELP!!!
    #34927471
Фотография Extremist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавть, что :

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

<xsl:template match="/">
<HTML>
<BODY>
<TABLE>
<xsl:for-each select="customers/customer">
<TR>
<TD><xsl:value-of select="name" /></TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>

</xsl:stylesheet>

возвращает только первый элемент б остальные жёстко игнорируются
...
Рейтинг: 0 / 0
HELP!!!
    #34927482
Shifty_MFG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
используй что-то типо:
<xsl:for-each select="name">
<xsl:value-of select="."/><br/>
</xsl:for-each>

для всех бла тоже)
...
Рейтинг: 0 / 0
HELP!!!
    #34927590
Фотография Extremist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо, на этом примере получилось очень даже хорошо, но вот в рабочем что то не клеится :(
...
Рейтинг: 0 / 0
HELP!!!
    #34927604
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shifty_MFGиспользуй что-то типо:
<xsl:for-each select="name">...
Опять 25, ИМХО, пора уже в заголовке форума писать, что - "не используйте <xsl:for-each ... там, где он нахрен не нужен!!!".
Насколько все становится проще и понятнее, когда чел. наконец-то осознает, что XSLT это не язык программирования, а - язык шаблонов:
Код: plaintext
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.
<xsl:template match="/">
	<xsl:apply-templates select="customers" />
</xsl:template>

<xsl:template match="customers">
	<HTML>
		<BODY>
			<TABLE border="1" >
			<TH colspan="100"><xsl:value-of select="text()" /></TH>
				<xsl:apply-templates select="customer" />
			</TABLE>
		</BODY>
	</HTML>
</xsl:template>

<xsl:template match="customer">
	<TR><TD><xsl:value-of select="text()" /></TD>
		<xsl:apply-templates select="name" />
	</TR>
</xsl:template>

<xsl:template match="name">
	<TD border="1">
		<xsl:value-of select="." />
	</TD>
</xsl:template>
И все-е-е-е-е...
...
Рейтинг: 0 / 0
HELP!!!
    #34927633
Фотография Extremist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обезвреженный боевой приблизительно тако :

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='XSL.xsl'?>
<test-specification>
<plug-in>
some info
<test>
some info about test
<environments>
<environment>
environment1
</environment>
<environment>
environment2
</environment>
<environment>
environment3
</environment>
</environments>
<steps>
<step>
step1
</step>
<step>
step2
</step>
</steps>
</test>
<test>
some info about test
<environments>
<environment>
environment1
</environment>
<environment>
environment2
</environment>
<environment>
environment3
</environment>
</environments>
<steps>
<step>
step1
</step>
<step>
step2
</step>
</steps>
</test>
</plug-in>
</test-specification>

проблемма в том, что он не видит environment1 ... и step1 ...
Никак не могу понять что ему не нравится
...
Рейтинг: 0 / 0
HELP!!!
    #34927651
Фотография Extremist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XSL к нему то же немного урезан тако:

<?xml version="1.0" encoding="utf-8"?>

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

<xsl:template match="/">
<html>
<body>
<br />
<xsl:value-of select="test-specification/plug-in"/>
<br />
<br />
<ol>
<xsl:for-each select="test-specification/plug-in/test">
<li >
<strong>
Description<br />
</strong>
<xsl:value-of select="string(test-specification/plug-in/test)"/>
<br />
<br /><strong>Enviorments</strong>
<br />
<ul style="list-style-type: disc">
<xsl:for-each select="environments/environment">
<li>
<xsl:for-each select="environment">
<xsl:value-of select="."/>
</xsl:for-each>
</li>
</xsl:for-each>
</ul>
<br />
<table title="steps" border="1" width="620" style="border-left-color: #000080; border-bottom-color: #000080; border-top-style: solid; border-top-color: #000080; border-right-style: solid; border-left-style: solid; border-right-color: #000080; border-bottom-style: solid" cellspacing="0">
<tr align="left" style="background-color:#000080" >
<td style="height: 23px; font-weight: bold; color: white; width: 305px; border-right: #000080 1px solid; border-top: #000080 1px solid; border-left: #000080 1px solid; border-bottom: #000080 1px solid;" >Step</td>
<td style="height: 23px; font-weight: bold; color: white; width: 305px; border-right: #000080 1px solid; border-top: #000080 1px solid; border-left: #000080 1px solid; border-bottom: #000080 1px solid;" >Description</td>
<td style="height: 23px; font-weight: bold; color: white; border-right: #000080 1px solid; border-top: #000080 1px solid; border-left: #000080 1px solid; width: 305px; border-bottom: #000080 1px solid;">Result</td>
</tr>
<xsl:for-each select="steps/step">
<tr>

<td style="height: 23px; border-right: #000080 1px solid; border-top: #000080 1px solid; border-left: #000080 1px solid; border-bottom: #000080 1px solid; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; width: 129px; padding-top: 0px;" align="center">
<xsl:number/>
</td>
<td style="height: 23px; border-right: #000080 1px solid; border-top: #000080 1px solid; border-left: #000080 1px solid; border-bottom: #000080 1px solid; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; width: 129px;">
<!-- <xsl:value-of select="step"/>Step-->
<xsl:for-each select="step">
<xsl:value-of select="."/>
</xsl:for-each>
</td>
<td style="height: 23px; border-right: #000080 1px solid; border-top: #000080 1px solid; border-left: #000080 1px solid; border-bottom: #000080 1px solid; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; width: 129px;">
test
</td>
</tr>
</xsl:for-each>
</table>
<br />
<br />
</li>
</xsl:for-each>
</ol>
</body>
</html>
</xsl:template>

</xsl:stylesheet>
...
Рейтинг: 0 / 0
HELP!!!
    #34927740
Фотография Extremist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О Великий qu-qu !!!

Восхаление Тебе, ибо правду глаголил!!!

Спасибо. всё заработало как надо :)

P.S. Ваш совет Shifty_MFG То же был очень кстати

Большое спасибо :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / HELP!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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