diff --git a/unoxml/source/rdf/librdf_repository.cxx b/unoxml/source/rdf/librdf_repository.cxx index 72c89aeac19d..a7e50e7e232d 100644 --- a/unoxml/source/rdf/librdf_repository.cxx +++ b/unoxml/source/rdf/librdf_repository.cxx @@ -64,6 +64,19 @@ #include #include #include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +#include /** @@ -1889,7 +1902,15 @@ librdf_world *librdf_TypeConverter::createWorld() const m_rRep); } //FIXME logger, digest, features? + xsltSecurityPrefsPtr origprefs = xsltGetDefaultSecurityPrefs(); librdf_world_open(pWorld); + xsltSecurityPrefsPtr newprefs = xsltGetDefaultSecurityPrefs(); + if (newprefs != origprefs) { + // #i110523# restore libxslt global configuration + // (gratuitously overwritten by raptor_init_parser_grddl_common) + // (this is the only reason unordf is linked against libxslt) + xsltSetDefaultSecurityPrefs(origprefs); + } return pWorld; } diff --git a/unoxml/source/rdf/makefile.mk b/unoxml/source/rdf/makefile.mk index 1fd36f45ce0b..3f6d7f445297 100644 --- a/unoxml/source/rdf/makefile.mk +++ b/unoxml/source/rdf/makefile.mk @@ -41,6 +41,13 @@ ENABLE_EXCEPTIONS=TRUE CFLAGS+=-DSYSTEM_REDLAND $(REDLAND_CFLAGS) .ENDIF +.IF "$(SYSTEM_LIBXSLT)" == "YES" +CFLAGS+= $(LIBXSLT_CFLAGS) +.ELSE +LIBXSLTINCDIR=external$/libxslt +CFLAGS+= -I$(SOLARINCDIR)$/$(LIBXSLTINCDIR) +.ENDIF + # --- Files -------------------------------------------------------- .IF "$(L10N_framework)"=="" @@ -64,6 +71,7 @@ DEF1NAME=$(SHL1TARGET) SHL1STDLIBS= \ $(REDLANDLIB) \ + $(XSLTLIB) \ $(CPPUHELPERLIB) \ $(CPPULIB) \ $(SALLIB) \