A HTML preprocessor based on object oriented principles