Mensaje dentro de XML

Responder 
#1 - 24/07/2009 1:44:40 Reporta abuso | Link Permanente
Limon.cl
Fecha de registro: 24/07/2009
0 post en este tema
1 post en xml
1 post en todos los foros
[REQ] Transformar XML-XSL a un XML final

Responder Citar
Necesito de su guia para el siguiente trabajo :

Tengo el XML 
<root>
  <Variables>
    <Variable varid="PruebaValorExterno" modificable="Todos" tipo="ValorUnicoTexto" varglosa="Un valor de prueba" descripcion="El listado de acciones que sera mostrado inicialmente" externa="1" requerido="0"/>
    <Variable varid="TabSeleccionado" modificable="Todos" tipo="ListadoOpciones" varglosa="Tab seleccionado" descripcion="El listado de acciones que sera mostrado inicialmente" externa="0" requerido="0"/>
    <Variable varid="TabsVisibles" modificable="Todos" tipo="OpcionMultiple" varglosa="Tabs Visibles" descripcion="Los tabs mostrados" externa="0" requerido="0"/>
  </Variables>
  <Valores>
    <Valor id="1" glosa="Mayores Alzas" valor="Alzas" orden="0" seleccionado="1" varid="TabSeleccionado" secid="WdgtMovimientosIPSA"/>
    <Valor id="2" glosa="Mayores Bajas" valor="Bajas" orden="1" seleccionado="0" varid="TabSeleccionado" secid="WdgtMovimientosIPSA"/>
    <Valor id="3" glosa="Más Transadas" valor="MasTransadas" orden="2" seleccionado="0" varid="TabSeleccionado" secid="WdgtMovimientosIPSA"/>
    <Valor id="4" glosa="Mayores Alzas" valor="Alzas" orden="0" seleccionado="1" varid="TabsVisibles" secid="WdgtMovimientosIPSA"/>
    <Valor id="5" glosa="Mayores Bajas" valor="Bajas" orden="1" seleccionado="1" varid="TabsVisibles" secid="WdgtMovimientosIPSA"/>
    <Valor id="6" glosa="Más Transadas" valor="MasTransadas" orden="2" seleccionado="0" varid="TabsVisibles" secid="WdgtMovimientosIPSA"/>
  </Valores>
  <Selecciones>
    <Valor valor="LA FLORIDA" seleccionado="1" varid="PruebaValorExterno" secid="WdgtMovimientosIPSA"/>
    <Valor id="1" glosa="Mayores Alzas" valor="Alzas" orden="0" seleccionado="1" varid="TabSeleccionado" secid="WdgtMovimientosIPSA"/>
  </Selecciones>
</root>


Como verán la información esta contenida en 3 grandes Tags y pueden ver las relaciones de pertenencia de Las Selecciones y Valores a las distintas Variables.

Necesito transformar ese XML , creo que la mejor forma sería XSL, al siguiente formato :

<root>
  <Variables>
    <Variable varid="PruebaValorExterno" modificable="Todos" tipo="ValorUnicoTexto" varglosa="Un valor de prueba" descripcion="El listado de acciones que sera mostrado inicialmente" externa="1" requerido="0">
      <Valores>
      </Valores>
      <Selecciones>
        <Valor valor="LA FLORIDA" seleccionado="1" varid="PruebaValorExterno" secid="WdgtMovimientosIPSA"/>
      </Selecciones>
    </Variable>
    <Variable varid="TabSeleccionado" modificable="Todos" tipo="ListadoOpciones" varglosa="Tab seleccionado" descripcion="El listado de acciones que sera mostrado inicialmente" externa="0" requerido="0">
      <Valores>
        <Valor id="1" glosa="Mayores Alzas" valor="Alzas" orden="0" seleccionado="1" varid="TabSeleccionado" secid="WdgtMovimientosIPSA"/>
        <Valor id="2" glosa="Mayores Bajas" valor="Bajas" orden="1" seleccionado="0" varid="TabSeleccionado" secid="WdgtMovimientosIPSA"/>
        <Valor id="3" glosa="Más Transadas" valor="MasTransadas" orden="2" seleccionado="0" varid="TabSeleccionado" secid="WdgtMovimientosIPSA"/>
      </Valores>
      <Selecciones>
        <Valor id="1" glosa="Mayores Alzas" valor="Alzas" orden="0" seleccionado="1" varid="TabSeleccionado" secid="WdgtMovimientosIPSA"/>
      </Selecciones>
    </Variable>
    <Variable varid="TabsVisibles" modificable="Todos" tipo="OpcionMultiple" varglosa="Tabs Visibles" descripcion="Los tabs mostrados" externa="0" requerido="0">
      <Valores>
        <Valor id="4" glosa="Mayores Alzas" valor="Alzas" orden="0" seleccionado="1" varid="TabsVisibles" secid="WdgtMovimientosIPSA"/>
        <Valor id="5" glosa="Mayores Bajas" valor="Bajas" orden="1" seleccionado="1" varid="TabsVisibles" secid="WdgtMovimientosIPSA"/>
        <Valor id="6" glosa="Más Transadas" valor="MasTransadas" orden="2" seleccionado="0" varid="TabsVisibles" secid="WdgtMovimientosIPSA"/>
      </Valores>
    </Variable>
  </Variables>
</root>


Con esto, cuál creen ustedes que sea la mejor forma de hacerlo. Alguien puede plantear un esboso de XSL si esa es la solucion

Muchisimas gracias
Volver arriba