這是https://stackoverflow.com/questions/5823938/overcoming-unclosed-tags-in-xsl分組項與XSL 1.0
的後續問題線程這是一個下拉菜單基於SharePoint列表上。菜單項可以隨機添加到列表中,頁面類型/頁面分組字段確定它們在菜單中的位置。
我無法獲得原始問題中提出的涉及「遞歸兄弟」的解決方案,因此提出了一種可行的解決方法,但我確定可以使用一些簡化。
我現在正在做的是指定頁面組,以確保子頁面與正確的父頁面一起進行。缺點是我必須指定每個頁面組。問題是如何讓xsl以編程方式識別父頁面(類型1)及其子頁面(類型2),而無需指定它們是什麼? 「linktitle」元素是頁面組編號,因此必須爲每個頁面重複。
我想我正在尋找一些東西,將每個項目與相同的頁面組編號進行分組,無論這些內容是什麼。我只能訪問xsl 1.0。
XML
<Root>
<Schema>
<Field Type="Text" DisplayName="Page url" Required="FALSE" MaxLength="255" Name="Page_x0020_url"/>
<Field Type="Text" DisplayName="Page title" Required="FALSE" MaxLength="255" Name="Page_x0020_title"/>
<Field ReadOnly="TRUE" Type="Computed" Name="LinkTitle" DisplayName="Page group number"/>
<Field Type="Text" DisplayName="Page number" Required="FALSE" MaxLength="255" Name="Page_x0020_number"/>
<Field Type="Choice" DisplayName="Page type" Required="FALSE" Format="RadioButtons" FillInChoice="FALSE" Name="Page_x0020_type">
<Default>2</Default>
<CHOICES>
<CHOICE>1</CHOICE>
<CHOICE>2</CHOICE>
</CHOICES>
</Field>
</Schema>
<Data ItemCount="1">
<Row Page_x0020_url="" Page_x0020_title="" LinkTitle="" Page_x0020_number="" Page_x0020_type=""/>
</Data>
</Root>
XSL
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/">
<!-- Render contents -->
<ul id ="navbar" class="">
<li>
<xsl:for-each select="//Data/Row">
<xsl:if test="./@LinkTitle = 1">
<xsl:if test="./@Page_x0020_type = 1">
<a href="{./@Page_x0020_url}">
<xsl:value-of select = "./@Page_x0020_title" />
</a>
</xsl:if></xsl:if></xsl:for-each>
<ul>
<xsl:for-each select="//Data/Row">
<xsl:sort select="./@Page_x0020_number" data-type="number"/>
<xsl:if test="./@LinkTitle = 1">
<xsl:if test="./@Page_x0020_type = 2">
<li>
<a href="{@Page_x0020_url}">
<xsl:value-of select = "@Page_x0020_title" />
</a></li>
</xsl:if></xsl:if></xsl:for-each>
</ul>
</li>
<!---REPEAT ABOVE FOR EACH PAGE GROUP-->
</ul>
</xsl:template>
</xsl:stylesheet>G
你忘了解釋幾乎所有的事情 - 爲什麼人們甚至應該猜測?不要說因缺少縮進而導致XML和代碼不可讀。不要說沒有想要的產出,也沒有給出解釋什麼是轉換的期望屬性。失敗! –
@ Dimitre-對不起,解釋是在我連接到的問題中,但我擴展了我在這裏尋找的東西。 – matt
在上面的輸入中應用的變換會生成一個空列表。你正在談論頁面類型和頁面組,假設有人能夠理解你的意思。我讀了這個問題4次,但仍然沒有得到你所要求的。 –