Visualizzazione dei risultati da 1 a 2 su 2

Discussione: file XSLT

  1. #1

    file XSLT

    Ciao a tutti,
    devo creare un file XML partendo da un XML, e passando per un XLST.
    Io mi sono letta la vostra guida, e altre guide, ma non capisco dove sbaglio!!!!
    In sostanza dall'XML di partenza devo estrarmi solo due dati, il resto è tutto fisso!

    Ecco l'XML di partenza:
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <DataOut xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Items>
        <ItemInfo>
          <SheetInfo>
            <IdJob>2</IdJob>
            <ID_Clf>2</ID_Clf>
            <ClfFile>TestZanon</ClfFile>
            <CodeSheet> </CodeSheet>
            <DimX>4000</DimX>
            <DimY>2000</DimY>
            <FileName>TestZanon</FileName>
            <Machine>PLATINO</Machine>
            <MaterialSheet>INOX 2B</MaterialSheet>
            <NumCuts>1</NumCuts>
            <NumIcons>171</NumIcons>
            <NumberSheet>1</NumberSheet>
            <PercScrap>19.551968574523926</PercScrap>
            <TicknessSheet>1</TicknessSheet>
            <TotTimeSheet>2437.77587890625</TotTimeSheet>
            <WeightIcons>51.486740112304688</WeightIcons>
            <WeightSheet>64</WeightSheet>
            <IconFileName>.\DEMO002</IconFileName>
          </SheetInfo>
          <CodIcon>.\DEMO002</CodIcon>
          <CodeCustomer />
          <Deliverydate />
          <DescriptionCustomer />
          <IconFile>C:\NtCam\data\icon\DEMO002</IconFile>
          <MaterialIcon>INOX 2B</MaterialIcon>
          <Note />
          <Order>2013194</Order>
          <ProductionOrder />
          <Qta>171</Qta>
          <Qtl>171</Qtl>
          <TicknessIcon>1</TicknessIcon>
          <TimeCutIcon>10</TimeCutIcon>
          <User />
          <WeightIcon>0.443</WeightIcon>
          <InternalArea>1963.495361328125</InternalArea>
          <ItemArea>37636.50390625</ItemArea>
          <DimRetX>200</DimRetX>
          <DimRetY>200</DimRetY>
        </ItemInfo>
      </Items>
    </DataOut>

    ecco l'XML di arrivo:
    codice:
    <?xml version="1.0"?>
    <infoset> 
    <record> 
    <table name="TDA_FEEDBACK"> 
    	<field name="PROGRESSIVO">@@identity</field> 
    	<field name="TIPO">1</field> 
    	<field name="CAUSALE">5</field> 
    	<field name="STATO">1</field> 
    	<field name="CAUSALEMOV">0</field> 
    	<field name="CAUSALEOPER">0</field> 
    	<field name="NOTELAV"></field> 
    </table> 
    <table name="TDA_DETTFEEDBACK_CONSUNTIVO"> 
    	<field name="RIFPROGRESSIVO">@PROGRESSIVO</field> 
    	<field name="DIPENDENTE">99</field> 
    	<field name="ANNOBOLLA">2013</field> 
    	<field name="NUMEROBOLLA">194</field> 
    	<field name="GIUSTIFICATIVO">1</field> 
    	<field name="NUOVOSTATOFASE">1</field> 
    </table> 
    <table name="TDA_DETTFEEDBACK_TEMPI"> 
    	<field name="RIFPROGRESSIVO">@PROGRESSIVO</field> 
    	<field name="IDRIGA">1</field> 
    	<field name="DATARILEVAMENTO">11/07/2013</field> 
    	<field name="ORARILEVAMENTO">11:39</field> 
    	<field name="TEMPOCONSUNTIVO">10</field> 
    	<field name="STATO">0</field> 
    </table>
    </record>
    </infoset>
    ed ecco l'XSL che ho provato a fare io:
    codice:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="/">
    <infoset>
               
           <record>
            <table name="TDA_FEEDBACK"> 
    	<field name="PROGRESSIVO">2</field> 
    	<field name="TIPO">1</field> 
    	<field name="CAUSALE">5</field> 
    	<field name="STATO">1</field> 
    	<field name="CAUSALEMOV">0</field> 
    	<field name="CAUSALEOPER">0</field> 
    	<field name="NOTELAV"></field> 
    </table> 
    <table name="TDA_DETTFEEDBACK_CONSUNTIVO"> 
    	<field name="RIFPROGRESSIVO">10</field> 
    	<field name="DIPENDENTE">99</field> 
    	<field name="ANNOBOLLA">2013</field> 
    	<field name="NUMEROBOLLA"><xsl:value-of select="ITEMS/ITEMINFO/ORDER"></xsl:value-of></field> 
    	<field name="GIUSTIFICATIVO">1</field> 
    	<field name="NUOVOSTATOFASE">1</field> 
    </table> 
    <table name="TDA_DETTFEEDBACK_TEMPI"> 
    	<field name="RIFPROGRESSIVO">10</field> 
    	<field name="IDRIGA">1</field> 
    	<field name="DATARILEVAMENTO">11/07/2013</field> 
    	<field name="ORARILEVAMENTO">11:39</field> 
    	<field name="TEMPOCONSUNTIVO">10</field> 
    	<field name="STATO">0</field> 
    </table>
    </record>
    
    
    
    </infoset>
     </xsl:template>
    </xsl:stylesheet>
    in sostanza devo tirare fuori il campo ORDER, dividerlo in due e creare annobolla e numerobolla,
    e poi tirare fuori il campo TimeCutIcon e metterlo su TempoConsuntivo.
    Ma mi sono già bloccata al numerobolla, perchè non riesco ad estrarlo neanche tutto intero!!!

    Help me!!

    grazie mille!!


  2. #2
    la mole di errori qui si spreca

    allora prima cosa xslt come quasi tutti i linguaggi è sensibile a maiuscole e minuscole.

    quindi il tuo campo dovrebbe diventare :

    <field name="NUMEROBOLLA">
    <xsl:value-of select="DataOut/Items/ItemInfo/Order"/>
    </field>


    se ti va passa a trovarmi sul mio sito !!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.