[QGHG-it-dev-list] Одговор на Задатак 35 од 2022-11-30: Функције за енкодирање и декодирање xml-стрингова

Лазар Радосављевић lazar.n.rad at gmail.com
Sat Jan 18 01:03:44 CET 2025


То је то, послао сам оба! :D

пет, 17. јан 2025. у 12:54 Marko Vojinovic <vmarko at ipb.ac.rs> је написао/ла:

>
> Pozdrav Lazare,
>
> Jeste, potpuno sam zaboravio da treba da te dodam na spisak kolaboratora
> na GitHub-u...
>
> Evo poslat ti je invitation, pretpostavljam da je to to. ;-)
>
> :-)
> Marko
>
>
> Dr. Marko Vojinovic
> Group for Gravitation, Particles and Fields
> Institute of Physics
> University of Belgrade
> ======================
> home page: www.markovojinovic.com
> e-mail:    vmarko at ipb.ac.rs
>
>
>
> On Fri, 17 Jan 2025, Лазар Радосављевић wrote:
>
> > Договорено!
> >
> > Треба онда само да ме додате међу сараднике на Гитхабу (ја сам
> lazar-rad). За сад бих могао само pull request да пошаљем.
> >
> > Поздрав,
> > Лазар
> >
> > уто, 14. јан 2025. у 13:57 Marko Vojinovic <vmarko at ipb.ac.rs> је
> написао/ла:
> >
> >       Pozdrav Lazare,
> >
> >       Srecni praznici! :-)
> >
> >       Super si ovo izanalizirao, nisam znao da je bag u nazivu taga a ne
> u konverziji stringova.
> >
> >       Slazem se da prepravis format tako kako si predlozio (prvo
> resenje), implementiraj ga i
> >       uploaduj.
> >
> >       A sto se tice funkcija koje si implementirao za konverziju
> stringova, ubaci i njih u
> >       input_and_output.cpp, bez obzira sto ih ne koristimo. Moguce da
> cemo ih koristiti kasnije,
> >       jer nesto nisam odusevljen rapidxml bibliotekom, mozda cemo je
> kasnije izbaciti i umesto
> >       nje staviti neku zgodniju ili napraviti nase lokalno resenje za
> xml, da se ne oslanjamo
> >       na tudj kod. Ali o tom potom...
> >
> >       Funkcije ubaci u zasebnom push-u, da ih ne mesamo sa onom
> popravkom formata odozgo.
> >
> >       Hvala i pozdrav!
> >
> >       :-)
> >       Marko
> >
> >
> >       Dr. Marko Vojinovic
> >       Group for Gravitation, Particles and Fields
> >       Institute of Physics
> >       University of Belgrade
> >       ======================
> >       home page: www.markovojinovic.com
> >       e-mail:    vmarko at ipb.ac.rs
> >
> >
> >
> >       On Tue, 14 Jan 2025, Лазар Радосављевић wrote:
> >
> >       > Поштовани,
> >       >
> >       > Позабавио сам се проблемом из овог задатка. Написао сам функције
> које се траже и оне лепо раде. Покушао сам онда да их применим у функцијама
> за чување и учитавање симплицијалних комплекса (убацио сам их на она места
> >       где се уписују,
> >       > односно дохватају, вредности xml елемената или атрибута) и
> резултат су били потпуно нечитљиви стрингови. Мислим да то има везе с тим
> што библиотека rapidxml има неки свој систем алокације стрингова, који је
> овим путем
> >       био поремећен.
> >       >
> >       > Међутим, мислим да проблем уопште није био у одсуству ових
> функција. Библиотека rapidxml већ ради конверзију свих „проблематичних”
> карактера. Проблем је у функцији `void save_complex_to_xml_file(SimpComp*,
> const
> >       string&)`, у томе
> >       > како она назива xml-елементе које креира. Наиме, ово је формат
> xml-документа који ће бити произведен:
> >       >
> >       > <"complex_name">
> >       >      <name> "complex_name" </name>
> >       >      <dimension> "D" </dimension>
> >       >      <topology> "topology of the complex" </topology>
> >       >      [<level lvl="l"> "simplices_id_list" </level> ...]
> >       >      [
> >       >      <ksimplex id="ksimplex_ID">
> >       >          <self_level> "ksimplex_lvl" </self_level>
> >       >          [<color color_type="color_type_id"> "color_value"
> </color> ...]
> >       >          [<level lvl="lvl"> "neighbours_at_lvl" </level> ...]
> >       >      </ksimplex>
> >       >      ]
> >       > </complex_name>
> >       >
> >       > Име симпкомпа који желимо да сачувамо се користи као садржај
> елемента <name>, али такође и као назив (таг) кореног елемента. По
> стандарду, називи елемената смеју да садрже само алфанумеричке знакове,
> доње црте, цртице
> >       и тачке (мада
> >       > се последња два не препоручују). Друге специјалне знакове, а
> поготово размаке, не смеју да садрже.
> >       >
> >       > Такође, називи елемената xml-документа би требало (за конкретну
> примену) да буду предефинисани, а не произвољни. Зато ме чуди то што је
> стављено да се за назив кореног елемента користи стринг који корисник
> задаје, и
> >       који може да
> >       > буде потпуно произвољан. Мислим да би најисправније било да се и
> назив кореног елемента предефинише, као што је случај са свим другим
> елементима. Предлажем да тај назив буде `simpcomp`, јер цео садржај
> документа и
> >       представља запис
> >       > једног симплицијалног комплекса. Име нашег конкретног симпкомпа
> ће, наравно, остати у потпуности сачувано као садржај елемента <name>.
> Формат xml-документа би онда био:
> >       >
> >       > <simpcomp>
> >       >      <name> "complex_name" </name>
> >       >      <dimension> "D" </dimension>
> >       >      <topology> "topology of the complex" </topology>
> >       >      [<level lvl="l"> "simplices_id_list" </level> ...]
> >       >      [
> >       >      <ksimplex id="ksimplex_ID">
> >       >          <self_level> "ksimplex_lvl" </self_level>
> >       >          [<color color_type="color_type_id"> "color_value"
> </color> ...]
> >       >          [<level lvl="lvl"> "neighbours_at_lvl" </level> ...]
> >       >      </ksimplex>
> >       >      ]
> >       > </simpcomp>
> >       >
> >       > Алтернативно решење би било да се уведе функција која
> трансформише стринг у облик који је подобан да представља назив елемента.
> Ово је сасвим другачија операција у односу на стандардно xml-овско
> ескејповање. Не би била
> >       инвертибилна,
> >       > мада за тим ни нема потребе. Могла би да се реализује, рецимо,
> тако што би се сви недозвољени знакови заменили доњом цртом, или тако што
> би се игнорисали. На пример, ако смо симпкомп назвали "Ham & Eggs", таг
> кореног
> >       елемента би био
> >       > <Ham___Eggs> или <HamEggs>.
> >       >
> >       > Да закључим, ја сам за прво решење, да корени елемент има таг
> <simpcomp>; лакше је, а и сматрам да је боље. Истестирао сам и исправно
> ради. Спреман сам да имплементирам, само чекам одобрење.
> >       > Срећни новогодишњи и божићни празници!
> >       > Лазар Радосављевић
> >       >
> >       >--
> >       QGHG-it-dev-list mailing list
> >       QGHG-it-dev-list at mail.ipb.ac.rs
> >       https://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
> >
> >
> >--
> QGHG-it-dev-list mailing list
> QGHG-it-dev-list at mail.ipb.ac.rs
> https://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/attachments/20250118/2fe164dd/attachment-0001.htm>


More information about the QGHG-it-dev-list mailing list