I was investigating the properties of $o(x^n)$ and found that under some circumstances its derivative is $o(x^{n-1})$, but under some other circumstances it is not true, like the function 
$$
x^3\sin \frac{1}{x} (x\neq 0); 0(x=0).
$$
What are the conditions for $o(x^n)’=o(x^{n-1})$ to hold?

Add: Could you provide some other examples of $f(x)$ such that $f(x)=o(x^n)$ for some $n$ but $f’(x)\neq o(x^{n-1})$?