从XSLT开始 - 引用两个SQL表

时间:2015-04-24 14:28:22

标签: sql xml xslt

我是新来的,刚刚开始使用XSLT。由于工作需要,我只有几天的时间,所以我希望这个问题不完全偏离基础。

我正在一个软件中工作,该软件在其模板中需要XSLT,这些模板构建基于触发事件发送的电子邮件。该事件触发发送的电子邮件,XSLT构建电子邮件的内容。

现在,我试图在XSLT中引用两个不同的表。第一个表工作正常。我可以毫无问题地提取内容。第二个表是我遇到问题的地方,它要么没有链接到表,要么不理解要提取什么内容。我假设我需要加入,但我无法找到关于如何在XML中做到这一点的好解释。

Ship_Add1的选择未填充,但所有其他选择都是。我相信我需要加入我可以基于OrderID字段的两个,但我无法找到如何做到这一点......

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" />
  <xsl:template match="/">Dear <xsl:value-of select="//Sqls/CustomerName/Row/FirstName" />    <xsl:value-of select="//Sqls/CustomerName/Row/LastName" />, <br />
  <br />
    <tr>
      <td class="ShipName">Shipping Address:</td>
      <td>
        <xsl:value-of select="//Sqls/DeliveryTentative/Row/Ship_Add1" />
      </td>
    </tr>
</xsl:template>
</xsl:stylesheet>

编辑:

//Sqls/CustomerName/Row/FirstNameLastName工作。我每次都能成功获得那些输出。

问题在于获得//Sqls/DeliveryTentative/Row/Ship_Add1的价值 我确实用SQL格式编写了一个select语句,作为一种只使用SQL的报告机制,并成功引用了表,所以我知道表和列都存在。

我认为问题在于,我需要以某种方式将两个表连接在一起,以便表知道要为Ship_Add1提供什么。我觉得这就是我失败的地方。

编辑:我进行了身份转换并获得了以下内容我试图尽可能地将其分解出来:

272340021581 名姓 JohnDoe@JohnDoe.com JohnDoe@JohnDoe.com 333-333-6666

公司名称

CLIENTNAME

webaddress

32004 329 | MOVED_Planning Fact Sheets1 | ItemFalse

28304 353 | MOVED_Planning情况说明书| 50 | ItemsFalse

74404 362 | MOVED_Planning情况说明书| 50 | ItemsFalse

32004 sdfsdfsdfsdfs

JohnDoe@JohnDoe.com sdfsdf18

邮政编码

asdfsdfsdfsdf

肯塔基州|美国|标准| 4/24/2015 12:05:53 PM4 / 24/2015 12:00:00 AM`

1 个答案:

答案 0 :(得分:0)

我终于在一整天后得到了它......

软件背后有一个可执行的SQL,用于生成XML。对于那些想知道并与XMPIE作斗争的人......

这是消息模板SQL,然后需要通过Number:

链接消息模板

名称:PackingSlip exec ('SELECT Ship_Add1 as Mailstop FROM DeliveryTentative WHERE DeliveryTentative.OrderID = ' +@OrderID)

然后编写XSL语言很简单......

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/">
    <tr>
    <td>Mailstop:<xsl:value-of select="//Sqls/Mailstop/Row/Mailstop" /></td>
    </tr>
</xsl:template>

这显示了邮件停止或“Ship_Add1完美。

非常感谢大家的帮助 - 它确实指出了我正确的方向!这个地方摇滚!