modified generateXSD