2011-09-02 9 views
5

Con el nuevo doctype y los elementos que forman parte de HTML5, ¿cómo obtiene xdmp:tidy() para reconocerlos en HTML5?¿Cómo obtener xdmp: tidy() para ordenar HTML5?

Si tengo una página HTML que contiene algo como:

<!DOCTYPE html> 
<html> 
    <header>blah</header> 
    <section>blah</section> 

y vuelva a intentar algo como: xdmp:tidy(xdmp:document-get("home.html"))

tengo errores como:

<section> is not recognized! discarding unexpected <section> 
<header> is not recognized! discarding unexpected <header> 

¿Hay algunas opciones Puedo enviarlo al xdmp:tidy() para que lo maneje?

Respuesta

1

Intente utilizar la opción new-blocklevel-tags que especifica las nuevas etiquetas HTML5. Puede incluir varios elementos separándolos con una coma o espacio. Debería obtener el resultado esperado sin errores, pero aún habrá advertencias.

probar este en CQ:

xdmp:tidy(xdmp:document-get("home.html"), <options xmlns="xdmp:tidy"><new-blocklevel-tags>header section</new-blocklevel-tags></options>)

Haga clic here para una buena referencia sobre la adición de varias etiquetas (nivel de bloque, en línea, vacío) que debería funcionar como opciones en xdmp: ordenado. La misma información es here, pero es un poco más difícil de encontrar, ¡hay tantas opciones!

+2

he intentado su sugerencia, pero ahora me sale: ' < sección > no es aprobada por el W3C ' <encabezado> no aprobado por W3C – RyanS

1

El resto de esta discusión se acercó a la lista de correo MarkLogic en http://markmail.org/thread/emwua43mg63wxbno


Esto producen advertencias, pero parece que funciona, sin embargo:

versión xquery "1,0 ml";

let $htmlstring := 
'<html> 
    <header>blah</header> 
    <section>blah</section> 
<p>hello</p> 
</html>' 
return 
xdmp:tidy($htmlstring, 
<options xmlns="xdmp:tidy"> 
    <new-inline-tags>header section</new-inline-tags> 
    <new-blocklevel-tags>header section</new-blocklevel-tags> 
</options>) 
+0

Con http://markmail.org/message/jze7rhnunvvk7sqf con los detalles. –

Cuestiones relacionadas