[xquery-talk] Xquery+ reduce two docs into one
Sebastian
sebi-hinterwaelder at gmx.de
Sat Jan 13 01:15:38 PST 2007
JAR> That's strange, I got the right results when I ran his solution. Are
JAR> you sure you updated the filenames properly?
Actually I am very sorry, if it was not so clear what I wanted to
achieve with my query. Maybe it was a big mistake not to post the
whole docs.
So I have put together again the overall document I want to get by the
query:
<FF>
<meta>
<Value1>70.0mm</Value1>
<Value2>8.0</Value2>
<FileName>file11</FileName>
</meta>
<meta>
<Value1>55.0mm</Value1>
<Value2>6.3</Value2>
<FileName>file12</FileName>
</meta>
<meta>
<Value1>6.13mm</Value1>
<Value2>5.6</Value2>
<FileName>file6</FileName>
</meta>
<meta>
<Value1>5.7mm</Value1>
<Value2>4.9</Value2>
<FileName>file2</FileName>
</meta>
<meta>
<Value1>6.0mm</Value1>
<Value2>4.9</Value2>
<FileName>file3</FileName>
</meta>
<meta>
<Value1>7.90mm</Value1>
<Value2>4.0</Value2>
<FileName>file1</FileName>
</meta>
<meta>
<Value1>10.0mm</Value1>
<Value2>4.0</Value2>
<FileName>file10</FileName>
</meta>
<meta>
<Value1>5.7mm</Value1>
<Value2>2.9</Value2>
<FileName>file4</FileName>
<FileName>file5</FileName>
</meta>
<meta>
<Value1>7.90mm</Value1>
<Value2>2.8</Value2>
<FileName>file7</FileName>
<FileName>file8</FileName>
<FileName>file9</FileName>
<FileName>file14</FileName>
<FileName>file15</FileName>
<FileName>file16</FileName>
<FileName>file17</FileName>
<FileName>file18</FileName>
<FileName>file19</FileName>
</meta>
<meta>
<Value1>12.0mm</Value1>
<Value2>16.0</Value2>
<FileName>file13</FileName>
</meta>
</FF>
And maybe the overall input docs:
doc1:
<FNumber>
<meta>
<Value2>8.0</Value2>
<FileName>file11</FileName>
</meta>
<meta>
<Value2>6.3</Value2>
<FileName>file12</FileName>
</meta>
<meta>
<Value2>5.6</Value2>
<FileName>file6</FileName>
</meta>
<meta>
<Value2>4.9</Value2>
<FileName>file2</FileName>
<FileName>file3</FileName>
</meta>
<meta>
<Value2>4.0</Value2>
<FileName>file1</FileName>
<FileName>file10</FileName>
</meta>
<meta>
<Value2>2.9</Value2>
<FileName>file4</FileName>
<FileName>file5</FileName>
</meta>
<meta>
<Value2>2.8</Value2>
<FileName>file7</FileName>
<FileName>file8</FileName>
<FileName>file9</FileName>
<FileName>file14</FileName>
<FileName>file15</FileName>
<FileName>file16</FileName>
<FileName>file17</FileName>
<FileName>file18</FileName>
<FileName>file19</FileName>
</meta>
<meta>
<Value2>16.0</Value2>
<FileName>file13</FileName>
</meta>
</FNumber>
and doc2:
<FocalLength>
<meta>
<Value1>70.0mm</Value1>
<FileName>file11</FileName>
</meta>
<meta>
<Value1>7.90mm</Value1>
<FileName>file1</FileName>
<FileName>file7</FileName>
<FileName>file8</FileName>
<FileName>file9</FileName>
<FileName>file14</FileName>
<FileName>file15</FileName>
<FileName>file16</FileName>
<FileName>file17</FileName>
<FileName>file18</FileName>
<FileName>file19</FileName>
</meta>
<meta>
<Value1>6.13mm</Value1>
<FileName>file6</FileName>
</meta>
<meta>
<Value1>6.0mm</Value1>
<FileName>file3</FileName>
</meta>
<meta>
<Value1>55.0mm</Value1>
<FileName>file12</FileName>
</meta>
<meta>
<Value1>5.7mm</Value1>
<FileName>file2</FileName>
<FileName>file4</FileName>
<FileName>file5</FileName>
</meta>
<meta>
<Value1>12.0mm</Value1>
<FileName>file13</FileName>
</meta>
<meta>
<Value1>10.0mm</Value1>
<FileName>file10</FileName>
</meta>
</FocalLength>
So I have printed it manually now, I hope there is no mistake in it. As you see for example
<FileName>file2</FileName> in the result document is together with
Value1: 5.7mm and Value2: 4.9. So the query should filter that these
values are only conform to "file2"and not to "file3" for example. I
hope you better understand it now. But as long as I can understand the
code that you posted me it tries to print out something as I wanted
it.
@James : I also tried your last code with the collection function, it
throwed out this:
<FF>
<meta>
<Value1>70.0mm</Value1>
<Value1>7.90mm</Value1>
<Value1>6.13mm</Value1>
<Value1>6.0mm</Value1>
<Value1>55.0mm</Value1>
<Value1>5.7mm</Value1>
<Value1>12.0mm</Value1>
<Value1>10.0mm</Value1>
<FileName>file11</FileName>
<FileName>file1</FileName>
<FileName>file7</FileName>
<FileName>file8</FileName>
<FileName>file9</FileName>
<FileName>file14</FileName>
<FileName>file15</FileName>
<FileName>file16</FileName>
<FileName>file17</FileName>
<FileName>file18</FileName>
<FileName>file19</FileName>
<FileName>file6</FileName>
<FileName>file3</FileName>
<FileName>file12</FileName>
<FileName>file2</FileName>
<FileName>file4</FileName>
<FileName>file5</FileName>
<FileName>file13</FileName>
<FileName>file10</FileName>
</meta>
</FF>
@David I tried it also the other way round with changing the docs
names, but still doesn't work
So again thanks for your help.
Sebastian
More information about the talk
mailing list