追記(2009/01/19):xhtmlの拡張ポイントはblock groupでなくinline groupの方がmixedな環境で使えるので変更 XHTML+SVG+MathML版
追記:JNVDLでやったのはこちら.
コード(Test.java)はこちら.
xhtml_svg.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>
- xhtml.xsd
- http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd
修正
pattern要素のvalue属性の値中にでてくる次のパターンで'-'を'\-'とする: "[-+]?(\d+|\d+(\.\d+)?%)"を"[\-+]?(\d+|\d+(\.\d+)?%)"とする(複数箇所).
で,xsdのredefineで混ぜる.
xhtml_svg.xsd<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema targetNamespace="http://www.w3.org/1999/xhtml"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.w3.org/2000/svg" schemaLocation="svg.xsd"/>
<xsd:redefine schemaLocation="xhtml.xsd">
<xsd:group name="inline">
<xsd:sequence>
<xsd:element ref="svg:svg" />
<xsd:group ref="xhtml:inline" />
</xsd:sequence>
</xsd:group>
</xsd:redefine>
</xsd:schema>
> java Test xhtml_svg.xsd xhtml_svg.xml
間違い等あればコメントいただければ幸いです.
0 件のコメント:
コメントを投稿