Portál AbcLinuxu, 16. prosince 2025 13:38
Tak jsem jednou hledal jednoduchou prohlížečku XML souborů pro Linux a pokud by byla pro KDE, bylo by to plus. Jenže jsem našel akorát prastarou kxmlviewer, která byla napsána snad pro KDE 1. Vzdal jsem se snah o úpravu (mimo jiné i proto, že neumím v KDE programovat) a raději si zbastlil vlastní.
Jmenuje se to iksml. Pokud se vám zdá, že to nic neumí, jste na omylu, umí přesně to, co jsem od ní potřeboval
. To jest zobrazit XML soubor. Editace není v plánu. V budoucnu by to mohlo ještě získat podporu pro KIO, nějaké to vyhledávání a možná i barvičky na zpřehlednění výstupu. Jo, možná ještě jiné ikony na sbalení a rozbalení, protože jsem tam dal to první, co mi přišlo pod ruku.
Pro XML se parsuje pomocí API SAX (a moje instalace Pythonu používá parser expat), takže by měla být aplikace rychlá a paměťově nenáročná.
Nakonec bych se ještě rád zeptal. Myslíte, že je v pořádku uvolnit aplikaci psanou pod GPL verzí Qt pod jinou, kompatibilní, ale méně restriktivní, licencí? Třeba BSD.
Tiskni
Sdílej:
A já blbec si to s pomocí příkladů programuju sám
a trolltechu pisou ze muzes dat licenci jakou chces..To bych rozhodně netvrdil: If you wish to use the Qt Open Source Edition, you must contribute all your source code to the open source community in accordance with the GPL when your application is distributed. IMHO je to tak, že na svůj vlastní kód si můžeš dát jakoukoli licenci. Ovšem v okamžiku, kdy to spojuješ s něčím, co je pod GPL, musíš aplikovat GPL na celek. Tedy k iksml: kód může být pod BSD, ale v okamžiku, kdy se spojí s Qt pod GPL v jeden program, bude pod GPL. Tím ovšem není vyloučeno (díky licenci BSD), že by ten kód pak někdo mohl vzít, přidat k tomu komerční verzi Qt a celé to zabudovat do proprietárního programu.
Tedy k iksml: kód může být pod BSD, ale v okamžiku, kdy se spojí s Qt pod GPL v jeden program, bude pod GPL.Může? I když se tam používají příkazy z API Qt? Celé mi to není moc jasné. Ale u takto nepatrného programu GPL vadit nebude, moc pochybuju, že by to někomu stálo za to to uzavírat
Ale hodilo by se mít možnost říct, licence produktu se řídí podle vaší licence na Qt. Tzn, pokud máte GPL, je to GPL, pokud máte komerční verzi, je to Public Domain/MIT/BSD ... nebo něco takového.
Malý feedback
Hodilo by se někam uvést závislosti. Musel jsem kvůli tomu postupně emergnout PyQt, pykde a pyxml.
Musel jsem zakomentovat řádky se setCapton(), jinak to vypisovalo při otevření souborů tyto hlášení:
ASSERT: "!_name.isEmpty()" in kinstance.cpp (94)
Traceback (most recent call last):
File "iksml.py", line 224, in slotOpen
self.loadXML()
File "iksml.py", line 152, in loadXML
self.setCaption(self.name() + " " + self.xml)
TypeError: cannot concatenate 'str' and 'QString' objects
verze:
* dev-python/PyQt
Latest version installed: 3.14.1-r2
* kde-base/pykde
Latest version installed: 3.5.5-r1
* dev-python/pyxml
Latest version installed: 0.8.4
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.