[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Keys with duplicates should be simple


Subject: Re: [xsl] Keys with duplicates should be simple
From: Ihe Onwuka <ihe.onwuka@xxxxxxxxx>
Date: Fri, 31 Jan 2014 21:04:35 +0000

Dimitre,

I will not change the way I post to the list.

I am very satisfied with the contributions I get. Your initial
contribution in this instance was particularly helpful.

Thank you.



On Fri, Jan 31, 2014 at 8:49 PM, Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
> Ihe,
>
> Once again, I am trying to raise the problem of how a problem should
> be presented in a non-ambiguous way.
>
> Probably this needs to be placed in the FAQs of the mailing list.
>
>
>
> On Fri, Jan 31, 2014 at 12:36 PM, Ihe Onwuka <ihe.onwuka@xxxxxxxxx> wrote:
>> Dimitre,
>>
>> Thank you for being the first to try out and affirm that the code gave
>> the desired result. It led me to see that my real problem was in my
>> interpretation of the data.
>>
>> Once again I'm grateful, really.
>>
>> Cheers.
>>
>> On Fri, Jan 31, 2014 at 8:16 PM, Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
>>> 1.  There is no source XML document provided.
>>> 2.  It isn't clear if any/all "a" element(s) must be a child of a
>>> "person" element.
>>> 3.  What is "key table" ? I haven't heard of such thing.
>>> 4. No example of the wanted result (that should be produced when the
>>> transformation is applied upon the specific provided source XML
>>> document) is provided.
>>> 5. The xsl:key declaration name "person" is confusing, because what is
>>> matched is an "a" element -- not a "person" element
>>>
>>> This is obviously ambiguous and rather undefined.
>>>
>>> To prevent (wrong) guesses to 1 - 4 above, please enter a
>>> well-defined, unambiguous question.
>>>
>>> Also, please, note that if the solution to a problem is unknown, it is
>>> better *not* to provide any transformation code -- we know in advance
>>> that this code doesn't solve the problem.
>>>
>>>
>>>
>>> On Fri, Jan 31, 2014 at 11:53 AM, Ihe Onwuka <ihe.onwuka@xxxxxxxxx> wrote:
>>>>   <xsl:import href="identity.xsl"/>
>>>>   <xsl:key name="person" match="a" use="@href"/>
>>>>
>>>>   <xsl:template match="person">
>>>>     <duplicate>
>>>>       <xsl:apply-templates select="a[key('person',@href)[
>>>> 2]]"/>
>>>>     </duplicate>
>>>>   </xsl:template>
>>>>
>>>> If it's simple I should be able to describe it simply. Here goes.
>>>>
>>>> Copy all a elements that have more than one entry in the key table
>>>> indexed by their value in the href attribute.
>>>>
>>>> or maybe better.......
>>>>
>>>> Create a key table using the href from each a element and copy all the
>>>> entries that occur more than once in it.
>>>>
>>>>
>>>>
>>>> On Fri, Jan 31, 2014 at 7:34 PM, Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
>>>>> On Fri, Jan 31, 2014 at 11:28 AM, Ihe Onwuka <ihe.onwuka@xxxxxxxxx> wrote:
>>>>>> http://www.biglist.com/lists/lists.mulberrytech.com/xsl-list/archives/201211/msg00170.html
>>>>>>
>>>>>> OP is using XSLT 2. OP only wants to find what things have duplicates.
>>>>>> Thats not a grouping problem, it's a problem that a certain variant of
>>>>>> for-each-group happens to solve but it's not the simplest way of
>>>>>> solving it.
>>>>>
>>>>>  "Things that have duplicates" is exactly what we shouldn't be seeing
>>>>> here -- to ambiguous (things, duplicates).
>>>>>
>>>>> And "simple" is also very subjective. Do you mean "short", or what?
>>>>> Does "simple" also mean efficient? Or should efficiency be of lower
>>>>> priority?
>>>>>
>>>>> As for "Things that have duplicates" -- see this -- just XPath 2 --
>>>>> not even XSLT:
>>>>>
>>>>>
>>>>>      http://stackoverflow.com/a/287360/36305
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Cheers,
>>>>> Dimitre Novatchev
>>>>> ---------------------------------------
>>>>> Truly great madness cannot be achieved without significant intelligence.
>>>>> ---------------------------------------
>>>>> To invent, you need a good imagination and a pile of junk
>>>>> -------------------------------------
>>>>> Never fight an inanimate object
>>>>> -------------------------------------
>>>>> To avoid situations in which you might make mistakes may be the
>>>>> biggest mistake of all
>>>>> ------------------------------------
>>>>> Quality means doing it right when no one is looking.
>>>>> -------------------------------------
>>>>> You've achieved success in your field when you don't know whether what
>>>>> you're doing is work or play
>>>>> -------------------------------------
>>>>> To achieve the impossible dream, try going to sleep.
>>>>> -------------------------------------
>>>>> Facts do not cease to exist because they are ignored.
>>>>> -------------------------------------
>>>>> Typing monkeys will write all Shakespeare's works in 200yrs.Will they
>>>>> write all patents, too? :)
>>>>> -------------------------------------
>>>>> I finally figured out the only reason to be alive is to enjoy it.
>>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Dimitre Novatchev
>>> ---------------------------------------
>>> Truly great madness cannot be achieved without significant intelligence.
>>> ---------------------------------------
>>> To invent, you need a good imagination and a pile of junk
>>> -------------------------------------
>>> Never fight an inanimate object
>>> -------------------------------------
>>> To avoid situations in which you might make mistakes may be the
>>> biggest mistake of all
>>> ------------------------------------
>>> Quality means doing it right when no one is looking.
>>> -------------------------------------
>>> You've achieved success in your field when you don't know whether what
>>> you're doing is work or play
>>> -------------------------------------
>>> To achieve the impossible dream, try going to sleep.
>>> -------------------------------------
>>> Facts do not cease to exist because they are ignored.
>>> -------------------------------------
>>> Typing monkeys will write all Shakespeare's works in 200yrs.Will they
>>> write all patents, too? :)
>>> -------------------------------------
>>> I finally figured out the only reason to be alive is to enjoy it.
>>
>
>
>
> --
> Cheers,
> Dimitre Novatchev
> ---------------------------------------
> Truly great madness cannot be achieved without significant intelligence.
> ---------------------------------------
> To invent, you need a good imagination and a pile of junk
> -------------------------------------
> Never fight an inanimate object
> -------------------------------------
> To avoid situations in which you might make mistakes may be the
> biggest mistake of all
> ------------------------------------
> Quality means doing it right when no one is looking.
> -------------------------------------
> You've achieved success in your field when you don't know whether what
> you're doing is work or play
> -------------------------------------
> To achieve the impossible dream, try going to sleep.
> -------------------------------------
> Facts do not cease to exist because they are ignored.
> -------------------------------------
> Typing monkeys will write all Shakespeare's works in 200yrs.Will they
> write all patents, too? :)
> -------------------------------------
> I finally figured out the only reason to be alive is to enjoy it.


Current Thread
Keywords