В XSD, указанном в вашем XML, говорится, что для сложного типа web-appType у вас может быть только выбор от нуля до многих из следующих элементов:
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="javaee:descriptionGroup"/>
<xsd:element name="distributable"
type="javaee:emptyType"/>
<xsd:element name="context-param"
type="javaee:param-valueType">
</xsd:element>
<xsd:element name="filter"
type="javaee:filterType"/>
<xsd:element name="filter-mapping"
type="javaee:filter-mappingType"/>
<xsd:element name="listener"
type="javaee:listenerType"/>
<xsd:element name="servlet"
type="javaee:servletType"/>
<xsd:element name="servlet-mapping"
type="javaee:servlet-mappingType"/>
<xsd:element name="session-config"
type="javaee:session-configType"/>
<xsd:element name="mime-mapping"
type="javaee:mime-mappingType"/>
<xsd:element name="welcome-file-list"
type="javaee:welcome-file-listType"/>
<xsd:element name="error-page"
type="javaee:error-pageType"/>
<xsd:element name="jsp-config"
type="javaee:jsp-configType"/>
<xsd:element name="security-constraint"
type="javaee:security-constraintType"/>
<xsd:element name="login-config"
type="javaee:login-configType"/>
<xsd:element name="security-role"
type="javaee:security-roleType"/>
<xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
<xsd:element name="message-destination"
type="javaee:message-destinationType"/>
<xsd:element name="locale-encoding-mapping-list"
type="javaee:locale-encoding-mapping-listType"/>
</xsd:choice>
Элемент taglib вообще не указан в XSD.
Из чтения этой ссылки может показаться, что вам не нужно объявлять метки в документе веб-приложения. Наличие атрибута version = "2.5" означает, что вы можете ссылаться на теги в своих JSP.