In muenchian grouping, why shoud I go for generate-id when I can use the key directly?
===

My input xml file is as follws:

    <root>
      <Property>
        <Name>Jack</Name>
        <Color>red.green</Color>    
      </Property>
      <Property>
        <Name>Jill</Name>
        <Color>red.blue</Color>    
      </Property>
      <Property>
        <Name>Jim</Name>
        <Color>red.orange</Color>    
      </Property>
      <Property>
        <Name>Tom</Name>
        <Color>black.brown</Color>    
      </Property>
      .
      .
      . 
      <Property>
        <Name>Tom</Name>
        <Color>white</Color>    
      </Property>
    </root>

In XSLT 1.0 I want to select all Property elements whose <Color> element values before . are same and make the identical values before . as one record.

Examples (using sample sub input files)
1) input.xml

        <root>
          <Property>
            <Name>Jack</Name>
            <Color>red.green</Color>    
          </Property>
          <Property>
            <Name>Jill</Name>
            <Color>red.blue</Color>    
          </Property>
          <Property>
            <Name>Jim</Name>
            <Color>red.orange</Color>    
          </Property>             
        </root>
sample sub output.xml

    <red>
      <green>Jack<green>
      <blue>Jill<blue>
      <orange>Jim<orange>      
    <red>

2)  input.xml

        <root>
          <Property>
            <Name>Jack</Name>
            <Color>red.green</Color>    
          </Property>
          <Property>
            <Name>Jill</Name>
            <Color>green.orange</Color>    
          </Property>
          <Property>
            <Name>Jim</Name>
            <Color>orange.red</Color>    
          </Property>
          <Property>
            <Name>Ted</Name>
            <Color>brown</Color>    
          </Property>     
        </root>
sample sub output.xml

    <red>
      <green>Jack</green>
    </red>
    <green>
      <orange>Jill<orange> 
    </green>   
    <orange> 
      <red>Jim</red>
    </orange> 
    <brown>Ted</brown>
