microsoft / XLIFF2-Object-Model

If you’re looking to store localization data and propagate it through your localization pipeline allowing tools to interoperate then you may want to use the XLIFF 2.0 object model. The XLIFF 2.0 object model implements the OASIS Standard for the XLIFF 2.0 specification as defined at http://docs.oasis-open.org/xliff/xliff-core/v2.0/xliff-core-v2.0.html.
Other
86 stars 25 forks source link

<data> made of spaces only is not preserved. #13

Open ysavourel opened 8 years ago

ysavourel commented 8 years ago

When a <data> element contains only spaces the content is discarded when reading the file. The expected behavior is to preserve the spaces.

For example, for this content:

String data = "<xliff srcLang='en' version='2.0' xmlns='urn:oasis:names:tc:xliff:document:2.0'>"
   + "<file id='f1'><unit id='u1'>"
   + "<originalData><data id='d1'>   </data></originalData>"
   + "<segment><source><ph id='ph1' dataRef='d1'/>Sentence 1.</source></segment>"
   + "</unit></file></xliff>";

We get:

Type: Localization.Xliff.OM.Core.File
Type: Localization.Xliff.OM.Core.Unit
Type: Localization.Xliff.OM.Core.OriginalData
Type: Localization.Xliff.OM.Core.Data
Type: Localization.Xliff.OM.Core.Segment
Type: Localization.Xliff.OM.Core.Source
Type: Localization.Xliff.OM.Core.StandaloneCode
Type: Localization.Xliff.OM.Core.PlainText
Content: 'Sentence 1.'

While the expected result is:

Type: Localization.Xliff.OM.Core.File
Type: Localization.Xliff.OM.Core.Unit
Type: Localization.Xliff.OM.Core.OriginalData
Type: Localization.Xliff.OM.Core.Data
Type: Localization.Xliff.OM.Core.PlainText
Content: '   '
Type: Localization.Xliff.OM.Core.Segment
Type: Localization.Xliff.OM.Core.Source
Type: Localization.Xliff.OM.Core.StandaloneCode
Type: Localization.Xliff.OM.Core.PlainText
Content: 'Sentence 1.'
RyanKing77 commented 8 years ago

Thanks for reporting this issue. If you would like to contribute a fix, please do so via a pull request. Otherwise, we will evaluate and prioritize the fix as appropriate.