1. A method of generating an assessment item comprising: receiving, by an assessment item generator, a request from a client device to generate an assessment item; receiving, by the assessment item generator, first input from the client device corresponding to a selection of a first assessment component to be included within the assessment item; embedding, by the assessment item generator, a first XML code block comprising XML code content corresponding to the selected first assessment component within a shell markup language data block corresponding to the assessment item to be generated; receiving, by the assessment item generator, second input from the client device corresponding to a selection of a second assessment component to be included within the assessment item; generating, by the assessment item generator, a second XML code block comprising XML code content corresponding to the selected second assessment component, wherein the second XML code block is generated based on the selected first assessment component; determining, by the assessment item generator, a relationship between the first and second assessment components within the assessment item; embedding, by the assessment item generator, the second XML code block corresponding to the second assessment component within the shell markup language data block, wherein the embedding of the second XML code block is based on the determined relationship between the first and second assessment components within the assessment item; revising, by the assessment item generator, the first XML code block embedded within the shell markup language data block, based on XML content of the second XML code block embedded in the shell markup language data block; and storing, by the assessment item generator, data representing the assessment item, including the shell markup language data block with the embedded first XML code block and the embedded second XML code block, into a data store.