У меня есть HTML-документ, который использовал неупорядоченный список для отображения навигации. Когда он выводится как XML, он больше не использует список, а вместо этого присваивает каждой ссылке <Description>
. Способ работы описания заключается в том, что основным ссылкам присваиваются номера, такие как 100, 200, 300, 400 и т. Д. Субнавигационные ссылки из них назначаются следующим образом: 200.100, 200.200, 200.300 и т. Д.
XML выглядит следующим образом:
<Items>
<PgIndexElementItem>
<Description>100</Description>
<Title>This is the Title</Title>
</PgIndexElementItem>
<PgIndexElementItem>
<Description>200</Description>
<Title>This is the Title</Title>
</PgIndexElementItem>
<PgIndexElementItem>
<Description>200.100</Description>
<Title>This is the Title</Title>
</PgIndexElementItem>
<PgIndexElementItem>
<Description>200.100.100</Description>
<Title>This is the Title</Title>
</PgIndexElementItem>
</Items>
Если вы посмотрите на последний PgIndexElementItem, есть три набора чисел.
Я пытаюсь воссоздать неупорядоченный список, используя XSLT. Это то, что я делал до сих пор:
<ul>
<xsl:for-each select="//PgIndexElementItem">
<xsl:if test="not(contains(Description, '.'))">
<li><a href="{ResolvedURL/ServerRelative}"><xsl:value-of select="Title"/></a>
<ul>
<xsl:for-each select="//PgIndexElementItem">
<xsl:if test="contains(Description, '.')">
<li><a href="{ResolvedURL/ServerRelative}"><xsl:value-of select="Title"/></a></li>
</xsl:if>
</xsl:for-each>
</ul>
</li>
</xsl:if>
</xsl:for-each>
</ul>
Мой вопрос был бы, есть ли способ указать contains(Description
, который нацелен на описания с двумя периодами, как последний PgIndexElementItem выше?
Надеюсь, я объяснил это достаточно хорошо. Я не знаю, как сделать это менее запутанным. Заранее спасибо!
EDIT
o Graduate Program
* How to Apply
* Masters Program
o M.A. Handbook
o FAQs
o Alumni
o Masters Theses
o Sample Thesis Proposals
* M.A. Handbook
* FAQs
* Alumni
* Masters Theses
* Sample Thesis Proposals