In the language of relational algebra, it's a join, not an intersection.
In XSLT, joins are best performed using the key() function. In XSLT 2.0 (or is
it 3.0?) you can define a composite key with multiple fields.
Michael Kay
Saxonica
On 21 May 2020, at 15:17, Roger L Costello costello(_at_)mitre(_dot_)org
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi Folks,
I have a set of Book instances. I call this Set #1. Here are two instances:
<Book>
<Title>ABC</Title>
<Author>John Doe</Author>
<Country>USA</Country>
<Binding>hardcover</Binding>
</Book>
<Book>
<Title>XYZ</Title>
<Author>Mary Sue</Author>
<Country>CAN</Country>
<Binding>hardcover</Binding>
</Book>
I have a set of Music instances. I call this Set #2. Here is one instance:
<Music>
<Genre>Classical</Genre>
<Author>John Doe</Author>
<Country>USA</Country>
<Cost>9.95</Cost>
</Music>
Query: Find the subset of Set #1 that intersects with Set #2 at the <Author>
and <Country> elements.
If Set #1 consists of the two instances shown above and Set #2 consists of
the one instance shown above, then the result of the query is the following:
<Book>
<Title>ABC</Title>
<Author>John Doe</Author>
<Country>USA</Country>
<Binding>hardcover</Binding>
</Book>
That Book instance has an <Author> and <Country> that intersects with the
<Author> and <Country> in the Music instance.
I view this as an intersection problem. However, it is an intersection at
specific fields (the Author and Country fields). Do you view it as an
intersection problem?
If it is viewed as an intersection problem, then is there a nice XPath
expression that does intersection-at-specific-fields?
If it is better viewed not as an intersection problem, then how is it better
viewed? is there a nice XPath expression for that view?
/Roger
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--