Tüm arkadaş ve Ustalarıma merhaba.
Yine ilginc bir sorun ile karsı karsıyayım ve cözüm bulamadım
xmldomschemacollection da collection a add edilecek xsd dosyasının disk üzerinde kayıtlı bir dosya olarak veriyordum. örnek olarak
XmlDoc := codomdocument60.create;
Xmldoc.async := False;
Xmldoc.loadXML(xmlfilestring);
Schemadoc := codomdocument60.create;
Schemadoc.async := False;
Schemadoc.loadXML(xsdfilestring);
SchemaCache := coxmlschemacache60.create;
Schemacache.add(fxsdnamespace,'c:\temp\xsddosyası.xsd');
Xmldoc.schemas := SchemaCache;
Error2 := xmldoc.parseError;
Error := xmldoc.validate;
seklinde calısıyor.
ama ben xsd dosyasını exe ile tasımak istemedigim için tüm xsd yi bir widestring içine yazarak programa gömdüm
yukarıda da goruldugu gibi Schemadoc.loadXML(xsdfilestring) seklinde bu değişkeni doc a girebilmeme ragmen
Ama is Schemacache.add(fxsdnamespace,'c:\temp\xsddosyası.xsd') içinde dosyanın yerine widestring olarak hafızadaki
xsd yi gostermeye kalkınca kabul etmiyor hata veriyor.
Normal sartlarda orada olevariant olması gerek, ama ben widestring bir değişkeni olevariant a cevirmeyi basaramadım.
Yapmak istediğim gelen xml dosyalarını diskte keyıtlı xsd dosyası yerine exe içine gomecegim xsd ile validate etmek. Bunu yapmanın yolu varmı?
Tüm arkadaşlarıma İyi günler iyi calışmalar dilerim.
ixmldomschemacollection add edilecek xsd
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: ixmldomschemacollection add edilecek xsd
Merhaba,
codomcodument60.Add overload olarak string üzerinden okuma desteklemiyor olabilir.
Elinizdeki widestring veriyi geçici dosya içine yazıp oradan okuyarak kullanabilirsiniz. İşiniz bittiğinde de geçici dosyayı silebilirsiniz.
codomcodument60.Add overload olarak string üzerinden okuma desteklemiyor olabilir.
Elinizdeki widestring veriyi geçici dosya içine yazıp oradan okuyarak kullanabilirsiniz. İşiniz bittiğinde de geçici dosyayı silebilirsiniz.
Re: ixmldomschemacollection add edilecek xsd
Oneriniz için cok tesekkur ederim hocam,
ilginc yanı denedim aslinda, temp içine yazıp sonra dosya yol ve ismini değişken ile verdim. Kontrol için yazılan dosya ile orjinal dosyayı karsılastırdım, hic bir hata yok. Ama olevariant error devam ediyor. Bana önce anlamsız gibi gelmişti, fakat bunu o nesneyi create ederken değisken olarak dosya yol ve ismini verirsem calışıyor. Fakat class içinde dosyaya yazıp sonra dosya yol ve ismini string değişkene atayıp onu verirsem calısmıyor, hatta string değikeni yazdıgım gibi olevariant a donusturmeyi dahi denedim olmadı. Sanırım ole değişkenin özellikleri ile ilgili bir olay. Bu olay da bana bu denizde daha ögrenmem gereken cooook sey oldugunu anlatıyor. Sizin değerli zamanınızı çalmak istemem ama eğer zamanınız uygun olursa konu hakkındaki fikriniz benim için çok değerli olur.
Saygılarımla iyi günler iyi calışmalar dilerim.
ilginc yanı denedim aslinda, temp içine yazıp sonra dosya yol ve ismini değişken ile verdim. Kontrol için yazılan dosya ile orjinal dosyayı karsılastırdım, hic bir hata yok. Ama olevariant error devam ediyor. Bana önce anlamsız gibi gelmişti, fakat bunu o nesneyi create ederken değisken olarak dosya yol ve ismini verirsem calışıyor. Fakat class içinde dosyaya yazıp sonra dosya yol ve ismini string değişkene atayıp onu verirsem calısmıyor, hatta string değikeni yazdıgım gibi olevariant a donusturmeyi dahi denedim olmadı. Sanırım ole değişkenin özellikleri ile ilgili bir olay. Bu olay da bana bu denizde daha ögrenmem gereken cooook sey oldugunu anlatıyor. Sizin değerli zamanınızı çalmak istemem ama eğer zamanınız uygun olursa konu hakkındaki fikriniz benim için çok değerli olur.
Saygılarımla iyi günler iyi calışmalar dilerim.