Мой XML показан ниже:
<?xml version="1.0" encoding="UTF-8"?>
<JobListing>
<ColumnOrder>
<columnId>4</columnId>
<columnId>2</columnId>
<columnId>5</columnId>
<columnId>1</columnId>
<columnId>3</columnId>
</ColumnOrder>
<Jobs>
<Job>
<title>Java Developer</title>
<code>JAVA</code>
<openings>10</openings>
<location>USA</location>
<duration>6 months</duration>
</Job>
<Job>
<title>.NET Developer</title>
<code>DOTNET</code>
<openings>10</openings>
<location>USA</location>
<duration>6 months</duration>
</Job>
</Jobs>
</JobListing>
У меня есть конкретное требование, чтобы задания были перечислены на странице HTML на основе ColumnOrder
, указанной в XML. Внутри каждый columnId
отображается в столбец, как указано ниже:
- 1 -> Заголовок
- 2 -> Код
- 3 -> отверстия
- 4 -> Местоположение
- 5 -> Продолжительность
В этом случае, например, на странице списка вакансий должны быть перечислены столбцы в следующем порядке - Location, Code, Duration, Title, Openings
. Я ожидаю что-то вроде как объяснено ниже:
<tr>
loop jobs
for each columnorder
if(columnId == 1)
<td>get Title</td>
else if (columnId == 2)
<td>get Code</td>
else if (columnId == 3)
<td>get Openings</td>
else if (columnId == 4)
<td>get Location</td>
else if (columnId == 5)
<td>get Duration</td>
end if
end columnorder
end jobs
</tr>
Как мне добиться этого с помощью XSLT?
Любая помощь или различные идеи / предложения будут с благодарностью.
РЕДАКТИРОВАТЬ: Элементы <Job>
в XML (заголовок, открытия, местоположение, продолжительность, код) не обязательно в том же порядке. На самом деле, в нашей текущей среде он генерируется в порядке возрастания (например, код, продолжительность, местоположение, открытия, заголовок). Как заставить это работать без учета порядка элементов <Job>
?