2

我有以下 xml 结构:-

<patent-assignors>
  <patent-assignor>
    <name>VOLPENHEIN, ROBERT A.</name>
    <execution-date>
      <date>19841204</date>
    </execution-date>
  </patent-assignor>
</patent-assignors>

<patent-assignees>
  <patent-assignee>
    <name>PROCTER &amp; GAMBLE COMPANY, THE</name>
    <address-2>A CORP. OF  OHIO</address-2>
    <city>CINCINNATI</city>
    <state>OHIO</state>
  </patent-assignee>
</patent-assignees>

我想返回那些专利转让人姓名不等于专利受让人姓名的记录。但我不想使用 where 子句,因为它会减慢查询速度。我想过滤搜索本身的结果。我怎样才能做到这一点 ?

4

1 回答 1

2

This works for the provided example. Haven't tested with multiple assignees, or explored performance.

/patent[patent-assignors/patent-assignor/name != patent-assignees/patent-assignee/name]

Based on

xdmp:document-insert('/patent.xml',
  <patent>
    <patent-assignors>
      <patent-assignor>
        <name>VOLPENHEIN, ROBERT A.</name>
        <execution-date>
          <date>19841204</date>
        </execution-date>
      </patent-assignor>
    </patent-assignors>
    <patent-assignees>
      <patent-assignee>
        <name>PROCTER &amp; GAMBLE COMPANY, THE</name>
        <address-2>A CORP. OF  OHIO</address-2>
        <city>CINCINNATI</city>
        <state>OHIO</state>
      </patent-assignee>
    </patent-assignees>
  </patent>
)
于 2012-05-10T11:31:22.450 回答