I have a question about Mathematica's abilities to solve integrals. There seem to be cases where an antiderivative is explicitly known yet Mathematica fails to compute the integral. One example of this would be

Integrate[x PolyLog[n,Exp[x]],x]

which Mathematica only solves for n=1,2, even though it is quite easy to find a solution for higher values of n as well, namely

x PolyLog[n+1,Exp[x]] - x PolyLog[n+2,Exp[x].

I would like to know if it possible to teach Mathematica this integral in such a way that it will also recognise and solve it in more complicated cases such as