• 30-09-2013, 04:50:02
    #1
    Merhaba arkadaşlar

    Google da ve forumda aradım taradım ama günlerdir nerede hata yaptığımı bulamadım bu konuda bana yardımcı olabilirseniz sevinirim.

    Elimde aşağıdaki gibi bir xml dosyası var ve bu xml dosyası ile gelen 2 bine yakın ürünü sitemize entegre edeceğiz ama xsl ile sitemize uygun hale getirmemiz gerekmekte araştırma ve deneme yanılma yöntemi ile baya bir yol kat ettim ancak işlem başlıyor ürünleri çekiyor ama hata olarak görüp kayıt etmiyor.

    XML biçimi
    <URUNLER>
    <URUN>
    <URUN_AD>Emekleyen Bebek Orta Boy 3323-3</URUN_AD>
    <KOD>031003000417</KOD>
    <MARKA>-</MARKA>
    <ACIKLAMA>Ürün Açıklaması</ACIKLAMA>
    <KATEGORI_ID>4</KATEGORI_ID>
    <KATEGORI>Hediyelik</KATEGORI>
    <STOK>1</STOK>
    <KDV>18</KDV>
    <FIYAT>8.80</FIYAT>
    <KDV_HARIC>7.46</KDV_HARIC>
    <AGIRLIK>2.50000000</AGIRLIK>
    <RESIM>http://www.resimyolu....</RESIM>
    <EK_RESIM>
    <RESIM>http://www.resimyolu....</RESIM>
    <RESIM>http://www.resimyolu....</RESIM>
    </EK_RESIM>
    </URUN>
    </URUNLER>
    XSL ile hazırladığım

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
      <xsl:output method="xml" indent="yes" xmlns:xalan="http://xml.apache.org/xslt" xalan:indent-amount="4" encoding="UTF-8" />
    	<xsl:decimal-format name="KDV_HARIC" decimal-separator="," grouping-separator="." />
      <xsl:template match="URUNLER">
        <root>
          <xsl:apply-templates select="URUN" />
        </root>
      </xsl:template>
      <xsl:template match="URUN">
        <URUN>
          <AnaKategori>
                <xsl:value-of select="KATEGORI" />          
          </AnaKategori>    
          <Durumu>
            <xsl:value-of select="Durumu" />
          </Durumu>
          <StokKodu>
            <xsl:value-of select="KOD" />
          </StokKodu>
          <StokAdi>
            <xsl:value-of select="URUN_AD" />
          </StokAdi>  
    
          <Aciklama>
            <xsl:value-of select="Aciklama" />
          </Aciklama>
          <Detay>
            <xsl:value-of select="ACIKLAMA" />
          </Detay>
          <Envanter>
            <xsl:value-of select="STOK" />
          </Envanter>
          <Resim>
            <xsl:value-of select="RESIM" />
          </Resim>
          <MarkaAdi>
            <xsl:value-of select="MARKA" />
          </MarkaAdi>
          <KdvOrani>
            <xsl:value-of select="KDV" />
          </KdvOrani>
          <BirimAdi>
            <xsl:value-of select="BirimAdi" />
          </BirimAdi>      
          <BirimCarpan>
            <xsl:value-of select="BirimCarpan" />
          </BirimCarpan>     
          <HavaleFiyati>
            <xsl:value-of select="HavaleFiyati" />
          </HavaleFiyati>
          <HavaleFiyatiParaBirimi>
            <xsl:value-of select="HavaleFiyatiParaBirimi" />
          </HavaleFiyatiParaBirimi>
          <SatisFiyati1>
            <xsl:value-of select="SatisFiyati1" />
          </SatisFiyati1>
          <SatisFiyati1ParaBirimi>
            <xsl:value-of select="SatisFiyati1ParaBirimi" />
          </SatisFiyati1ParaBirimi>
          <Isk1>
            <xsl:value-of select="Isk1" />
          </Isk1>           
          <SatisFiyati2>
            <xsl:value-of select="SatisFiyati2" />
          </SatisFiyati2>
          <Isk2>
            <xsl:value-of select="Isk2" />
          </Isk2>     
          <SatisFiyati2ParaBirimi>
            <xsl:value-of select="SatisFiyati2ParaBirimi" />
          </SatisFiyati2ParaBirimi>
          <SatisFiyati3>
            <xsl:value-of select="SatisFiyati3" />
          </SatisFiyati3>
          <Isk3>
            <xsl:value-of select="Isk3" />
          </Isk3>
          <SatisFiyati3ParaBirimi>
            <xsl:value-of select="SatisFiyati3ParaBirimi" />
          </SatisFiyati3ParaBirimi>
          <AlisFiyati>
            <xsl:value-of select="KDV_HARIC" />
          </AlisFiyati>
          <AlisFiyatiParaBirimi>
            <xsl:value-of select="AlisFiyatiParaBirimi" />
          </AlisFiyatiParaBirimi>
          <Desi>
            <xsl:value-of select="AGIRLIK" />
          </Desi>      
        </URUN>
      </xsl:template>
    </xsl:stylesheet>
    Yardımlarınız için şimdiden teşekkürler.
  • 30-09-2013, 14:48:44
    #2
    şunu deneyebilir misin

    <?xml version = "1.0" encoding = "utf-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wmh="http://www.wmhelp.com/2003/eGenerator" elementFormDefault="qualified">
      <xs:element name="URUNLER">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="URUN"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="URUN">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="URUN_AD"/>
            <xs:element ref="KOD"/>
            <xs:element ref="MARKA"/>
            <xs:element ref="ACIKLAMA"/>
            <xs:element ref="KATEGORI_ID"/>
            <xs:element ref="KATEGORI"/>
            <xs:element ref="STOK"/>
            <xs:element ref="KDV"/>
            <xs:element ref="FIYAT"/>
            <xs:element ref="KDV_HARIC"/>
            <xs:element ref="AGIRLIK"/>
            <xs:element ref="RESIM"/>
            <xs:element ref="EK_RESIM"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="URUN_AD" type="xs:string"/>
      <xs:element name="KOD" type="xs:string"/>
      <xs:element name="MARKA" type="xs:string"/>
      <xs:element name="ACIKLAMA" type="xs:string"/>
      <xs:element name="KATEGORI_ID" type="xs:string"/>
      <xs:element name="KATEGORI" type="xs:string"/>
      <xs:element name="STOK" type="xs:string"/>
      <xs:element name="KDV" type="xs:string"/>
      <xs:element name="FIYAT" type="xs:string"/>
      <xs:element name="KDV_HARIC" type="xs:string"/>
      <xs:element name="AGIRLIK" type="xs:string"/>
      <xs:element name="RESIM" type="xs:string"/>
      <xs:element name="EK_RESIM">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="RESIM" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  • 30-09-2013, 15:00:36
    #3
    zinan adlı üyeden alıntı: mesajı görüntüle
    şunu deneyebilir misin

    <?xml version = "1.0" encoding = "utf-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wmh="http://www.wmhelp.com/2003/eGenerator" elementFormDefault="qualified">
      <xs:element name="URUNLER">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="URUN"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="URUN">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="URUN_AD"/>
            <xs:element ref="KOD"/>
            <xs:element ref="MARKA"/>
            <xs:element ref="ACIKLAMA"/>
            <xs:element ref="KATEGORI_ID"/>
            <xs:element ref="KATEGORI"/>
            <xs:element ref="STOK"/>
            <xs:element ref="KDV"/>
            <xs:element ref="FIYAT"/>
            <xs:element ref="KDV_HARIC"/>
            <xs:element ref="AGIRLIK"/>
            <xs:element ref="RESIM"/>
            <xs:element ref="EK_RESIM"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="URUN_AD" type="xs:string"/>
      <xs:element name="KOD" type="xs:string"/>
      <xs:element name="MARKA" type="xs:string"/>
      <xs:element name="ACIKLAMA" type="xs:string"/>
      <xs:element name="KATEGORI_ID" type="xs:string"/>
      <xs:element name="KATEGORI" type="xs:string"/>
      <xs:element name="STOK" type="xs:string"/>
      <xs:element name="KDV" type="xs:string"/>
      <xs:element name="FIYAT" type="xs:string"/>
      <xs:element name="KDV_HARIC" type="xs:string"/>
      <xs:element name="AGIRLIK" type="xs:string"/>
      <xs:element name="RESIM" type="xs:string"/>
      <xs:element name="EK_RESIM">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="RESIM" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    Merhaba hocam dediğinizi uyguladım ancak aşağıdaki gibi bir hata aldım.

    Entegrasyonda Hata: Lütfen entegre etmeye çalıştığınız dosyayı kontrol edip tekrar deneyiniz.System.Xml.Xsl.XsltCompileException: XSLT compile error at file:///C:/inetpub/vhosts/ithalurunal.com/httpdocs/uploads/xslt/heithalat_temp.xsl(2,2). See InnerException for details. ---> System.Xml.Xsl.XsltException: Stylesheet must start either with an 'xsl:stylesheet' or an 'xsl:transform' element, or with a literal result element that has an 'xsl:version' attribute, where prefix 'xsl' denotes the 'http://www.w3.org/1999/XSL/Transform' namespace. at System.Xml.Xsl.XsltOld.ContainerAction.CompileSing leTemplate(Compiler compiler) at System.Xml.Xsl.XsltOld.ContainerAction.CompileDocu ment(Compiler compiler, Boolean inInclude) at System.Xml.Xsl.XsltOld.RootAction.Compile(Compiler compiler) at System.Xml.Xsl.XsltOld.Compiler.CreateRootAction() at System.Xml.Xsl.XsltOld.Compiler.Compile(NavigatorI nput input, XmlResolver xmlResolver, Evidence evidence) --- End of inner exception stack trace --- at System.Xml.Xsl.XsltOld.Compiler.Compile(NavigatorI nput input, XmlResolver xmlResolver, Evidence evidence) at System.Xml.Xsl.XslTransform.Compile(XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence) at System.Xml.Xsl.XslTransform.Load(String url, XmlResolver resolver) at System.Xml.Xsl.XslTransform.Load(String url) at cxmlimport.?()
    Entegrasyon Ayarları Kaydedildi : OK

    Dil Ayarları Kaydedildi : OK

    Geçici Dosyalar Silindi : OK

    Dosya İndirildi : OK

    Entegrasyonda Hata: Lütfen entegre etmeye çalıştığınız dosyayı kontrol edip tekrar deneyiniz.System.Xml.Xsl.XsltCompileException: XSLT compile error at file:///C:/inetpub/vhosts/ithalurunal.com/httpdocs/uploads/xslt/heithalat_temp.xsl(2,2). See InnerException for details. ---> System.Xml.Xsl.XsltException: Stylesheet must start either with an 'xsl:stylesheet' or an 'xsl:transform' element, or with a literal result element that has an 'xsl:version' attribute, where prefix 'xsl' denotes the 'http://www.w3.org/1999/XSL/Transform' namespace. at System.Xml.Xsl.XsltOld.ContainerAction.CompileSing leTemplate(Compiler compiler) at System.Xml.Xsl.XsltOld.ContainerAction.CompileDocu ment(Compiler compiler, Boolean inInclude) at System.Xml.Xsl.XsltOld.RootAction.Compile(Compiler compiler) at System.Xml.Xsl.XsltOld.Compiler.CreateRootAction() at System.Xml.Xsl.XsltOld.Compiler.Compile(NavigatorI nput input, XmlResolver xmlResolver, Evidence evidence) --- End of inner exception stack trace --- at System.Xml.Xsl.XsltOld.Compiler.Compile(NavigatorI nput input, XmlResolver xmlResolver, Evidence evidence) at System.Xml.Xsl.XslTransform.Compile(XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence) at System.Xml.Xsl.XslTransform.Load(String url, XmlResolver resolver) at System.Xml.Xsl.XslTransform.Load(String url) at cxmlimport.?()
  • 30-09-2013, 15:24:10
    #4
    peki bir de şunu deneyelim;

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="URUNLER">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="URUN">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="URUN_AD" type="xs:string" />
                  <xs:element name="KOD" type="xs:unsignedLong" />
                  <xs:element name="MARKA" type="xs:string" />
                  <xs:element name="ACIKLAMA" type="xs:string" />
                  <xs:element name="KATEGORI_ID" type="xs:unsignedByte" />
                  <xs:element name="KATEGORI" type="xs:string" />
                  <xs:element name="STOK" type="xs:unsignedByte" />
                  <xs:element name="KDV" type="xs:unsignedByte" />
                  <xs:element name="FIYAT" type="xs:decimal" />
                  <xs:element name="KDV_HARIC" type="xs:decimal" />
                  <xs:element name="AGIRLIK" type="xs:decimal" />
                  <xs:element name="RESIM" type="xs:string" />
                  <xs:element name="EK_RESIM">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element maxOccurs="unbounded" name="RESIM" type="xs:string" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  • 30-09-2013, 15:37:27
    #5
    zinan adlı üyeden alıntı: mesajı görüntüle
    peki bir de şunu deneyelim;

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="URUNLER">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="URUN">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="URUN_AD" type="xs:string" />
                  <xs:element name="KOD" type="xs:unsignedLong" />
                  <xs:element name="MARKA" type="xs:string" />
                  <xs:element name="ACIKLAMA" type="xs:string" />
                  <xs:element name="KATEGORI_ID" type="xs:unsignedByte" />
                  <xs:element name="KATEGORI" type="xs:string" />
                  <xs:element name="STOK" type="xs:unsignedByte" />
                  <xs:element name="KDV" type="xs:unsignedByte" />
                  <xs:element name="FIYAT" type="xs:decimal" />
                  <xs:element name="KDV_HARIC" type="xs:decimal" />
                  <xs:element name="AGIRLIK" type="xs:decimal" />
                  <xs:element name="RESIM" type="xs:string" />
                  <xs:element name="EK_RESIM">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element maxOccurs="unbounded" name="RESIM" type="xs:string" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    Hocam yine hata verdi ö.m ile size ürünleri çektiğim xml nin linkini atıyorum verdiğim xml den bir farkı yok ama yapısı farklı olduğundan belki benim bilmediğim farklı bir işlem yapılması gerekiyordur.
  • 30-09-2013, 18:20:07
    #6
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
      <xsl:output method="xml" indent="yes" xmlns:xalan="http://xml.apache.org/xslt" xalan:indent-amount="4" encoding="UTF-8" />
    	<xsl:decimal-format name="fiyatformat" decimal-separator="." grouping-separator="," />
      <xsl:template match="root">
        <URUNLER>
          <xsl:apply-templates select="URUN" />
        </URUNLER>
      </xsl:template>
      <xsl:template match="URUN">
        <URUN>
          <AnaKategori>AnaKategori</AnaKategori>    
          <Durumu>true</Durumu>
          <StokKodu>
            <xsl:value-of select="KOD" />
          </StokKodu>
          <StokAdi>
            <xsl:value-of select="URUN_AD" />
          </StokAdi>  
          <Aciklama>
            <xsl:value-of select="ACIKLAMA" />
          </Aciklama>
          <Detay> </Detay>
          <Envanter>0</Envanter>
          <Resim>
            <xsl:value-of select="RESIM" />
          </Resim>
          <MarkaAdi>
            <xsl:value-of select="MARKA" />
          </MarkaAdi>
          <KdvOrani>
            <xsl:value-of select="KDV" />
          </KdvOrani>
          <BirimAdi>Adet</BirimAdi>      
          <BirimCarpan>1.00</BirimCarpan>     
          <HavaleFiyati>0.00</HavaleFiyati>
          <HavaleFiyatiParaBirimi>TL</HavaleFiyatiParaBirimi>
          <SatisFiyati1>
            <xsl:value-of select="FIYAT" />
          </SatisFiyati1>
          <SatisFiyati1ParaBirimi>TL</SatisFiyati1ParaBirimi>
          <Isk1>0</Isk1>           
          <SatisFiyati2>
            <xsl:value-of select="FIYAT" />
          </SatisFiyati2>
          <Isk2>0</Isk2>     
          <SatisFiyati2ParaBirimi>TL</SatisFiyati2ParaBirimi>
          <SatisFiyati3>
            <xsl:value-of select="FIYAT" />
          </SatisFiyati3>
          <Isk3>0</Isk3>
          <SatisFiyati3ParaBirimi>
            <xsl:value-of select="FIYAT" />
          </SatisFiyati3ParaBirimi>
          <AlisFiyati>
            <xsl:value-of select="FIYAT" />
          </AlisFiyati>
          <AlisFiyatiParaBirimi>TL</AlisFiyatiParaBirimi>
          <Desi>0</Desi>      
         
        </URUN>
      </xsl:template>
    </xsl:stylesheet>
  • 01-10-2013, 12:16:42
    #7
    Zinan hocamın sayesinde sorun çözülmüştür kendisine çok teşekkür ederim bütün gün boyunca bana yardımcı olduğu için.

    Çözüm yolunu ise aşağıdaki gibi bulduk.
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
      <xsl:output method="xml" indent="yes" xmlns:xalan="http://xml.apache.org/xslt" xalan:indent-amount="4" encoding="UTF-8" />
    	<xsl:decimal-format name="KDV_HARIC" decimal-separator="," grouping-separator="." />
      <xsl:template match="URUNLER">
        <URUNLER>
          <xsl:apply-templates select="URUN" />
        </URUNLER>
      </xsl:template>
      <xsl:template match="URUN">
        <URUN>
          <AnaKategori>
    	  <xsl:value-of select="KATEGORI" />  
    	  </AnaKategori>    
          <Durumu>true</Durumu>
          <StokKodu>
            <xsl:value-of select="KOD" />
          </StokKodu>
          <StokAdi>
            <xsl:value-of select="URUN_AD" />
          </StokAdi>  
          <Aciklama>
          </Aciklama>
          <Detay>
    	   <xsl:value-of select="ACIKLAMA" />
    	  </Detay>
          <Envanter>
    	  <xsl:value-of select="STOK" />
    	  </Envanter>
          <Resim>
            <xsl:value-of select="RESIM" />
          </Resim>
          <MarkaAdi>
            <xsl:value-of select="MARKA" />
          </MarkaAdi>
          <KdvOrani>
            <xsl:value-of select="KDV" />
          </KdvOrani>
          <BirimAdi>Adet</BirimAdi>      
          <BirimCarpan>1.00</BirimCarpan>     
          <HavaleFiyati>0.00</HavaleFiyati>
          <HavaleFiyatiParaBirimi>TL</HavaleFiyatiParaBirimi>
          <SatisFiyati1>
            <xsl:value-of select="FIYAT" />
          </SatisFiyati1>
          <SatisFiyati1ParaBirimi>TL</SatisFiyati1ParaBirimi>
          <Isk1>0</Isk1>           
          <SatisFiyati2>
            <xsl:value-of select="FIYAT" />
          </SatisFiyati2>
          <Isk2>0</Isk2>     
          <SatisFiyati2ParaBirimi>TL</SatisFiyati2ParaBirimi>
          <SatisFiyati3>
            <xsl:value-of select="FIYAT" />
          </SatisFiyati3>
          <Isk3>0</Isk3>
          <SatisFiyati3ParaBirimi>
            <xsl:value-of select="FIYAT" />
          </SatisFiyati3ParaBirimi>
          <AlisFiyati>
            <xsl:value-of select="KDV_HARIC" />
          </AlisFiyati>
          <AlisFiyatiParaBirimi>TL</AlisFiyatiParaBirimi>
          <Desi>
    	  <xsl:value-of select="AGIRLIK" />
    	  </Desi>      
         
        </URUN>
      </xsl:template>
    </xsl:stylesheet>
    Herkese iyi forumlar...