diff options
author | Andras Timar <atimar@suse.com> | 2012-11-20 15:03:34 +0100 |
---|---|---|
committer | Andras Timar <atimar@suse.com> | 2012-11-20 15:03:34 +0100 |
commit | fa88b3717d58410f6318c520b0397000f86b9720 (patch) | |
tree | ad8f1b2135ebe8045de55e5af233ff442d901444 /l10ntools/source/helpmerge.cxx | |
parent | 54cd57e03e115d6b009409e6df374603452b1378 (diff) | |
parent | a7261b424716463a7bb157f0d79084c868e10015 (diff) |
Merge branch 'feature/killsdf'
Conflicts:
desktop/prj/build.lst
helpcontent2
l10ntools/Executable_gsicheck.mk
l10ntools/Executable_uiex.mk
regexp/inc/regexp/reclass.hxx
solenv/gbuild/AllLangResTarget.mk
Change-Id: I398f0cd9e7daefa8d2e04fd977d5bc2e9708169b
Diffstat (limited to 'l10ntools/source/helpmerge.cxx')
-rw-r--r-- | l10ntools/source/helpmerge.cxx | 60 |
1 files changed, 11 insertions, 49 deletions
diff --git a/l10ntools/source/helpmerge.cxx b/l10ntools/source/helpmerge.cxx index 05b3800bbc81..68f745397378 100644 --- a/l10ntools/source/helpmerge.cxx +++ b/l10ntools/source/helpmerge.cxx @@ -227,51 +227,6 @@ void HelpParser::parse_languages( std::vector<rtl::OString>& aLanguages , MergeD } -bool HelpParser::Merge( - const rtl::OString &rSDFFile, const rtl::OString &rPathX , const rtl::OString &rPathY , bool bISO , - const std::vector<rtl::OString>& aLanguages , MergeDataFile& aMergeDataFile , bool bCreateDir ) -{ - - - (void) rSDFFile ; - bool hasNoError = true; - SimpleXMLParser aParser; - rtl::OUString sXmlFile( - rtl::OStringToOUString(sHelpFile, RTL_TEXTENCODING_ASCII_US)); - //TODO: explicit BOM handling? - - XMLFile* xmlfile = aParser.Execute( sXmlFile, new XMLFile( rtl::OUString('0') ) ); - - if( xmlfile == NULL) - { - printf("%s\n", rtl::OUStringToOString(aParser.GetError().sMessage, RTL_TEXTENCODING_UTF8).getStr()); - exit(-1); - } - - xmlfile->Extract(); - - rtl::OString sCur; - for( unsigned int n = 0; n < aLanguages.size(); n++ ){ - sCur = aLanguages[ n ]; - - rtl::OString sFilepath; - if( bISO ) sFilepath = GetOutpath( rPathX , sCur , rPathY ); - else sFilepath = rPathX; - if( bCreateDir ) - MakeDir(sFilepath); - - XMLFile* file = new XMLFile( *xmlfile ); - sFilepath += sHelpFile; - hasNoError = MergeSingleFile( file , aMergeDataFile , sCur , sFilepath ); - delete file; - - if( !hasNoError ) return false; // Stop on error - } - - delete xmlfile; - return hasNoError; -} - bool HelpParser::MergeSingleFile( XMLFile* file , MergeDataFile& aMergeDataFile , const rtl::OString& sLanguage , rtl::OString const & sPath ) { @@ -341,7 +296,7 @@ void HelpParser::MakeDir(const rtl::OString& rPath) void HelpParser::ProcessHelp( LangHashMap* aLangHM , const rtl::OString& sCur , ResData *pResData , MergeDataFile& aMergeDataFile ){ XMLElement* pXMLElement = NULL; - PFormEntrys *pEntrys = NULL; + PFormEntrys *pEntrys = NULL; XMLData *data = NULL; rtl::OString sLId; @@ -379,9 +334,16 @@ void HelpParser::ProcessHelp( LangHashMap* aLangHM , const rtl::OString& sCur , while ( (nPreSpaces < nLen) && (*(sSourceText.getStr()+nPreSpaces) == ' ') ) nPreSpaces++; pEntrys->GetText( sNewText, STRING_TYP_TEXT, sCur , true ); - rtl::OUString sNewdata( - sSourceText.copy(0,nPreSpaces) + - rtl::OStringToOUString(sNewText, RTL_TEXTENCODING_UTF8)); + OUString sNewdata; + if (helper::isWellFormedXML(helper::QuotHTML(sNewText))) + { + sNewdata = sSourceText.copy(0,nPreSpaces) + + rtl::OStringToOUString(sNewText, RTL_TEXTENCODING_UTF8); + } + else + { + sNewdata = sSourceText; + } if (!sNewdata.isEmpty()) { if( pXMLElement != NULL ) |