Projekat

Općenito

Profil

Akcije

Nove funkcije #17610

Zatvoren

xml library: libxm2, libxml-ruby

Dodano od Ernad Husremović prije više od 15 godina. Izmjenjeno prije više od 14 godina.

Status:
Zatvoreno
Prioritet:
Normalan
Odgovorna osoba:
Kategorija:
-
Početak:
12.06.2009
Završetak:
% završeno:

50%

Procjena vremena:

Opis

trebam nam za LD-PXE


Fajlovi

xml_sample_gen1.tgz (5,58 KB) xml_sample_gen1.tgz Ernad Husremović, 12.06.2009 19:42
test_libxml_1.rb (1021 Bajta) test_libxml_1.rb Ernad Husremović, 12.06.2009 21:20
test_libxml_2.rb (6,56 KB) test_libxml_2.rb Ernad Husremović, 12.06.2009 21:24
specif_pke.xml (16,6 KB) specif_pke.xml Ernad Husremović, 12.06.2009 21:24
specif_pke.xsd (8,63 KB) specif_pke.xsd Ernad Husremović, 12.06.2009 21:24
test.xml (5,86 KB) test.xml Ernad Husremović, 12.06.2009 21:26

Povezani tiketi 3 (0 otvoreno3 zatvorenih)

korelira sa harbour - Nove funkcije #14569: harbour on linuxZatvorenoErnad Husremović18.06.2008

Akcije
korelira sa harbour - Prijedlozi #17239: 1majski praznici: qt-2009.02 SDK + harbour gtqtc + hbqtZatvorenoErnad Husremović10.05.2009

Akcije
korelira sa harbour - Podrška #17627: nmraka-2: vista instalacija harbour mingw, hbsqlit3ZastarjeloErnad Husremović15.06.2009

Akcije
Akcije #1

Izmjenjeno od Ernad Husremović prije više od 15 godina

(16:16:53) vsasa: vidiš pamentno sam uradio pa sam stavio sve to u ove dvije odvojene baze
(16:17:00) vsasa: da nemoramo ići na 5 tabela
(16:17:01) hernad: radi li ti ping gitorious.bring.out.ba
(16:18:43) hernad: izgleda da je to core harbour funkcija
(16:19:13) hernad: http://gitorious.bring.out.ba/harbour/harbour/trees/master/harbour
(16:19:24) hernad: i onda imaš stablo gir repozitorija harbour-a
(16:20:48) hernad: evo ga
(16:21:58) hernad: http://gitorious.bring.out.ba/harbour/harbour/blobs/master/harbour/contrib/xhb/txml.prg
(16:22:20) vsasa: ja tome ne mogu pristupiti ? vpn ?
(16:25:59) hernad: samo je u lan-u dostupno trenutno

Akcije #2

Izmjenjeno od Ernad Husremović prije više od 15 godina

bringout@nmraka-2:~/devel/git/upstream/harbour/harbour/contrib/xhb/hbxml.c

* This source file contains a modified version of MXML (Mini XML)
* library, developed by Giancarlo Niccolai. MXML is released under
* LGPL license; this modified version (called HBXML) is released under
* GPL with HARBOUR exception. HBXML license does not extends into
* MXML; HBXML and any modification to HBXML is to be considered as
* a part of Harbour or xHarbour projects, as it is modified to
* be specifically working in the context of the compiler's RTL.

Akcije #3

Izmjenjeno od Ernad Husremović prije više od 15 godina

evo to je to

http://www.minixml.org/

harbour je napravio bindings prema ovoj biblioteci

Akcije #4

Izmjenjeno od Ernad Husremović prije više od 15 godina

http://www.minixml.org/documentation.php/basics.html

