Portál AbcLinuxu, 2. května 2025 05:30
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 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
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.