From my experience in experience, I have seen this...
experience equation breaks down into a few variables
zone* --> charlv --> charlv vs. moblv --> vitality --> group vs. solo --> level range within group (highest lv receiving most xp
probobly some more variables to consider
lets say
actual xp earned=x
zone=z
charlv=c
moblv=m
vitality(percent or fraction)=v
number in group (percent or faction)=g
solo(some zones give more solo xp then others)=s
level range within group would i assume be a float int, not sure how that works.
not sure if this can be coded or if it can even be implemented, but thats pretty close to how it works in live game.
vitality is based off of a percent as well I believe, something like this
it doesnt matter how much of a percent vit you have, 1-100% that just tells you how long or how much of the xp bonus you have left, the xp bonus could be 50%, and you could lose 2% of your actual vitality for every white conned kill you do.
I dont know if any of this makes sense. I could try and expand if needed, or just stop now because I obviously dont know what the hell I am saying

this is just my best guess work.