You can create and update XML documents in memory using the various mxmlNew functions. The following code will create the XML document described in the previous section:


    mxml_node_t *xml;    /* <?xml ... ?> */
    mxml_node_t *data;   /* <data> */
    mxml_node_t *node;   /* <node> */
    mxml_node_t *group;  /* <group> */

    xml = mxmlNewXML("1.0");

    data = mxmlNewElement(xml, "data");

        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val1");
        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val2");
        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val3");

        group = mxmlNewElement(data, "group");

            node = mxmlNewElement(group, "node");
            mxmlNewText(node, 0, "val4");
            node = mxmlNewElement(group, "node");
            mxmlNewText(node, 0, "val5");
            node = mxmlNewElement(group, "node");
            mxmlNewText(node, 0, "val6");

        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val7");
        node = mxmlNewElement(data, "node");
        mxmlNewText(node, 0, "val8");

We start by creating the node common to all XML files using the mxmlNewXML function:

    xml = mxmlNewXML("1.0");

We then create the <data> node used for this document using the mxmlNewElement function. The first argument specifies the parent node (xml) while the second specifies the element name (data):

    data = mxmlNewElement(xml, "data");

Each <node>...</node> in the file is created using the mxmlNewElement and mxmlNewText functions. The first argument of mxmlNewText specifies the parent node (node). The second argument specifies whether whitespace appears before the text - 0 or false in this case. The last argument specifies the actual text to add:

    node = mxmlNewElement(data, "node");
    mxmlNewText(node, 0, "val1");

The resulting in-memory XML document can then be saved or processed just like one loaded from disk or a string.

Akcije #6

Izmjenjeno od Ernad Husremović prije više od 15 godina

ovaj ticket #17239 govori o mingw build-u

Akcije #7

Izmjenjeno od Ernad Husremović prije više od 15 godina

http://aruiz.typepad.com/siliconisland/2006/08/clipem_my_own_c.html

function main()
xTag := TXMLNODE
xTag:SetAttribute("attr", "value")

xAnotherTag := TXMLNODE(0, "childNode")
xTag:AddBelow(xAnotherTag)
?xTag:ToString(1)
WAIT
return ( nil )
Akcije #8

Izmjenjeno od Ernad Husremović prije više od 15 godina

da potražim taj mini xml - mxml

bringout@nmraka-2:~/devel/git$ aptitude search mxml

p   libmxml-dev                     - small XML parsing library (development)   
p   libmxml1                        - small XML parsing library (runtime)

Akcije #9

Izmjenjeno od Ernad Husremović prije više od 15 godina

napravio novi deb, pa onda ga instalirao

da vidim da li postoji u libxhb TXMLNODE

bringout@nmraka-2:~/devel/git$ nm /usr/lib/harbour/libxhb.a | grep -i "XMLNODE"

00000000000002e0 T HB_FUN_TXMLNODE
0000000000000220 t HB_FUN_TXMLNODE_DEPTH
0000000000000260 t HB_FUN_TXMLNODE_NEW
0000000000000240 t HB_FUN_TXMLNODE_NEXTINTREE
0000000000000200 t HB_FUN_TXMLNODE_PATH

Akcije #10

Izmjenjeno od Ernad Husremović prije više od 15 godina

hm nisam ovi uspio skontati, da mi se ovaj xml podrška sviđa - ne sviđa.

Problem je što nikakvih primjera nema.

Akcije #11

Izmjenjeno od Ernad Husremović prije više od 15 godina

skino ovaj "xhgtk source"http://sourceforge.net/project/downloading.php?group_id=123078&filename=xhgtk20081217.zip da vidim da slučajno preko gtk nisu podržane xml funkcije - nisu.

Akcije #12

Izmjenjeno od Ernad Husremović prije više od 15 godina

a gledaj ruby-ja, on ima pure ruby XML library "rexml"

http://www.ruby-doc.org/stdlib/libdoc/rexml/rdoc/index.html

Akcije #14

Izmjenjeno od Ernad Husremović prije više od 15 godina

http://thestewscope.wordpress.com/2007/12/18/ruby-and-xml-schema/

znači xsd shema služi za validaciju generisanog xml-a.

