]> git.ipfire.org Git - thirdparty/gettext.git/commit
msgfmt: Support XML file merging wip/ueno/its2
authorDaiki Ueno <ueno@gnu.org>
Mon, 5 Oct 2015 08:18:41 +0000 (17:18 +0900)
committerDaiki Ueno <ueno@gnu.org>
Thu, 15 Oct 2015 04:09:43 +0000 (13:09 +0900)
commit2d1143a6ac1d52a6d946eefe9ae31cfecc9e371e
tree96946aecb67f956fa50f2b1cd1b986089fd4eb09
parent8701164b866f926568dad22eb221fea8438fb9f1
msgfmt: Support XML file merging

* gettext-tools/src/Makefile.am (noinst_HEADERS): Add write-xml.h.
(msgfmt_SOURCES): Add write-xml.c.
* gettext-tools/src/its.c (its_merge_context_merge_node): New function.
(its_merge_context_merge): New function.
(its_merge_context_alloc): New function.
(its_merge_context_write): New function.
(its_merge_context_free): New function.
* gettext-tools/src/its.h (its_merge_context_ty): New type.
* gettext-tools/src/msgfmt.c: Include "its.h", "locating-rule.h", and
"write-xml.h".
(SIZEOF): New macro.
(xml_mode, xml_locale_name, xml_template_name, xml_base_directory,
xml_language, xml_its_rules): New variable.
(long_options): Add --language and --xml.
(main): Handle new options.
(usage): Document new options.
(msgfmt_xml_bulk): New function.
* gettext-tools/src/write-xml.c: New file.
* gettext-tools/src/write-xml.h: New file.
* gettext-tools/doc/gettext.texi: Mention XML file merging use-case.
* gettext-tools/doc/msgfmt.texi: Mention --xml option.
* gettext-tools/tests/msgfmt-xml-1: New file.
* gettext-tools/tests/msgfmt-xml-2: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add new tests.
gettext-tools/doc/gettext.texi
gettext-tools/doc/msgfmt.texi
gettext-tools/src/Makefile.am
gettext-tools/src/its.c
gettext-tools/src/its.h
gettext-tools/src/msgfmt.c
gettext-tools/src/write-xml.c [new file with mode: 0644]
gettext-tools/src/write-xml.h [new file with mode: 0644]
gettext-tools/tests/Makefile.am
gettext-tools/tests/msgfmt-xml-1 [new file with mode: 0755]
gettext-tools/tests/msgfmt-xml-2 [new file with mode: 0755]