FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

XML DOSYASI Output File Charecter Set: UTF-8 SORUNU

0 oy
672 kez görüntülendi

Merhaba arkadaşlar, birkaç gündür

Set Variable [$$Dosya; Value: Substitute ( Get ( PreferencesPath );"Application Data";"Temp") & "Kimlik.xml"]

Set Field [Substitute ( (Table::Ornek );["A";Yazi::Adı];["S";Yazi::Soyadı];["TC";Yazi::TC No];["Tarih";Yazi::Tarih];["Unvan";Yazi::Unvan])]

Export Field Contents [Table::Ornek;$$Dosya;Create directories:Off]

Scripti ile "xml" dosyası kaydetmeye çalışıyorum.

Problem şu; Dosyayı kaydediyorum ancak dosya Unix (LF) Output File Charecter Set: UTF-8 özelliğinde ayarlanması gerekiyor, benim yukarıda yazdığım şekilde oluşturulan dosya Windows (CR LF) UCS-2 LE BOM Özelliğinde oluyor ve Dosya Ofice XML Handler ile açılmıyor.

Filemaker, File > Export Records To File > Kaydet > Specify Field Order For Export yolunu seçtiğimde ise Output File Charecter Set: UTF-8 özelliği aktif oluyor ve buradan ayarlanarak kaydedildiğinde Dosya Ofice XML Handler ile açılabiliyor.

Geliştirdiğim dosyadaki bir data verisini, script ile xml dosyası olarak kaydetmek istiyorum, eğer yukarıda hatırladığım script ile kaydederken Output File Charecter Set: UTF-8 yaptırabilsem hiçbir problem olmayacak ancak bunu bir türlü başaramadım. Bu konuda bilgi sahibi olan arkadaşlar yardımcı olabilirse çok sevinir, kocaman bir ALLAH RAZI OLSUN derim, Saygılarımla...

EN SON  DÜZENLEDİĞİM ÖRNEK DOSYA:http://filemakerturk.com/?qa=blob&qa_blobid=2952263069052492277

10, Şubat, 2019 Filemaker Advanced kategorisinde Kapadokya (2,860 puan) tarafından soruldu
11, Şubat, 2019 Kapadokya tarafından düzenlendi

2 Cevaplar

0 oy

Ben Mac'te farklı çözmüştüm ama Windows için aşağıdaki linki takip edin.

https://community.filemaker.com/thread/157268

 

Örnek: http://filemakerturk.com/?qa=blob&qa_blobid=7478708022578705760

 

.

10, Şubat, 2019 Recep Güney (69,500 puan) tarafından cevaplandı
11, Şubat, 2019 Recep Güney tarafından düzenlendi
Sayın Recep GÜNEY, ilgi ve alakanız için teşekkür ediyorum.
 
Cevaba dosya yükledim, inceleyebilir misiniz lütfen
Beverly Voth'un örnek dosyasını sizinkine uyarlayıp ekledim.
0 oy

Sorumun cevabını anlatarak cevaplamak yerine dosya yüklemeyi daha uygun gördüm.

Dosyayı incelediğinizde ve bilgisayarınıza UYAP Doküman Editörü yükleyerek bu dosyayı açmaya çalıştığınızda, dosyanın açıldığını ancak formatın bozuk olduğunu göreceksiniz. Bozulan şablonu henüz düzeltemedim. Düzelten arkadaş olursa lütfen paylaşsın.

 

11/02/2019 Tarihinde yeniden düzenlenmiş örnek dosya:http://filemakerturk.com/?qa=blob&qa_blobid=9183879647946728917

10, Şubat, 2019 Kapadokya (2,860 puan) tarafından cevaplandı
11, Şubat, 2019 Kapadokya tarafından düzenlendi
şablon dosyanızı da paylaşır mısınız?
Sayın Recep Güney, Şablon dosya, xml formatına dönüştürülmüş herhangi bir text dosyası olabilir. Ya da UYAP Doküman Editöründe oluşturacağınız herhangibir dosya olabilir.
Bu oluşturduğunuz dosyanın kodunu paylaştığım fm dosyasındaki alana yapıştıracaksınız, script'i çalıştırdığınızda oluşan yeni dosyayı inceleyeceksiniz.
Şu anda bilgisayar başında değilim, bilgisayar başına geçtiğimde dosyayıda paylaşabilirim.
Örnek dosyanızda kullandığınız "onefield_export.xsl" isimli dosyadan bahsediyorum!
Sanırım paylaştığınız dosyaya yeni bir script ve alan eklemişsiniz. Bu yaptığınız örnekte sadece bir dosyayı her seferinde kaydetme imkanı sağlanabilir. Ancak benim istediğim her seferinde değişen ve kullanıcı tarafından üretilen, ya da kullanıcının programa yapacağı kayıtları belli bir metin haline getirerek her kayıt için ayrı ayrı xml dosyası hazırlaması ve her seferinde hazırlanan dosyanın kayıttaki  bilgileri içermesi ama yazı formatını koruması. Bu nedenle belirttiğiniz "onefield_export.xsl" gibi bir dosya olmayacak.
UDF uzantılı editörde bir defa hazırlanmış şablonun kodu örnek dosyamdaki "Kaynak" tablosunun "XML_Kod_Alanı" text alanına kaydedilecek, bu kod un içindeki [CDATA[  ]] prosedürünün içerisinde yazı veya metin yerine doyada belirlenen değişken yeralacak, bu değişken "Kimlik" tablosundaki alanlara girilen  verilere göre koddaki [CDATA[  ]] prosedürünün içerisinde metin olarak yeralacak ve oluşturulan xml dosyasında düz metin yazı şeklinde düzenlenecek.
Örnek Dosyamı yeniden paylaşıyorum ve UDF uzantılı bir dilekçe halinde dosya oluşmasını sağlayacak kod ile paylaşıyorum. İlk Soru metin gövdesine yükledim Örnek doyayı, Sistemi buna göre değerlendirebilir misiniz lütfen?
Örneğimde sadece xslt şablonu kullanarak text formatlı xml dosyası nasıl üretileceğini göstermeye çalıştım.