xsd je struktura koja se očekuje od generisanog xml fajla.

U gornjim postovima se govori da REXML takav feature nema builtin ?

Akcije #15

Izmjenjeno od Ernad Husremović prije više od 15 godina

http://rubyforge.org/projects/libxml/

evo ruby binding-a za libxml2 gnome-ov koji sam na početku u chatu pominjao

Akcije #16

Izmjenjeno od Ernad Husremović prije više od 15 godina

libxml-ruby

http://libxml.rubyforge.org/

The Libxml-Ruby project provides Ruby language bindings for the GNOME Libxml2 XML toolkit. It is free software, released under the MIT License.

Libxml-ruby's primary advantage over REXML is performance - if speed is your need, these are good libraries to consider, as demonstrated by the informal benchmark below.

Akcije #17

Izmjenjeno od Ernad Husremović prije više od 15 godina

...

Often times you’ll need to validate data before processing it. For example, if you accept user generated content submitted over the Web, you’ll want to verify that it does not contain malicious code such as embedded scripts. This can be done using libxml’s powerful set of validators:

  • DTDs (LibXML::XML::Dtd)
  • Relax Schemas (LibXML::XML::RelaxNG)
  • XML Schema (LibXML::XML::Schema)

? je li ovo zadnje xsd schema ?

Akcije #18

Izmjenjeno od Ernad Husremović prije više od 15 godina

http://www.mail-archive.com/xml@gnome.org/msg03517.html

Re: [xml] libxml2 XML Schema validation limitation

Daniel Veillard
Wed, 11 Oct 2006 12:09:28 -0700

On Wed, Oct 11, 2006 at 12:01:01PM -0700, Allison Bloodworth wrote:

It would REALLY help me if anyone could tell me when support for xs:redefine
might be added to libxml2's schema validation.

The person (Kasimier) who had done most of the Schemas specific parts
of the XSD implementation lost his job, and asked here for support. I guess
he is still looking for employment ...
If you want you can go read that spec and provide the missing bits for
the implementation.

Daniel

E sad ne znam da li je ovo out-of-date informacija (2006 godina), ali se ovdje govori da je implementacija xsd validacije nepotpuna

Akcije #19

Izmjenjeno od Ernad Husremović prije više od 15 godina

xjparse

The xjparse tool is a simple command-line wrapper for the Xerces XML Schema validator. It accepts several options, notably one which specifies the set of schemas to be used during validation.

Akcije #20

Izmjenjeno od Ernad Husremović prije više od 15 godina

http://xerces.apache.org/xerces2-j/

Welcome to the future! Xerces2 is the next generation of high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), a complete framework for building parser components and configurations that is extremely modular and easy to program.

The Apache Xerces2 parser is the reference implementation of XNI but other parser components, configurations, and parsers can be written using the Xerces Native Interface. For complete design and implementation documents, refer to the XNI Manual.

Xerces2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page.

Akcije #21

Izmjenjeno od Ernad Husremović prije više od 15 godina

i dođosmo do w3c specifikacije xml scheme http://www.w3.org/TR/xmlschema-0/

Akcije #22

Izmjenjeno od Ernad Husremović prije više od 15 godina

  • Projekat promijenjeno iz harbour u developer toolbox
Akcije #23

Izmjenjeno od Ernad Husremović prije više od 15 godina

  • Naslov promijenjeno iz harbour, xml podrška u xml podrška

bringout@nmraka-2:~$ sudo apt-get install ruby1.8-dev rubygems1.8 libxml2-dev

Akcije #24

Izmjenjeno od Ernad Husremović prije više od 15 godina

bringout@nmraka-2:~$ sudo gem install libxml-ruby

Building native extensions.  This could take a while...

Akcije #25

Izmjenjeno od Ernad Husremović prije više od 15 godina

