1

我在 Exact Oline 上运行一个生态税应用程序,使用 XML 输出和 XSL 转换来生成 HTML 表单。

像这样的查询:

select * from me

生成:

<?xml version="1.0" encoding="utf-16"?>
<InvantiveDAPOutput xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <!--ecotaksen.be Invantive Data Access Point (Unofficial)-->
  <!--License 'L740757780' registered to Control INFO B.V..-->
  <ResultSets>
    <ResultSet Id="0">
      <Fields>
        <Field>
          <Id>0</Id>
          <Name>CurrentDivision</Name>
          <DatabaseDataType>int32</DatabaseDataTyp...

然后在我的 XSL 中使用例如:

<xsl:value-of select="//InvantiveDAPOutput/ResultSets/ResultSet[@Id='4']/Rows/Row/entity_name_singular" />

但是当我在过程中的某处插入查询时,Id 全部更改。例如 1 仍然是 1,但是新插入的查询之后的数字增加 1。

有没有更聪明的方法可以使 XSL 独立于查询的数量及其顺序?

4

1 回答 1

1

只需将所需的结果集名称添加到您的查询中作为提示:

select /*+ result_set_name('myname') */ * from me

XML 将变为:

<ResultSet Id="0" Name="myname">

您可以在文档中找到执行提示的完整语法。这适用于 Exact Online 以及其他平台,例如 Teamleader 或 salesforce。

于 2017-08-30T14:39:58.187 回答