1. the design demands that all elements use both start and end tags
2.missing or out-of-place elements could cause application errors
3.attribute values cannot refer to external entity references
4.High performance is an important architectural constraint