u libxml-ruby našao test/* pa tu ima svega

evo đona

/var/lib/gems/1.8/gems/libxml-ruby-1.1.3/test/tc_schema.rb


require 'xml'
require 'test/unit'

class TestSchema < Test::Unit::TestCase
  def setup
    file = File.join(File.dirname(__FILE__), 'model/shiporder.xml')
    @doc = XML::Document.file(file)
  end

  def teardown
    @doc = nil
  end

  def schema
    document = XML::Document.file(File.join(File.dirname(__FILE__), 'model/shiporder.xsd'))
    schema = XML::Schema.document(document)
  end

  def test_from_doc
    assert_instance_of(XML::Schema, schema)
  end

  def test_valid
    assert(@doc.validate_schema(schema))
  end

  def test_invalid
    new_node = XML::Node.new('invalid', 'this will mess up validation')
    @doc.root.child_add(new_node)

    error = assert_raise(XML::Error) do
      @doc.validate_schema(schema)
    end

    assert_not_nil(error)
    assert_kind_of(XML::Error, error)
    assert(error.message.match(/Error: Element 'invalid': This element is not expected. Expected is \( item \)/))
    assert_equal(XML::Error::SCHEMASV, error.domain)
    assert_equal(XML::Error::SCHEMAV_ELEMENT_CONTENT, error.code)
    assert_equal(XML::Error::ERROR, error.level)
    assert(error.file.match(/shiporder.xml/))
    assert_nil(error.line)
    assert_nil(error.str1)
    assert_nil(error.str2)
    assert_nil(error.str3)
    assert_equal(0, error.int1)
    assert_equal(0, error.int2)
    assert_not_nil(error.node)
    assert_equal('invalid', error.node.name)
  end
end

Akcije #26

Izmjenjeno od Ernad Husremović prije više od 15 godina

i evo naša validacija radi

ruby test_xsd_1.rb

require 'rubygems'
require 'xml'

x_name = 'specif_pke.xml'
x_document = XML::Document.file(x_name)

s_document = XML::Document.file('specif_pke.xsd')
schema = XML::Schema.document(s_document)

new_node = XML::Node.new('invalid', 'this will napraviti error kod validacije')

#dodaj node
x_document.root.child_add(new_node)

x_document.validate_schema(schema)

bringout@nmraka-2:~/devel$ ruby test_xsd_1.rb

Node#child_add is deprecated.  Use Node#<< instead.
Error: Element 'invalid': This element is not expected. Expected is ( {urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}Obrazac1001 )..
test_xsd_1.rb:17:in `validate_schema': Error: Element 'invalid': This element is not expected. Expected is ( {urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}Obrazac1001 ).. (LibXML::XML::Error)
    from test_xsd_1.rb:17

ako komentarišem dodavanje gornjeg noda (koji izaziva error), nema nikakvog report-a.

Akcije #27

Izmjenjeno od Ernad Husremović prije više od 15 godina

ako dodam:

puts x_document.to_s prije validacije, vidjeću sadržaj xml-a

.... kraj ...
        <Dio8IzjavaPoreznogObveznika>
            <VaziOd>1967-08-13</VaziOd>
        </Dio8IzjavaPoreznogObveznika>
    </Obrazac1001>
<invalid>this will napraviti error kod validacije</invalid></SpecifikacijaZahtjevaZaIzdavanjePorezneKartice>

Vidimo da je danu se ugnjezdila "<invalid>"

Dobro šta je zaključak: zaključak je da sa libxml2 sigurno možemo napraviti naš dokument, a evo validaciju smo sada vidjeli da funkcioniše.

Harbour je skroz pogrešan odabir. Bakćati se sa slabo dokumentovanom mxml nije korisno.

Akcije #28

Izmjenjeno od Ernad Husremović prije više od 15 godina

libxml2 je masovno korištena library. Sama činjenica da je gnome koristi je dovoljna.

Akcije #29

Izmjenjeno od Ernad Husremović prije više od 15 godina

"libxml2:"http://xmlsoft.org/

Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License. XML itself is a metalanguage to design markup languages, i.e. text language where semantic and structure are added to the content using extra "markup" information enclosed between angle brackets. HTML is the most well-known markup language. Though the library is written in C a variety of language bindings make it available in other environments.

Naravno mogli bi mi uzeti pa napraviti binding za harbour.

Akcije #30

Izmjenjeno od Ernad Husremović prije više od 15 godina

Fino odemo kupimo negdje droge ... napušimo se pa gdje stignemo ...

Akcije #31

Izmjenjeno od Ernad Husremović prije više od 15 godina

šalim se naravno :)

Akcije #32

Izmjenjeno od Ernad Husremović prije više od 15 godina

Što se pouzdanosti tiče:

In most cases libxml2 tries to implement the specifications in a relatively strictly compliant way. As of release 2.4.16, libxml2 passed all 1800+ tests from the OASIS XML Tests Suite.

Akcije #33

Izmjenjeno od Ernad Husremović prije više od 15 godina

skontao kako stvar radi.

bringout@nmraka-2:~/devel$ cat test_libxml_1.rb

require 'rubygems'
require 'xml'

#doc = XML::Document.string("<?xml version="1.0"?>", :encoding => XML::Encoding::UTF_8, :options => XML::Parser::Options::NOENT, :base_uri => "http://poreznaupravabih.org")

s_init = <<END_OF_STRING
<SpecifikacijaZahtjevaZaIzdavanjePorezneKartice/>
END_OF_STRING

doc = XML::Document.string(s_init, :encoding => XML::Encoding::UTF_8, :options => XML::Parser::Options::NOENT)

# ovo je naša struktura
#    <PodaciOPoslodavcu>
#        <JIBPoslodavca>1901983170014</JIBPoslodavca>
#        <NazivPoslodavca>String</NazivPoslodavca>
#        <BrojZahtjeva>0</BrojZahtjeva>
#        <DatumPodnosenja>1967-08-13</DatumPodnosenja>
#    </PodaciOPoslodavcu>

node_1 = XML::Node.new('PodaciOPoslodavcu')

#matrica subnodova
sub_nodes = [
   XML::Node.new('JIBPoslodavca', 'bring.out'),
   XML::Node.new('BrojZahtjeva', '199'),
   XML::Node.new('DatumPodnosenja', '2009-06-05')
]

#svaki subnod dodaj na node_1
sub_nodes.each do |sub| 
  node_1 << sub
end
doc.root << node_1

#node_2
node_2 = XML::Node.new('Obrazac1001')
doc.root << node_2

puts doc.to_s

prikačio sam ovaj rb takođe

bringout@nmraka-2:~/devel$ ruby test_libxml_1.rb

<?xml version="1.0" encoding="UTF-8"?>
<SpecifikacijaZahtjevaZaIzdavanjePorezneKartice>
  <PodaciOPoslodavcu>
    <JIBPoslodavca>bring.out</JIBPoslodavca>
    <BrojZahtjeva>199</BrojZahtjeva>
    <DatumPodnosenja>2009-06-05</DatumPodnosenja>
  </PodaciOPoslodavcu>
  <Obrazac1001/>
</SpecifikacijaZahtjevaZaIzdavanjePorezneKartice>

Akcije #34

Izmjenjeno od Ernad Husremović prije više od 15 godina

ja sam se pitao da li će ovako parcijalan xml biti validiran kako treba ?

neće - žikne me u startu da stvar ne valja.

Izmjenjeno od Ernad Husremović prije više od 15 godina

onda sam većinu xml-a "ukrao" iz ovog što je dala porezna uprava (spec_pke.xml)

i dodao samo podatke o poslodavcu.

Logično novi node se dodaje na kraj xml-a.

Rekoh nema veze što je na kraju ?

Kad xml kaže ima veze poredak nodova ?!

Hajde da vjerujemo da je to tako po specifikaciji

onda sam ručno pomjerio ovaj node što sam programski dodao na vrh i pustio validaciju

Akcije #36

Izmjenjeno od Ernad Husremović prije više od 15 godina

evo šta kaže validacija tada (analizira se test.xml koji sam zakačio)

ruby test_xsd_1.rb

..
Error: Element '{urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}JIBPoslodavca': [facet 'length'] The value has a length of '9'; this differs from the allowed length of '13'. at test.xml:3.
Error: Element '{urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}JIBPoslodavca': [facet 'pattern'] The value 'bring.out' is not accepted by the pattern '[0-9]{13}'. at test.xml:3.
Error: Element '{urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}JIBPoslodavca': 'bring.out' is not a valid value of the atomic type '{urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}type_JMB'. at test.xml:3.
Error: Element '{urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}BrojZahtjeva': This element is not expected. Expected is ( {urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}NazivPoslodavca ). at test.xml:3.
test_xsd_1.rb:22:in `validate_schema': Error: Element '{urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}BrojZahtjeva': This element is not expected. Expected is ( {urn:SpecifikacijaZahtjevaZaIzdavanjePorezneKartice_V1_0.xsd}NazivPoslodavca ). at test.xml:3. (LibXML::XML::Error)
    from test_xsd_1.rb:22

I on fino kaže - JIBPoslodavca': [facet 'length'] The value has a length of '9'; this differs from the allowed length of '13'

Dalje kaže da određeni elementi nedostaju.

Ma dobra je stvar ovaj xml :)

Akcije #37

Izmjenjeno od Ernad Husremović prije više od 15 godina

rezime

  1. libxml-ruby radi ko čvoka
  2. ruby je intuitivan, i bez problema sam uz rdoc libxml-ruby pohvatao način kako da kreiram xml
  3. xsd validacija radi
  4. poredak node-ova je bitan, što me je pravo začudilo
Šta su stvari za koje će se morati uložiti još dosta energije:
  1. most između LD-PKE podataka i ruby aplikacije
  2. konverzije polja iz clipper-a u odgovarajući xml format.
    1. Međutim treba dobro pogledati: libxml-ruby sigurno zna odgovarajuće ruby tipove pretvoriti u xml validan element ... pa to joj je posao (znači ruby date u xml node date)
    2. utf8 format mora biti za stringove - to bi se moralo moći ukrasti iz ruby_pdf lib-a gdje smo output iz clipper-a pretvarali u pdf. Mislim da je taj pdf utf8
Akcije #38

Izmjenjeno od Ernad Husremović prije više od 15 godina

dobra je stvar što nema nikakvih razloga da ovo bez nervoze privedemo kraju. posla ima da se to ispegla, ali glavne nepoznanice su čiste

Akcije #39

Izmjenjeno od Ernad Husremović prije više od 15 godina

kako konvertovati ?

čitavo vrijeme razmišljam i par puta sam si postavljao pitanje ? šta bi to bio dobar medij za razmjenu a da ne trošimo vrijeme na parsiranje. Valja formatirati clipper -> txt, pa onda to iščitavati i parsirati u ruby.

Dobro to znamo da je zicer. To smo na hiljade načina radili.

Onda mi je palo na pamet. A zašto ne ubacimo pred_aplikaciju ovom ruby parseru koja će clipper tabele pljunuti u format koji ruby čita normalno.

I tu mi je pao na pamet sqlite. Mala bazica koja ne traži nikakav server (kao mysql ili postgresql ... hehe to bi bilo genijalno - radi konverzije instalirati jedan postgresql ili mysql serverčić ... )

izgleda komplikovano ?

Ako sa harbour-om možemo to uraditi, a prema onome što sam čitao ne bi trebalo biti problema jer ima hbsqlite binding spreman i znam da ga raja koristi masovno, workflow je sljedeći.

  1. LD (LD-PKE) unos podataka -> dbf-ove i ništa dalje - no export
  2. hb_pke_2_sqlite (provrti kroz dbf-ove i pukne sqlite pke.db koji sadrži sve potrebne tabele koje trebaju xml generatoru)
  3. ruby otvori sqlite
    • kvalitetna libs postoje ... koristio sam u rails-u može se via active record orm-a ili direktno sql ... to može da radi

Šta dobijamo: nemamo parsera out - in. samo dumpovanje tabela.

harbour dbfcdx -> sqlite
Ovo ne bi trebao biti problem, lijepa škola harbour-a. Ako bih imao vremna merak bi mi bio da ovo probam.

Posebno zato što saši ne bih davao da troši vrijeme na podešavanje harbour build + mingw mislim da je moja dokumentacija samo meni čitljiva, ovo što sam radio od prvog maja.

Dodatno, harbour ima 3-četiri varijante pristupa sqlite-u i ja sam to dosta pratio, pa je dodatni razlog da ja to protabirim.

clipper -> harbour dbfcdx

Ionako je moja namjera da čim prije započnemo masovni clipper->harbour port, jer portiranje nemam dileme će biti odlična stvar.

Moramo se kutarisati klipera, obezbjediti istu funkcionalnost koju imamo sa clipper aplikacijama.

Eksperment ? Neka je. Je li ja to tako napamet ? Ne, nije napamet, nakon više od godinu dana konstantnog praćenja harbour mailiste. Harbour je stabilan i zdrav opensource projekat.

Čine ga ex-clipperaši koji su portirali svoje legacy aplikacije i još su pametnice pa sada prave nove stvari u svom omiljenom xbase programerskom dijalektu.

rama-glas linux-desktop

možda i da !

Akcije #40

Izmjenjeno od Ernad Husremović prije više od 15 godina

cijena LD-PXE-XML LD-PXE

Cijena je žara. Četiri puta sam se vraćao na cijenu kad sam pripremao rudnik.

a) E sad kad sam vidio da će ljudi imati mogućnost direktnog unosa => još manje potrebe za kupovinom ovog jednokratnog modula ovo bi bilo skroz loša procjena

b) Sada kad sam prošao xml, ma znaš šta mozak da mi gori za 100 KM ... nema šanse. Ovdje treba još brat bratu 15 h da ovo proradi.

Hah, na ovakvim opcijama korisnici moraju kukati. Njima jeste skupo, ali i nama jeste skupo ovo proizvesti.

Mi ovo radimo da zaradimo, a ne da nam kažu: "jeste vi dobri programeri, i još sve džaba ..."

Akcije #41

Izmjenjeno od Ernad Husremović prije više od 15 godina

A pored toga klasična vreva od podrške, koja je sigurno još dodatnih 20-30% opterećenja naših resursa.

Hah kad sam počinjao ovaj posao, kada neko kaže: set knjigovodstvenih aplikacija kod njih košta 10 000 KM. Reko pa oni kradu. E moj Ernade ... pojma ti nisi imao ...

Akcije #42

Izmjenjeno od Ernad Husremović prije više od 15 godina

FREAK

čovječe koji sam ja freak ... ust'o jutros u 04:30 .. tamo negdje oko 18:00 ma samo što nisam zaspo normalno ...

I sad kad sam ovo uradio i kad osjećam da sam uradio nešto dobro (i radio što volim ...) evo me ko nadrogiran. Mog'o bi još nastavit !?

O toj ljubavi prema informatici govorim. Ne o tome da me interesuje samo informatika, a pare nisu bitne.

Pa zar ne vidite da nakon ovih ponuda svi tablete za smirenje uzimaju ... brinem ja o parama, al raja stisla pa ne da :)

Akcije #43

Izmjenjeno od Ernad Husremović prije više od 15 godina

  • Naslov promijenjeno iz xml podrška u xml library: libxm2, libxml-ruby
  • % završeno promijenjeno iz 0 u 50
Akcije #44

Izmjenjeno od Ernad Husremović prije više od 14 godina

  • Status promijenjeno iz Dodijeljeno u Zatvoreno
Akcije

Također dostupno kao Atom PDF