2009年1月15日木曜日

JNVDLでやってみよう(XHTML+SVGのValidate)

NVDL: http://nvdl.org/ (wikipedia:Namespace-based Validation Dispatching Language)
JNVDL: http://jnvdl.sourceforge.net/

0.download等
http://sourceforge.net/project/showfiles.php?group_id=164464からdownload(jnvdl-20071112.zip)して展開.

jnvdl.shに実行権を付けとく.
> cd jnvdl-20071112
> chmod a+x jnvdl.sh


1.rule.nvdl
<rules xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0">
<namespace ns="http://www.w3.org/1999/xhtml">
<validate schema="http://www.thaiopensource.com/relaxng/xhtml/xhtml.rng"/>
</namespace>
<namespace ns="http://www.w3.org/2000/svg">
<validate schema="http://www.w3.org/Graphics/SVG/1.1/rng/svg11-basic.rng"/>
</namespace>
<anyNamespace>
<reject/>
</anyNamespace>
</rules>


2.document.xml
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title/></head>
<body>
<h1>XHTML にインラインで埋め込まれた SVG</h1>
<svg xmlns="http://www.w3.org/2000/svg" width="300px" height="200px">
<circle cx="150" cy="100" r="50" fill="#ff0000"/>
</svg>
</body>
</html>


3.validate
> ./jnvdl.sh -s rule.nvdl document.xml


簡単.なんだけど遅い.rngをとりにいくあたりが問題かしら.

xsdのみでの解決はこちら

間違い等あればコメントいただければ幸いです.

0 件のコメント: