Validador oficial do XSLT?

Existe algum validador XSLT oficial, como http://validator.w3.org/ para HTML & XHTML?

eu sei http://validator.w3.org/ também pode ser usado para validar documentos XML e XSL. Mas são validadas como estruturas XML.

em XHTML válido, por exemplo, <span><div>...</div></span> é inválido, dado que os elementos de bloco não devem aparecer dentro dos elementos em linha.

Então, existe uma maneira conveniente de validar directamente o documento XSL?

(acho que podemos combinar XML e XSL, emite o XHTML e depois valida-o. Mas isto não é directo nem conveniente.)

Obrigado!

Author: midnite, 2013-12-16

3 answers

Assumo que, ao validar as folhas de estilo XSLT, quer dizer verificar se os elementos, atributos etcetera num documento XML já bem formado (que parece ser o código XSLT) aderem à especificação XSLT W3C.

Em primeiro lugar, note que existe uma diferença entre o bem-estar e a validade de um documento XML. Ele é bem formado se os elementos contidos são devidamente aninhados, se há um único elemento raiz e assim por diante (isto é definido pelo XML especificacao). Veja Também: existe uma diferença entre' XML válido 'e'xml bem formado'? .

A validade de um documento XML só pode ser verificada em conjunto com um esquema XML (ou DTD, ou RelaxNG...). Um esquema é um conjunto de regras que definem, por exemplo, quais elementos e atributos são permitidos em que sequência.

Agora, para responder à sua pergunta: não existe tal serviço do W3C, no entanto, há um esquema disponível, Ver por exemplo: http://www.w3.org/2007/schema-for-xslt20.xsd para um esquema que incorpore todas as estruturas de "standard" {[[0]}.

Pode validar o seu código XSLT com este esquema. Ainda assim, é mais perspicaz executar o seu código com um processador XSLT e procurar os avisos e erros que produz.


Além disso, esteja ciente de que a validade do código XSLT e a validade do XHTML que ele emite não é a mesma. Mesmo que o seu XSLT seja perfeitamente válido em relação ao XSLT specification, it does not mean that the resulting XHTML is reasonable.

 11
Author: Mathias Müller, 2017-05-23 12:34:23

No caso geral, não pode tomar uma folha de estilo XSLT arbitrária e provar estaticamente que irá gerar XHTML válido. Você pode, no entanto, detectar alguns casos em que ele não vai, desde que a folha de estilo é escrito para tirar proveito do schema-conscientização. Para isso, você precisa de um processador XSLT que faça a verificação estática (por exemplo Saxon-EE), e você precisa da 'stylesheet' para (a) importar o esquema usando o xslt: import-schema, e (b) para invocar a validação dos elementos do resultado usando [xsl:]validação= "estrito". Isto irá detectar alguns erros de validade na sua saída de 'stylesheet' estaticamente (ao compilar a 'stylesheet'), e o restante dinamicamente (ao executá-la).

 2
Author: Michael Kay, 2013-12-16 12:53:59

Existem muitas ferramentas de edição XML (e provavelmente algumas HTML também) que conhecem a estrutura do (X)HTML o suficiente para destacar erros. Visual Studio, por exemplo, pode validar qualquer documento XML usando o esquema, incluindo XHTML ou XSL - se um div é ou não permitido dentro de um span é definido no esquema XHTML.

 0
Author: Flynn1179, 2013-12-16 09:36:40