View Single Post
Old 11-22-2012, 03:21 PM   #3
dgatwood
Curmudgeon
dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.dgatwood ought to be getting tired of karma fortunes by now.
 
Posts: 320
Karma: 1028382
Join Date: Jan 2012
Device: iPad, iPhone, Nook Simple Touch
The spec says:

Quote:
OPS supports the full SVG 1.1 Recommendation. The only exception is that since OPS is not targeting interactive content. SVG animation and scripting features are not supported and must not be used by publication authors; a Reading System should not render such content. CSS styling of SVG must be fully supported.
The switch tag is part of the extensibility section, not the scripting or animation sections, so I would interpret that to mean that it is required functionality for spec-compliant EPUB readers. That said, I don't absolutely have to have the switch tag because, realistically, SVG content inside HTML content is never going to be rendered by any user agent that doesn't support HTML anyway.

I was able to construct a tree that renders correctly in ADE, correctly in browsers, badly (but tolerably) in iBooks, etc. Unfortunately, epubcheck says it is invalid because it doesn't like the body tag inside the foreignObject tag (which is required if you want ADE to display the HTML content) and because it doesn't like the foreignObject anywhere except inside a switch tag.

Quote:
<?xml version="1.0" encoding="utf-8"?>
<!-- version="-//W3C//DTD XHTML 1.1//EN" -->
<html version="-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:svg="http://www.w3.org/2000/svg">
<head>
<title>Part page</title>
<link rel="stylesheet" type="text/css" href="nookstyles.css" />
<link rel="stylesheet" type="text/css" href="nookstyles2.css" />
</head>
<body>
<div class="partpage">
<svg:svg version="1.1" width="6in" height="9in" baseProfile="tiny" viewBox="0 0 4320 6480" preserveAspectRatio="xMidYMid">
<svg:g transform="scale(10)">
<svg:g fill="none" stroke="green" stroke-width="1"><svg:line x1="0" y1="0" x2="431" y2="0" /><svg:line x1="431" y1="0" x2="431" y2="647" /><svg:line x1="431" y1="647" x2="0" y2="647" /><svg:line x1="0" y1="647" x2="0" y2="0" /></svg:g>
<svg:foreignObject x="0" y="148" width="432" height="300" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<body>
<div class="pp_partnum" xmlns="http://www.w3.org/1999/xhtml">Part I:</div>
</body>
</svg:foreignObject>
</svg:g>
</svg:svg>
</div>
</body>
</html>

Last edited by dgatwood; 11-22-2012 at 03:27 PM.
dgatwood is offline   Reply With Quote