Вот что я пытаюсь сделать: у меня есть список факультетов, в каждом из которых есть список факультетов.Я хочу отобразить весь список отделов, отсортированный по названию отдела, но с указанием факультета.
XML выглядит так:
<Faculties>
<Faculty Name="Science">
<Department name="dept2">
<head>Mr X</head>
<building>A Block</building>
etc...
</Department>
<Department name="dept3">
<head>Mr X</head>
<building>B Block</building>
etc...
</Department>
</Faculty>
<Faculty Name="Education">
<Department name="dept1">
<head>Mr Y</head>
<building>C Block</building>
etc...
</Department>
</Faculty>
</Faculties>
XSLT выглядит примерно так: (IЯ упростил XSLT в целях пояснения.)
<xsl:for-each select="Faculties">
<xsl:sort select="DepartmentName">
<xsl:for-each select="Departments">
<xsl:element name="div">
<xsl:attribute name="id"><xsl:value-of select="facultName"></xsl:attribute>
<h3><xsl:value-of select="deptName"> - <xsl:value-of select="facultName"></h3>
//More stuff here
</xsl:element>
</xsl:for-each>
</xsl:for-each>
Мне бы хотелось, чтобы выходные данные выглядели так:
Dept1 (Education)
Head: Mr Y
Building: C Block
Dept2 (Science)
Head: Mr X
Building: A Block
Dept3 (Science)
Head: Mr X
Building: B Block
Где они отсортированы по названию отдела.
Я также хочу иметь возможность скрыть все отделы от определенного факультета, используя Javascript, то есть скрыть все div, которые имеют определенный факультет в id.
Я даже не уверен, что я пытаюсьвозможно (или логично).Мой единственный другой вариант - это создание совершенно нового списка кафедр с преподавательским составом в качестве одного из элементов.Тогда мне нужен только один для каждого.К сожалению, я не могу реально контролировать, как генерируется XML, поэтому я надеюсь, что смогу сделать это таким образом.
Я ценю любую помощь.Спасибо!