Değişkenlerinizi bunun üzerine inşa edebilirsiniz...

.
Sizin yukarıda paylaştığınız örnek doyadaki Kaynak Tablesinin XML_Kod_Alanı Texst alanına aşağıdaki kodu yazarsanız export edilen dosyanın düzenin bozulduğunu görebilirsiniz.

<?xml version="1.0" encoding="UTF-8" ?>

<template format_id="1.7" >
<content><![CDATA[


ADALET BAKANLIĞINA
(Hukuk ve Mevzuat Genel Müdürlüğü)
GÖNDERİLMEK ÜZERE
........................... CUMHURİYET BAŞSAVCILIĞINA



   

    İlgi sayılı yazınız ile ödenmediğinden bahisle tarafımdan istenilen vekalet ücreti, ekte bir örneğini gönderdiğim banka dekontunda da gösterildiği üzere yazınızda belirtmiş olduğunuz banka IBAN hesap numarasına havale yapılmak sureti ile ............. tarihinde ödenmiştir.
    Konunun incelenerek kayıtlarınızın itirazen düzeltilmesi hususlarında gereğini arz ve talep ederim.31/01/2019


                Özgüven ALTUNOK
                                       (e-imzalı)


Eki: 1 Adet banka dekont örneği



]]></content><properties><pageFormat mediaSizeName="1" leftMargin="70.875" rightMargin="70.875" topMargin="70.875" bottomMargin="70.875" paperOrientation="1" headerFOffset="20.0" footerFOffset="20.0" /></properties>
<elements resolver="hvl-default" >
<paragraph Alignment="1"><content startOffset="0" length="1" /></paragraph><paragraph Alignment="1"><content startOffset="1" length="1" /></paragraph><paragraph Alignment="1"><content startOffset="2" length="1" /></paragraph><paragraph Alignment="1"><content startOffset="3" length="19" /></paragraph><paragraph Alignment="1"><content startOffset="22" length="35" /></paragraph><paragraph Alignment="1"><content startOffset="57" length="18" /></paragraph><paragraph Alignment="1"><content startOffset="75" length="54" /></paragraph><paragraph Alignment="1"><content startOffset="129" length="1" /></paragraph><paragraph Alignment="1"><content startOffset="130" length="1" /></paragraph><paragraph Alignment="3"><content startOffset="131" length="1" /></paragraph><paragraph Alignment="3"><content startOffset="132" length="2" /></paragraph><paragraph Alignment="3"><content startOffset="134" length="1" /></paragraph><paragraph Alignment="3"><content startOffset="135" length="275" /></paragraph><paragraph Alignment="3"><content startOffset="410" length="111" /></paragraph><paragraph Alignment="3"><content startOffset="521" length="1" /></paragraph><paragraph Alignment="3"><content startOffset="522" length="1" /></paragraph><paragraph Alignment="3"><content startOffset="523" length="20" /></paragraph><paragraph Alignment="3"><content startOffset="543" length="38" /></paragraph><paragraph Alignment="3"><content startOffset="581" length="1" /></paragraph><paragraph Alignment="3"><content startOffset="582" length="1" /></paragraph><paragraph Alignment="3"><content startOffset="583" length="32" /></paragraph><paragraph Alignment="3"><content startOffset="615" length="1" /></paragraph><paragraph Alignment="3"><content startOffset="616" length="1" /></paragraph>
</elements>
<styles><style name="default" description="Geçerli" family="Dialog" size="12" bold="false" italic="false" foreground="-13421773" FONT_ATTRIBUTE_KEY="javax.swing.plaf.FontUIResource[family=Dialog,name=Dialog,style=plain,size=12]" /><style name="hvl-default" family="Times New Roman" size="12" description="Gövde" /></styles>
</template>
Sayfa yapısının bozulmasını nasıl önleyebiliriz, özellikle [CDATA[ ]] Arasına bir değişkene yüklenen metnin yazdırılması durumunda yapının bozulmaması gerekir. Bunu sağlamaya çalışıyorum. Bu aradaki metin kullanıcı tarafından FM dosyası içerisinde oluşturulacak. Her seferinde değişebilecek, FM dosyasında kullanılan alanı kullanıcı bir metin editörü gibi kullanacak, buraya yazdığı metni düzenlediğinde, oradaki metin XML dosyası olarak ama UDF uzantısı ile export edilecek.
Evet, örneğinizde belirttiğiniz durumu gördüm ve anladım. Üzerinde çalıştım biraz ama yine yapı bozuluyor. text alanları bir calculation alanda birleştirerek düz metin haline getirmeyi ve bu metni sizin örnek olarak verdiğiniz betik içerisinde uygulamaya çalışacağım.
O zaman size bol Carriage Returnlar "¶"
&
Olacaktır.
Takılırsanız bildirin...
Evet haklısınız, üzerinde çalıştığım proje için önemli. UYAP VATANDAŞ PORTALI üzerinden elektronik imzalı ve UDF uzantılı dosya göndermek için kullanmayı düşünüyorum.
XML ve XSLT'i öğrenmenizi tavsiye ederim.

CDATA explicited ve native XML formatında aktarmanın bundan daha doğru bir yöntem olacağını da not düşeyim...
...