|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.11.2015, 22:38 | #1 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 25
|
Вывод данных с помощью вложенных for-each (xsl)
Всем привет, очень нуждаюсь в вашей помощи!
У меня не получается вывести данные с помощью фильтрации нужным образом. В схеме у меня три элемента: Kafedry, который состоит из двух элементов Kafedra и Prepodavateli. Нужно вывести все кафедры и под каждым список преподавателей этой кафедры. Данные элементы связаны полем id_kaf. Вид должен быть такой: Порядковый номер: 1 Название: Вычислительная техника Заведующий: Иванов Иван Иванович Телефон: 8422908765 Порядковый номер: 1 Фамилия, имя, отчество: Петров Пётр Петрович Номер кафедры: 1 Степень: Доктор технических наук Звание: Профессор Телефон: 89098975634 Дата рождения: 1949-05-29 Порядковый номер: 2 Фамилия, имя, отчество: Сидоров Андрей Алексеевич Номер кафедры: 1 Степень: Кандидат технических наук Звание: Доцент Телефон: 89086719201 Дата рождения: 1985-09-27 Порядковый номер: 2 Название: Измерительно-вычислительные комплексы Заведующий: Алексеев Михаил Иванович Телефон: 86746549876 И так далее. Пробовала многими способами это сделать, но ничего не выходит. Вот например этот вариант (цикл в цикле): Код HTML:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions"> <xsl:output indent="yes"/> <xsl:template match="Kafedry"> <h3><span style="margin-left:35pt">Кафедры и преподаватели</span></h3> <xsl:for-each select="Kafedra" > <span style="margin-left:10pt"><span style="font-style:italic">Порядковый номер: </span></span> <span style="font-weight:bold"><xsl:value-of select="id_kaf"/><br/></span> <span style="margin-left:10pt"><span style="font-style:italic">Название: </span></span> <span style="font-weight:bold"><xsl:value-of select="name_kaf"/><br/></span> <span style="margin-left:10pt"><span style="font-style:italic">Заведующий: </span></span> <xsl:value-of select="zav_kaf"/><br/> <span style="margin-left:10pt"><span style="font-style:italic">Телефон: </span></span> <xsl:value-of select="telefon_kaf"/><br/> <span style="margin-left:10pt"><span style="font-style:italic">Почта: </span></span> <xsl:value-of select="pochta_kaf"/><br/><br/> <xsl:for-each select="../Prepodavateli[@id_kaf=preceding-sibling::Kafedra/@id_kaf]" > <span style="margin-left:10pt"><span style="font-style:italic">Порядковый номер: </span></span> <span style="font-weight:bold"><xsl:value-of select="id_prep"/><br/></span> <span style="margin-left:10pt"><span style="font-style:italic">Фамилия, имя, отчество: </span></span> <span style="font-weight:bold"><xsl:value-of select="name_prep"/><br/></span> <span style="margin-left:10pt"><span style="font-style:italic">Номер кафедры: </span></span> <xsl:value-of select="id_kaf"/><br/> <span style="margin-left:10pt"><span style="font-style:italic">Степень: </span></span> <xsl:value-of select="stepen_prep"/><br/> <span style="margin-left:10pt"><span style="font-style:italic">Звание: </span></span> <xsl:value-of select="zvanie_prep"/><br/> <span style="margin-left:10pt"><span style="font-style:italic">Телефон: </span></span> <xsl:value-of select="telefon_prep"/><br/> <span style="margin-left:10pt"><span style="font-style:italic">Дата рождения: </span></span> <xsl:value-of select="dataRozhd_prep"/><br/><br/> </xsl:for-each> </xsl:for-each> </xsl:template> </xsl:stylesheet> Найдите, пожалуйста, ошибку или предложите другой вариант. Я никак не пойму, почему не правильно P.S. Если нужно, могу прислать файлы. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фильтрация данных при выводе. XSL | guzel20 | Помощь студентам | 0 | 28.11.2015 16:25 |
Вывод данных в word-документ с помощью interop.word | Joose | Общие вопросы .NET | 2 | 22.05.2015 19:17 |
Вывод двумерного массива с помощью класса | IgoreKMaN | Общие вопросы C/C++ | 3 | 28.03.2014 17:39 |
Вывод с помощью ajax | vlad-55 | JavaScript, Ajax | 14 | 02.11.2009 18:37 |
Вывод с помощью STL | _ares_ | Общие вопросы C/C++ | 2 | 19.03.2009 22:06 |