有沒有可能的解決方法:XSL選擇的時候,否則使用?
你可以有兩列,一個標題爲'sign',另一個'post'。但只能顯示實際使用的是什麼? (如果你有400個客戶,那麼簽署的人有<th>
說感嘆Via等在哪裏,如果他們收到的郵寄然後PostID和其他<th>
出現在表中)。
我就是用這個方法:
<th> Sign Via</th>
<th> Sign Name</th>
<th> Sign Address</th>
<th> Sign City</th>
<xsl:for-each select="delivery/sign">
<td><xsl:value-of select="SignVia"/></td>
<td><xsl:value-of select="SignName"/></td>
<td><xsl:value-of select="SignAddress"/></td>
<td><xsl:value-of select="SignCity"/></td></xsl:for-each>
<th> Post ID</th>
<th> Post Date</th>
<th> Post Address</th>
<xsl:for-each select="delivery/post">
<td>
<xsl:value-of select="postID"/>
</td>
<td>
<xsl:value-of select="postDate"/>
</td>
<td>
<xsl:value-of select="postAddress"/>
</td>
</xsl:for-each>
我試圖在一個XSL添加選擇語句:
<xsl:choose>
<xsl:when test="PostID">
<td>
<xsl:value-of select="postID"/>
</td>
<td>
<xsl:value-of select="postDate"/>
</td>
<td>
<xsl:value-of select="postAddress"/>
</td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="SignVia"/></td>
<td><xsl:value-of select="SignName"/></td>
<td><xsl:value-of select="SignAddress"/></td>
<td><xsl:value-of select="SignCity"/></td>
</xsl:for-each>
</xsl:otherwise>
我非常新的XSL和XML,並使用W3教程,讓我通過每個階段,但是我認爲我失去了一些東西,因爲我無法找到一種方法來做到這一點,同時使用
我希望最終的結果會有像下面的東西(我無法發佈圖像因爲我是新的)。 預期結果:
一張表。 表包含有關該產品的大量信息,最後縮小爲客戶將如何收到此項目。 表格將包括客戶詳細信息(地址等),訂單信息和產品規格(全部成功輸入)。但是,似乎當我上傳它顯示信息加上額外的'頭'。
例如: 客戶已經爲他們的物品簽名,它出現'signvia signname'等等。但是它上面還粘住了'postID,postDate',即使它們是空的。
提前歡呼。
編輯: 餘XSL的:
<body>
<th> Customer Name</th>
<th> Number</th>
<th>Address</th>
<xsl:for-each select="customer">
<tr style="color:black; background: #eee;">
<td><xsl:value-of select="CustomerName"/></td>
<td><xsl:value-of select="Number"/></td>
<td><xsl:value-of select="Address"/></td>
</tr>
<th> Post ID</th>
<th>Post Date</th>
<th> Post Address</th>
<xsl:choose>
<xsl:when test="PostID">
<td>
<xsl:value-of select="postID"/>
</td>
<td>
<xsl:value-of select="postDate"/>
</td>
<td>
<xsl:value-of select="postAddress"/>
</td>
</xsl:when>
<xsl:otherwise>
<th> Sign Name</th>
<th> Sign Address</th>
<th> Sign City</th>
<td><xsl:value-of select="SignName"/></td>
<td><xsl:value-of select="SignAddress"/></td>
<td><xsl:value-of select="SignCity"/></td>
</xsl:for-each>
</xsl:otherwise>
<th> ProductN</th>
<th> Quan</th>
<th> Unit </th>
<th> Disc </th>
<xsl:for-each select="productStock/product">
<td><xsl:value-of select="ProductN"/></td>
<td><xsl:value-of select="Quan"/></td>
<td><xsl:value-of select="Amoun"/></td>
<td><xsl:value-of select="Reas"/></td>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
你能發表一個小例子的輸入+這個例子的預期結果嗎? - – 2015-02-09 01:15:27
你是否將你的企圖放在double foreach中,如下所示: // yourattempt // xsl :for-each> xsl:for-each> –
2015-02-09 01:21:38
@ michael.hor257k我已更新,對不起,如果我的解釋過於牽強。我無法上傳圖片! – 2015-02-09 01:27:10