有没有可能的解决方法: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