Ответ 1
В новых версиях спецификации сервлета используются файлы .xsd без дополнительной информации об атрибуте id, но если вы вернетесь к более старым версиям с .dtd, например web_app_2_2.dtd, вы найдете:
Механизм ID - это позволить инструментам легко создавать ссылки на конкретные инструменты к элементам развертывания дескриптор. Это позволяет использовать инструменты, которые производить дополнительное развертывание информации (т.е. информация за пределами стандартный дескриптор развертывания информации) для хранения нестандартных информации в отдельном файле и легко ссылаться на эти конкретные инструменты файлы к информации в стандартное развертывание веб-приложений дескриптор.
Например, WebSphere Application Server использовал механизм id в своих старых файлах bnd и ext:
web.xml:
<web-app id="WebApp_ID" ...
ibm-web-app-bnd.xmi:
<webappbnd:WebAppBinding ...
<webapp href="WEB-INF/web.xml#WebApp_ID"/>
(К счастью, это удобное использование атрибутов id с помощью инструмента, но разработчик больше не требуется с новым форматом файла .xml для ibm-web-bnd/ext, но я отвлекаюсь.)