Add W3C validator script

This commit is contained in:
~lucidiot 2023-10-16 01:36:11 +02:00
parent 34990d6157
commit 0f0ed2084b
2 changed files with 48 additions and 0 deletions

View File

@ -27,3 +27,6 @@ img/sprites.png: $(sprites)
css/sprites.css: img/sprites.png xquery/build_sprites_css.xqy
xidel --extract-kind=xquery3 --extract-file=xquery/build_sprites_css.xqy > $@
chmod a+r $@
validate: feed.xml
xidel --extract-kind=xquery3 --extract-file=xquery/validator.xqy

45
xquery/validator.xqy Normal file
View File

@ -0,0 +1,45 @@
declare namespace m = "http://www.w3.org/2005/10/feed-validator";
parse-xml(x:request(x:form(
<form action="https://validator.w3.org/feed/check.cgi">
<input name="output" value="soap12" />
<input name="url" value="https://envs.net/~lucidiot/rsrsss/feed.xml" />
</form>
))/raw)//m:feedvalidationresponse ! concat(
"W3C feed validation results for ",
m:uri,
" on ",
m:date,
": ",
switch (m:validity)
case "true" return "VALID"
case "false" return "INVALID"
default return concat("UNKNOWN (", ., ")"),
"&#10;",
m:errors/m:errorcount,
" errors, ",
m:warnings/m:warningcount,
" warnings, ",
m:informations/m:infocount,
" informations&#10;",
string-join((
m:errors/m:errorlist/error,
m:warnings/m:warninglist/warning,
m:informations/m:infolist/info
) ! concat(
"&#10;",
upper-case(name()),
" at line ",
if (backupline ne line) then backupline else line,
", column ",
if (backupcolumn ne column) then backupcolumn else column,
": ",
text,
if (number(msgcount) gt 1) then concat("&#10; Repeated ", msgcount, "times") else "",
"&#10; Documentation: https://validator.w3.org/feed/docs/",
lower-case(name()),
"/",
type,
".html"
), "&#10;")
)