Я предполагаю, что, проверяя таблицы стилей XSLT, вы имеете в виду проверку того, соответствуют ли элементы, атрибуты и т. Д. В уже хорошо сформированном XML-документе (который представляется XSLT-кодом) спецификации XSLT W3C.
Прежде всего обратите внимание, что существует различие между корректностью и достоверностью XML-документа. Он хорошо сформирован, если содержащиеся элементы правильно вложены, если есть один корневой элемент и т. Д. (Это определяется спецификацией XML). Также см .: Is there a difference between 'valid xml' and 'well formed xml'?.
Действительность документа XML может быть проверена только вместе с XML-схемой (или DTD, или RelaxNG ...). Схема - это набор правил, определяющих, например, какие элементы и атрибуты разрешены в какой последовательности.
Теперь, чтобы ответить на ваш вопрос: такой услуги у W3C нет, однако имеется доступная схема, см., Например, http://www.w3.org/2007/schema-for-xslt20.xsd для схемы, которая включает в себя все структуры «стандарт» XSLT 2.0
.
Вы можете проверить свой XSLT-код на эту схему. Тем не менее, более проницательно просто запустить ваш код с XSLT-процессором и искать предупреждения и ошибки, которые он производит.
Кроме того, следует помнить, что срок действия XSLT кода и действительности XHTML он выдает не то же самое. Даже если ваш XSLT совершенно применим в отношении спецификации XSLT, это не означает, что полученный XHTML является разумным.
Я не вижу, как это может работать, за исключением, возможно, в самых простых случаях. Вы не можете проверить будущий продукт, который зависит от ввода, пока неизвестного.Рассмотрим случай, когда таблица стилей определяет элемент с вычисленным именем. Как валидатор может знать, каким будет это имя? Это может быть «span», и это может быть «div». –
хорошо ... да ... спасибо за комментарий. Это меня вдохновляет, и возникает еще один вопрос: с тем же XML и XSL, в каком-то случае они будут генерировать разные XHTML? – midnite
И если мы только проверяем XSL, будет ли какой-то странный (но действительный) XML делать некоторые трюки (например, инъекции) по отношению к полученному XHTML? – midnite