write an xml parser which imports one xml structure and then exports same data with another

write an xml parser which imports one xml structure and then exports same data with another

Cancelled

Job Description

I need an xml parser that would take my xml file and export it with a different xml layout. it should work forward and backward (i.e. file with structure 1 should convert into file with structure 2, and file with structure 2 should convert back to file with structure 1).

file structures are defined below. you can use them as your test files.

The app should do the following:
1) take the Structure 1 file and export it into Structure 2 file
2) take the Structure 1 file and export it into Structure 3 file
3) take the Structure 2 and Structure 3 files and export them into Structure 1 file (where Structure 2 file values will appear as <default> and Structure 2 values will appear as <translation>)

Please, indicate what technology you would use to build the parser (I'm fine if it's hosted or works on mac or windows), how long you expect it to take you (e.g. so that I know what's the approximate cost).

Structure 1 (basic structure is
<translation>
<package>
<message>
<default></default>
<translation></translation>
</message>
</package>
</translation>
the xml's header should stay in tack for scenario #3)
<?xml version="1.0" encoding="UTF-8"?>
<translations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://locale/schema/translations" translationLanguage="en" defaultLanguage="ru" application="web" xsi:schemaLocation="http://locale/schema/translations translations.xsd">
<package name="app.features.package">
<message name="send.some.feature.outgoing">
<default>Текст по-русски</default>
<translation>Text in english</translation>
</message>
<message name="send.something.inbound">
<default>Текст по-русски опять</default>
<translation>English translation</translation>
</message>
</package>
<package name="app.another.feature">
<message name="send.something.outgoing.raw">
<default>текст по-русски опять снова</default>
<translation>same text now in english</translation>
</message>
</package>
</translations>

Structure 2 (combines the <package name> and <message name> into <string name>, puts the <default> value as <string> value)

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app.features.package_send.some.feature.outgoing">Текст по-русски</string>
<string name="app.features.package_send.something.inbound">Текст по-русски опять</string>
<string name="app.another.feature_send.something.outgoing.raw">текст по-русски опять снова</string>
</resources>

Structure 3 (combines the <package name> and <message name> into <string name>, puts the <translation> value as <string> value)

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app.features.package_send.some.feature.outgoing">Текст по-русски</string>
<string name="app.features.package_send.something.inbound">Текст по-русски опять</string>
<string name="app.another.feature_send.something.outgoing.raw">текст по-русски опять снова</string>
</resources>

Other open jobs by this client