- From: SVG Working Group repository <cam+svgwgrepo@mcc.id.au>
- Date: Fri, 01 Nov 2013 14:25:45 -0700
- To: public-svg-wg@w3.org
details: https://svgwg.org/hg/svg2/rev/ee9042369033 branches: changeset: 547:ee9042369033 user: Dirk Schulze <krit@webkit.org> date: Fri Nov 01 22:25:20 2013 +0100 description: Add first early draft of security model for SVG Integration diffstat: specs/default.css | 694 ++++++++++++++++++++++++++++++++++++ specs/integration/Overview.html | 321 ++++++++++++++++ specs/integration/Overview.src.html | 84 ++++ 3 files changed, 1099 insertions(+), 0 deletions(-) diffs (1116 lines): diff --git a/specs/default.css b/specs/default.css new file mode 100644 --- /dev/null +++ b/specs/default.css @@ -0,0 +1,694 @@ +/* + * Style sheet for the CSS3 specification, + * to be used in addition to http://www.w3.org/StyleSheets/TR/W3C-{WD,PR,REC} + */ + +@media print { + html { margin: 0 !important } + body { font-family: serif } + th, td { font-family: inherit } + a { color: inherit !important } + .example:before { font-family: serif !important } + a:link, a:visited { text-decoration: none !important } + a:link:after, a:visited:after { /* create a cross-ref "see..." */ } +} +@page { + margin: 1.5cm 1.1cm; +} + +body { + counter-reset: exampleno figure issue; + max-width: 50em; + margin: 0 auto !important; +} + +/* Pagination */ +h1, h2, h3, h4, h5, h6 { page-break-after: avoid } +figure, div.figure, div.sidefigure, pre, table.propdef, table.propdef-extra, +.example { page-break-inside: avoid } +dt { page-break-after: avoid } + +span.id {float: right; font-weight: bold} + +/* General Structural Markup */ +h2, h3, h5, h6 { margin-top: 3em; } + +h1 + h2 { margin-top: 0; } + +h4 { margin-top: 4em; } + +h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 1.2em } + +p, div.note, div.issue { + margin-top: 1em; + margin-bottom: 1em; +} + +dd > p:first-child, li > p:first-child, .note > p:first-child, .issue > p:first-child { + margin-top: 0 +} + +pre { + margin-top: 1em; + margin-bottom: 1em; +} + +pre, code { + font-family: Menlo, Consolas, "DejaVu Sans Mono", monospace; + font-size: .9em; +} + +img { + border-style: none; + color: white; +} +.toc { +} + +body { + line-height: 1.5; +} + +a:link, a:visited { + border-bottom: 1px solid silver; + color: inherit; + text-decoration: none; +} + +a.logo:link, a.logo:visited { + padding: 0; + border-style: none; +} + +dl dd { margin: 0 0 1em 2em } +.head dd { margin-bottom: 0; } +ul, ol { margin-left: 0; padding-left: 2em; } +li { margin: 0.25em 2em 0.5em 0; padding-left: 0 } + +ul.indexlist { margin-left: 0; columns: 13em; } +ul.indexlist li { margin-left: 0; list-style: none } +ul.indexlist li li { margin-left: 1em } +ul.indexlist a { font-weight: bold; } + +/* .self-link is a link to the element */ +.heading, .issue, .note, .example, li, dt { position: relative; } +a.self-link { + position: absolute; + top: 0; + left: -2.5em; + width: 2em; + height: 2em; + text-align: center; + border: none; + transition: opacity .2s; + opacity: .5; +} +a.self-link:hover { + opacity: 1; +} +.heading > a.self-link { + font-size: 83%; +} +li > a.self-link { + left: -3.5em; +} +dfn > a.self-link { + top: auto; + left: auto; + opacity: 0; + width: 1.5em; + height: 1.5em; + background: gray; + color: white; + font-style: normal; + transition: opacity .2s, background-color .2s, color .2s; +} +dfn:hover > a.self-link { + opacity: 1; +} +dfn > a.self-link:hover { + color: black; +} + +a.self-link::before { content: "¶"; } +.heading > a.self-link::before { content: "§"; } +dfn > a.self-link::before { content: "#"; } + +/* Examples */ + +.example { + counter-increment: exampleno; +} +.example:before { + content: "Example"; + content: "Example " counter(exampleno); + min-width: 7.5em; + text-transform: uppercase; + display: block; +} +div.illegal-example:before, pre.illegal-example:before { + content: "Invalid Example"; + content: "Invalid Example" counter(exampleno); +} +.example, .illegal-example, div.html, div.illegal-html, div.xml, +div.illegal-xml, pre.html, +pre.illegal-html, pre.xml, pre.illegal-xml { + padding: 0.5em; + margin: 1em 0; + position: relative; + clear: both; +} +pre.example, pre.illegal-example, pre.html, +pre.illegal-html, pre.xml, pre.illegal-xml { + padding-top: 1.5em; +} +pre.illegal-example { color: red } +div.illegal-example { color: red } +div.illegal-example p { color: black } + +div.html { color: #600 } +pre.html { color: #600 } +pre.illegal-html { color: red } +div.illegal-html { color: red } +div.illegal-html p { color: black } +pre.deprecated-html { color: red } +div.deprecated-html { color: red } +div.deprecated-html p { color: black } + +div.xml { color: #600 } +pre.xml { color: #600 } +pre.illegal-xml { color: red } +div.illegal-xml { color: red } +div.illegal-xml p { color: black } + +.css, .property { color: #005a9c } /* inline CSS code (SPAN/CODE) */ +code.css { font-family: inherit; font-size: 100% } +code.html { color: #600 } /* inline HTML */ +code.xml { color: #600 } /* inline XML */ +.property { font: inherit; white-space: nowrap; } /* name of a CSS property (SPAN) */ +.descriptor { } /* name of a CSS descriptor (SPAN) */ +.type { font-style: italic } /* A <type> value for a property */ + +/* Autolinks produced using Tab's preprocessor. */ +[data-link-type="property"]::before, +[data-link-type="propdesc"]::before, +[data-link-type="descriptor"]::before, +[data-link-type="value"]::before, +[data-link-type="function"]::before, +[data-link-type="at-rule"]::before, +[data-link-type="selector"]::before, +[data-link-type="maybe"]::before {content: "\2018";} +[data-link-type="property"]::after, +[data-link-type="propdesc"]::after, +[data-link-type="descriptor"]::after, +[data-link-type="value"]::after, +[data-link-type="function"]::after, +[data-link-type="at-rule"]::after, +[data-link-type="selector"]::after, +[data-link-type="maybe"]::after {content: "\2019";} +[data-link-type].production::before, +[data-link-type].production::after { content: ""; } + +dfn { font-weight: bolder; } +a > i { font-style: normal; } /* Instance of term */ + +.issue, .note, .example { + padding: .5em; + /* padding: .5rem; /* proposed unit in css3-values */ + border-left-width: .5em; + /* border-left-width: .5rem; /* proposed unit in css3-values */ + border-left-style: solid; +} +span.note, span.issue { padding: .1em .5em .15em; } + +/* Open issue / editorial remark; not intended for a final publication */ +.issue { + border-color: #E05252; + background: #FBE9E9; + counter-increment: issue; +} + +.issue:before { + content: "Issue " counter(issue); + padding-right: 1em; + text-transform: uppercase; + color: #E05252; +} + +/* Class note is a non-normative note. May be inline or a P or DIV */ +.note { + border-color: #52E052; + background: #E9FBE9; +} + +.normref { color: red } +.informref { color: green } + +/* Example box */ +.example { + border-color: #E0CB52; + background: #FCFAEE; +} + +.example:before { + color: #B9AB2D; + font-family: sans-serif; +} + +/* ToC not indented, but font style shows hierarchy */ +ul.toc {margin: 1em 0; padding: 0; line-height: 1.3; font-weight: bold; /*text-transform: uppercase;*/ } +ul.toc ul {margin: 0; padding: 0; font-weight: normal; text-transform: none; } +ul.toc ul ul {margin: 0 0 0 2em; font-style: italic; } +ul.toc ul ul ul {margin: 0} +ul.toc > li {margin: 1.5em 0; padding: 0; } +ul.toc ul.toc li { margin: 0.3em 0 0 0; } +ul.toc a { text-decoration: none; border-bottom-style: none; } +ul.toc a:hover, ul.toc a:focus { border-bottom-style: solid; } +/* +ul.toc li li li, ul.toc li li li ul {margin-left: 0; display: inline} +ul.toc li li li ul, ul.toc li li li ul li {margin-left: 0; display: inline} +*/ + +/* Section numbers in a column of their own */ +ul.toc span.secno {float: left; width: 4em; margin-left: -5em} +ul.toc ul ul span.secno { margin-left: -7em; } +/*ul.toc span.secno {text-align: right}*/ +ul.toc li {clear: both} +ul.toc {margin-left: 5em} +/* If we had 'tab', floats would not be needed here: + ul.toc span.secno {tab: 5em right; margin-right: 1em} + ul.toc li {text-indent: 5em hanging} + The second line in case items wrap +*/ + +ul.index { + list-style: none; +} + +s, del {text-decoration: line-through; color: red} +u, ins {text-decoration: underline; background: #bfa} + +div.figure, p.figure, div.sidefigure, figure { + text-align: center; + margin: 2.5em 0; +} +div.figure pre, div.sidefigure pre, figure pre { + text-align: left; + display: table; + margin: 1em auto; +} +.figure table, figure table { + margin: auto; +} +div.sidefigure, figure.sidefigure { + float: right; + width: 50%; + margin: 0 0 0.5em 0.5em +} +div.figure img, div.sidefigure img, figure img, +div.figure object, div.sidefigure object, figure object { + display: block; + margin: auto; + max-width: 100% +} +p.caption, figcaption, caption { + text-align: center; + font-style: italic; + font-size: 90%; +} +p.caption:before, figcaption:before { + content: "Figure " counter(figure) ". "; + font-weight: bold; +} +p.caption, figcaption { + counter-increment: figure; +} + +/* DL list is indented, but figure inside it is not */ +dd { margin-left: 2em } +dd div.figure, dd figure { margin-left: -2em } + +sup { + vertical-align: super; + font-size: 80% +} + +/* "Equations" (not real MathML, but simple HTML) are put in a +blockquote and may have an equation number. We make sure the +blockquote has enough margin on the right and then put the equation +number there. */ + +blockquote { + margin: 0.5em 4em 0.5em 2em; + text-indent: 0; +} +.eqno { + text-align: right; + float: right; + width: 3em; + margin: 0 -4em 0 0; + font-weight: bold; + /* background: silver; color: black; padding: 0.1em */ +} + +table.equiv-table { border-spacing: 0; margin: 0.5em 0 } +table.equiv-table th, table.equiv-table td { padding: 0.3em } +table.equiv-table th { text-align: left } +/* table.equiv-table th:first-child { text-align: right } */ +table.equiv-table td, table.equiv-table th { border-bottom: thin solid #666 } +table.equiv-table { border-bottom: hidden } +table.equiv-table { empty-cells: show } +table.equiv-table caption { margin: 0.5em 0 0 0 } + +/* Style for table of properties */ +table.proptable { + font-size: small; + border-collapse: collapse; + border-spacing: 0; + text-align: left; + margin: 1em 0; +} + +table.proptable td, table.proptable th { + padding: 0.4em; + text-align: center; +} + +table.proptable tr:hover td { + background: #DEF; +} + + +/* Style for table that defines a property or a descriptor */ +table.propdef, table.propdef-extra, table.descdef, table.definition-table { + border-spacing: 0; + padding: 0 1em 0.5em; + width: 100%; + table-layout: fixed; + background: #DEF; + margin: 1.2em 0; + border-left: 0.5em solid #8CCBF2; +} + +table.propdef td, table.propdef-extra td, table.descdef td, table.definition-table td, +table.propdef th, table.propdef-extra th, table.descdef th, table.definition-table th { + padding: 0.5em; + vertical-align: baseline; + border-bottom: 1px solid #bbd7e9; +} +/* +table.propdef dfn, table.propdef-extra dfn, table.descdef dfn { + font-weight: bold; + font-style: normal +} +*/ + +table.propdef td:first-child, +table.propdef-extra td:first-child, +table.descdef td:first-child, +table.definition-table td:first-child, +table.propdef th:first-child, +table.propdef-extra th:first-child, +table.descdef th:first-child, +table.definition-table th:first-child { + font-style: italic; + font-weight: normal; + width: 8.3em; + padding-left: 1em; +} +table.propdef td[colspan]:first-child, +table.propdef-extra td[colspan]:first-child, +table.descdef td[colspan]:first-child, +table.definition-table td[colspan]:first-child, +table.propdef th[colspan]:first-child, +table.propdef-extra th[colspan]:first-child, +table.descdef th[colspan]:first-child, +table.definition-table th[colspan]:first-child { + font-style: inherit +} +table.propdef tr:first-child, +table.propdef-extra tr:first-child, +table.descdef tr:first-child, +table.definition-table tr:first-child { + +} + +table.propdef > tbody > tr:last-child th, +table.propdef-extra > tbody > tr:last-child th, +table.descdef > tbody > tr:last-child th, +table.definition-table > tbody > tr:last-child th, +table.propdef > tbody > tr:last-child td, +table.propdef-extra > tbody > tr:last-child td, +table.descdef > tbody > tr:last-child td, +table.definition-table > tbody > tr:last-child td { + border-bottom: 0; +} + +table.propdef tr:first-child th, +table.propdef-extra tr:first-child th, +table.descdef tr:first-child th, +table.definition-table tr:first-child th, +table.propdef tr:first-child td, +table.propdef-extra tr:first-child td, +table.descdef tr:first-child td, +table.definition-table tr:first-child td { + padding-top: 1em; +} + +/* For when values are extra-complex and need formatting for readability */ +table td.pre { + white-space: pre-wrap; +} + +/* A footnote at the bottom of a propdef */ +table.propdef td.footnote, +table.propdef-extra td.footnote, +table.descdef td.footnote, +table.definition-table td.footnote { + padding-top: 0.6em; + width: auto +} +table.propdef td.footnote:before, +table.propdef-extra td.footnote:before, +table.descdef td.footnote:before, +table.definition-table td.footnote:before { + content: " "; + display: block; + height: 0.6em; + width: 4em; + border-top: thin solid; +} + +/* I don't know what this is for */ +table.proptable td .property { + display: block; + text-align: left; + font-weight: bold; +} + + +/* Styling for IDL fragments */ + +pre.idl { + padding: .5em 1em; + background: #DEF; + margin: 1.2em 0; + border-left: 0.5em solid #8CCBF2; +} +pre.idl :link, pre.idl :visited { + color:inherit; + background:transparent; +} + + +/* CSS modules typically don't use MUST, SHOULD etc. from RFC 2119, +or, if they do, they don't put them in uppercase. But the following +class is provided in case a spec wants to use RFC 2119 terms in +uppercase in the source. */ + +em.rfc2119 { + text-transform: lowercase; + font-variant: small-caps; + font-style: normal +} + +/* In Profile specs, a table of required features: */ + +table.features th { + background: #00589f; + color: #fff; + text-align: left; + padding: 0.2em 0.2em 0.2em 0.5em; +} +table.features td { + vertical-align: top; + border-bottom: 1px solid #ccc; + padding: 0.3em 0.3em 0.3em 0.7em; +} + + +/* Style for data tables (and properly marked-up proptables) */ + +.data, .proptable { + margin: 1em auto; + border-collapse: collapse; + width: 100%; + border: hidden; +} +.data { + text-align: center; +} +.data caption { + width: 100%; +} + +.data td, .data th, +.proptable td, .proptable th { + padding: 0.5em; + border-top: 1px silver solid; +} + +.data thead td:empty { + padding: 0; + border: 0; +} + +.data thead th[scope="row"], +.proptable thead th[scope="row"] { + text-align: right; + color: inherit; +} + +.data thead, +.proptable thead, +.data tbody, +.proptable tbody { + color: inherit; + border-bottom: 2px solid; +} + +.data colgroup { + border-left: 2px solid; +} + +.data tbody th:first-child, +.proptable tbody th:first-child , +.data tbody td[scope="row"]:first-child, +.proptable tbody td[scope="row"]:first-child { + text-align: right; + color: inherit; + border-right: 2px solid; + border-top: 1px solid silver; + padding-right: 1em; +} +.data.define td:last-child { + text-align: left; +} + +.data tbody th[rowspan], +.proptable tbody th[rowspan], +.data tbody td[rowspan], +.proptable tbody td[rowspan]{ + border-left: 1px solid silver; +} + +.data tbody th[rowspan]:first-child, +.proptable tbody th[rowspan]:first-child, +.data tbody td[rowspan]:first-child, +.proptable tbody td[rowspan]:first-child{ + border-left: 0; + border-right: 1px solid silver; +} + +.complex.data th, +.complex.data td { + border: 1px solid silver; +} + +.data td.long { + vertical-align: baseline; + text-align: left; +} + + +.data img { + vertical-align: middle; +} + +table.propdef { + table-layout: auto; +} +.propdef th { + font-style: italic; + font-weight: normal; + text-align: left; + width: 3em; +} +dt dfn code { + font-size: inherit; +} + +/* Style for switch/case <dl>s */ +dl.switch { + padding-left: 2em; +} +dl.switch > dt { + text-indent: -1.5em; +} +dl.switch > dt:before { + content: '\21AA'; + padding: 0 0.5em 0 0; + display: inline-block; + width: 1em; + text-align: right; + line-height: 0.5em; +} + + +/* Style for At Risk features (intended as editorial aid, not intended for publishing) */ +.atrisk::before { + position: absolute; + margin-left: -5em; + margin-top: -2px; + padding: 4px; + border: 1px solid; + content: 'At risk'; + font-size: small; + background-color: white; + color: gray; + border-radius: 1em; + text-align: center; +} + +.toc .atrisk::before { content:none } + + +/* This is mostly to make the list inside the CR exit criteria more compact. */ +ol.inline, ol.inline li {display: inline; padding: 0; margin: 0} +ol.inline {counter-reset: list-item} +ol.inline li {counter-increment: list-item} +ol.inline li:before {content: "(" counter(list-item) ") "; font-weight: bold} + +/* This styles the obsoletion notice on some of our older/abandoned specs. */ +details.obsolete[open] { + background: #fdd; + color: red; + font-weight: bold; + text-align: center; + padding: .5em; + border: thick solid red; + border-radius: 1em; + position: fixed; + left: 1em; + right: 1em; + bottom: 1em; + z-index: 1000; +} + +details.obsolete:not([open]) > summary { + background: #fdd; + color: red; + font-weight: bold; + text-align: center; + padding: .5em; +} diff --git a/specs/integration/Overview.html b/specs/integration/Overview.html new file mode 100644 --- /dev/null +++ b/specs/integration/Overview.html @@ -0,0 +1,321 @@ +<!DOCTYPE html><html lang=en><head> + <meta content="text/html; charset=utf-8" http-equiv=Content-Type> + <title>SVG Integration Module Level 1</title> + <link href=../default.css rel=stylesheet type=text/css> + <link href=https://www.w3.org/StyleSheets/TR/W3C-ED rel=stylesheet type=text/css> +</head> +<body class=h-entry> +<div class=head> + <p data-fill-with=logo><a class=logo href=http://www.w3.org/> + <img alt=W3C height=48 src=http://www.w3.org/Icons/w3c_home width=72> +</a></p> + <h1 class="p-name no-ref" id=title>SVG Integration Module Level 1</h1> + <h2 class="no-num no-toc no-ref heading settled heading" id=subtitle><span class=content>Editor€™s Draft, + <span class=dt-updated><span class=value-title title=20131101>1 November 2013</span></span></span></h2> + <div data-fill-with=spec-metadata><dl><dt>This version:<dd><a class=u-url href=https://svgwg.org/specs/integration/>https://svgwg.org/specs/integration/</a><dt>Editor’s Draft:<dd><a href=https://svgwg.org/specs/integration/>https://svgwg.org/specs/integration/</a> + <dt>Feedback:</dt> + <dd><a href="mailto:www-svg@w3.org?subject=%5Bsvg-integration%5D%20feedback">www-svg@w3.org</a> + with subject line + “<kbd>[svg-integration] <var>… message topic …</var></kbd>”(<a href=http://lists.w3.org/Archives/Public/www-svg/ rel=discussion>archives</a>)<dt>Test Suite:<dd>None Yet<dt>Editors: +<dd class="p-author h-card vcard"><a class="p-name fn u-email email" href=mailto:dschulze@adobe.com>Dirk Schulze</a> (<span class="p-org org">Adobe Systems Inc.</span>)<dd class="p-author h-card vcard"><a class="p-name fn u-email email" href=mailto:schepers@w3.org>Doug Schepers</a> (<span class="p-org org">W3C</span>)<dd class="p-author h-card vcard"><a class="p-name fn u-email email" href=mailto:cam@mcc.id.au>Cameron McCormack</a> (<span class="p-org org">Mozilla Corporation</span>)</dl></div> + <div data-fill-with=warning></div> + <p class=copyright data-fill-with=copyright><a href=http://www.w3.org/Consortium/Legal/ipr-notice#Copyright>Copyright</a> © 2013 <a href=http://www.w3.org/><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a href=http://www.csail.mit.edu/><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href=http://www.ercim.eu/><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a href=http://www.keio.ac.jp/>Keio</a>, <a href=http://ev.buaa.edu.cn/>Beihang</a>), All Rights Reserved. W3C <a href=http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer>liability</a>, <a href=http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks>trademark</a> and <a href=http://www.w3.org/Consortium/Legal/copyright-documents>document use</a> rules apply.</p> + <hr title="Separator for header"> +</div> + +<h2 class="no-num no-toc no-ref heading settled heading" id=abstract><span class=content>Abstract</span></h2> +<p class=p-summary data-fill-with=abstract>This specification provides referencing modes and the respective fetching policies for SVG. Furthermore it gives guidance for host languages and applications or devices with special needs by providing different referencing modes for SVG. +</p> + +<h2 class="no-num no-toc no-ref heading settled heading" id=status><span class=content>Status of this document</span></h2> +<div data-fill-with=status><p> + <em>This section describes the status of this document at the time of + its publication. Other documents may supersede this document. A list of + current W3C publications and the latest revision of this technical report + can be found in the <a href=http://www.w3.org/TR/>W3C technical reports + index at http://www.w3.org/TR/.</a></em> + +<p> + This document is the 1 November 2013 <strong>Editor€™s Draft</strong> of SVG Integration Module Level 1. A document providing guidance how to reference SVG. + +<p> + Comments on this Editor€™s Draft are welcome. Comments can be sent to + <a href="mailto:www-svg@w3.org?Subject=%5Bsvg-integration%5D%20PUT%20SUBJECT%20HERE">www-svg@w3.org</a>, + the public email list for issues related to vector graphics on the Web. This list is + <a href=http://lists.w3.org/Archives/Public/www-svg/>archived</a> and senders must agree to have their message + publicly archived from their first posting. To subscribe send an email to + <a href="mailto:www-svg-request@w3.org?Subject=subscribe">www-svg-request@w3.org</a> with the word <code>subscribe</code> + in the subject line. + +<p> + This document has been produced by the <a href=http://www.w3.org/Graphics/SVG/WG>SVG Working Group</a> as part of the + <a href=http://www.w3.org/Graphics/Activity>Graphics Activity</a> within the + <a href=http://www.w3.org/Interaction/>W3C Interaction Domain</a>. The goals of the W3C SVG Working Group are discussed in the + <a href=http://www.w3.org/2007/11/SVG_rechartering/SVG-WG-charter.html>W3C SVG Charter</a>. The W3C SVG Working Group maintains a + public Web page, <a href=http://www.w3.org/Graphics/SVG/>http://www.w3.org/Graphics/SVG/</a>, that contains further + background information. The authors of this document are the SVG Working Group participants. + +<p> + This document was produced by a group operating under + the <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/>5 February 2004 W3C Patent Policy</a>. + W3C maintains a <a href=http://www.w3.org/2004/01/pp-impl/19480/status rel=disclosure>public list of any patent disclosures</a> + made in connection with the deliverables of each group; + these pages also includes instructions for disclosing a patent. + An individual who has actual knowledge of a patent which the individual believes contains + <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential>Essential Claim(s)</a> + must disclose the information in accordance with <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure>section 6 of the W3C Patent Policy</a>. + +<p> + A list of current W3C Recommendations and other technical documents can be found at + <a href=http://www.w3.org/TR/>http://www.w3.org/TR/</a>. W3C publications may be updated, replaced, or + obsoleted by other documents at any time. +</div> +<div data-fill-with=at-risk></div> + +<h2 class="no-num no-toc no-ref heading settled heading" id=contents><span class=content>Table of contents</span></h2> +<div data-fill-with=table-of-contents><ul class=toc><li><a href=#intro><span class=secno>1</span>Introduction</a><li><a href=#placement><span class=secno>2</span>Module interactions</a><li><a href=#referecing-modes><span class=secno>3</span>Referencing modes</a><li><a href=#fetching><span class=secno>4</span>Fetching</a><li><a href=#available-features-by-referencing-mode><span class=secno>5</span>Available features by referencing mode</a><li><a href=#svg-elements-attributes-and-properties><span class=secno>6</span>SVG Elements, Attributes, and Properties</a><ul class=toc><li><a href=#svg-elements><span class=secno>6.1</span>SVG Elements</a><li><a href=#svg-attributes><span class=secno>6.2</span>SVG Attributes</a><li><a href=#properties><span class=secno>6.3</span>Properties</a></ul><li><a href=#acknowledgments><span class=secno></span>Acknowledgments</a><li><a href=#conformance><span class=secno></span> +Conformance</a><ul class=toc><li><a href=#conventions><span class=secno></span> +Document conventions</a><li><a href=#conformance-classes><span class=secno></span> +Conformance classes</a><li><a href=#partial><span class=secno></span> +Partial implementations</a><li><a href=#experimental><span class=secno></span> +Experimental implementations</a><li><a href=#testing><span class=secno></span> +Non-experimental implementations</a></ul><li><a href=#references><span class=secno></span> +References</a><ul class=toc><li><a href=#normative><span class=secno></span> +Normative References</a><li><a href=#informative><span class=secno></span> +Informative References</a></ul><li><a href=#index><span class=secno></span> +Index</a><li><a href=#property-index><span class=secno></span> +Property index</a><li><a href=#issues-index><span class=secno></span>Issues Index</a></ul></div> + + + +<h2 class="heading settled heading" data-level=1 id=intro><span class=secno>1 </span><span class=content>Introduction</span><a class=self-link href=#intro></a></h2> + +<p><em>This section is informative.</em> + +<p>SVG is a vector graphic markup language to express art work and to create interactive, content rich applications. The vector graphics is described by geometry primitives like <a class=css-code data-link-type=type title="<circle>"><circle></a>, <a class=css-code data-link-type=type title="<rect>"><rect></a> or <a class=css-code data-link-type=type title="<path>"><path></a>. Furthermore, SVG describes <i data-link-type=dfn title="svg resources">SVG resources</i> like <a class=css-code data-link-type=type title="<lineargradient>"><linearGradient></a> and <a class=css-code data-link-type=type title="<pattern>"><pattern></a> but also <a class=css-code data-link-type=type title="<mask>"><mask></a> and <a class=css-code data-link-type=type title="<filter>"><filter></a>. SVG makes use of image references, stylesheets like CSS, allows scripting with JavaScript and declarative animations with CSS Transitions, CSS Animations and SVG Animations giving it its actual strength. Geometries, SVG resources, stylesheets and scripts can be modularized and referenced. + +<p>In the last years, user agents were confronted with several attacking patterns to reveal privacy data of users. These attacks lead to a new understanding of the protection of privacy for the web platform. This specification extends SVG with existing security mechanisms to protect the privacy of the user. + +<p>SVG can also be used in a lot of different situations. Some might not be suited for devices or use cases with special needs. The section <a href=available-features-by-referencing-mode>"Available features by referencing mode"</a> provides a guidance with several predefined modes that combine certain features. + +<p class=issue id=issue-3f0b3bc1><a class=self-link href=#issue-3f0b3bc1></a>Examples for different devices/use cases missing.</p> + +<p>The specification is also meant to be a reference for all SVG elements, SVG attributes and CSS properties used or defined by all SVG recommendations. + +<h2 class="heading settled heading" data-level=2 id=placement><span class=secno>2 </span><span class=content>Module interactions</span><a class=self-link href=#placement></a></h2> + +<p>This specification extends the W3C recommendations SVG 1.1 <a data-biblio-type=normative data-link-type=biblio href=#svg11 title=svg11>[SVG11]</a>, SVG 1.2 Tiny [SVGT12] and future recommendations of SVG. Furthermore, this specification provides a security model for referencing SVG and is meant to be a normative reference for every host language embedding SVG. + +<h2 class="heading settled heading" data-level=3 id=referecing-modes><span class=secno>3 </span><span class=content>Referencing modes</span><a class=self-link href=#referecing-modes></a></h2> + +<p>SVG is a markup language that can be fetched and displayed as a root document. Furthermore, it can also be referenced or embedded by another host language such as HTML. This following <dfn data-dfn-type=dfn data-noexport="" id=document-referencing-mode>document referencing mode<a class=self-link href=#document-referencing-mode></a></dfn>s apply: + +<dl> + <dt><dfn data-dfn-type=dfn data-noexport="" id=svg-embedding-mode>SVG embedding mode<a class=self-link href=#svg-embedding-mode></a></dfn></dt> + <dd> + <p>The SVG document is embedded in a <i data-link-type=dfn title="nested browsing context">nested browsing context</i> of a host language such as the <a class=css-code data-link-type=type title="<iframe>"><iframe></a> tag or the <a class=css-code data-link-type=type title="<object>"><object></a> tag in HTML or integration points such as for the <a class=css-code data-link-type=type title="<embed>"><embed></a> tag in HTML or the <a class=css-code data-link-type=type title="<foreignobject>"><foreignObject></a> element in SVG. + <p class=note>Note: The <a class=css-code data-link-type=type title="<object>"><object></a> tag treats external resources as either a <i data-link-type=dfn title="nested browsing context">nested browsing context</i> or as an image. SVG documents are always treated as a <i data-link-type=dfn title="nested browsing context">nested browsing context</i>. + <p class=issue id=issue-b613f525><a class=self-link href=#issue-b613f525></a>Research the behavior on referencing SVG by <a class=css-code data-link-type=type title="<embed>"><embed></a>. Is it less restrictive than <a class=css-code data-link-type=type title="<object>"><object></a>? + </dd> + <dt><dfn data-dfn-type=dfn data-noexport="" id=inline-svg-mode>Inline SVG mode<a class=self-link href=#inline-svg-mode></a></dfn></dt> + <dd> + <p>The host language can define an integration point to embed SVG as part of its own document. Scripts, styles and the global time line are shared between the document of the host language and the included SVG markup. Both, the SVG markup and the host languages markup share the same document context. Events, such as "onload" rely on the event handling of the host language. + <p class=issue id=issue-22e419eb><a class=self-link href=#issue-22e419eb></a>Events might not depend on host language to fire onload event. + </dd> + <dt><dfn data-dfn-type=dfn data-noexport="" id=svg-resource-mode>SVG resource mode<a class=self-link href=#svg-resource-mode></a></dfn></dt> + <dd>Stylesheets such as CSS can reference certain parts of an SVG document by fragment identifiers. Often these SVG documents need to be fetched to serve as a source of resources.</dd> + <dt><dfn data-dfn-type=dfn data-noexport="" id=svg-image-mode>SVG image mode<a class=self-link href=#svg-image-mode></a></dfn></dt> + <dd>A host language such as HTML or CSS can reference SVG documents as images.</dd> +</dl> + +<h2 class="heading settled heading" data-level=4 id=fetching><span class=secno>4 </span><span class=content>Fetching</span><a class=self-link href=#fetching></a></h2> + +<p>Fetching is the process of loading and processing requested resources. Depending on the used <a data-link-type=dfn href=#document-referencing-mode title="document referencing mode">document referencing mode</a>, one of the following fetching policies apply: + +<p class=issue id=issue-ee578070><a class=self-link href=#issue-ee578070></a>Add fetching modes based on the fetching algorithm from HTML5 + +<p class=issue id=issue-dd2e329f><a class=self-link href=#issue-dd2e329f></a>SVG not tainting canvas all the time + +<h2 class="heading settled heading" data-level=5 id=available-features-by-referencing-mode><span class=secno>5 </span><span class=content>Available features by referencing mode</span><a class=self-link href=#available-features-by-referencing-mode></a></h2> + +<h2 class="heading settled heading" data-level=6 id=svg-elements-attributes-and-properties><span class=secno>6 </span><span class=content>SVG Elements, Attributes, and Properties</span><a class=self-link href=#svg-elements-attributes-and-properties></a></h2> + +<p>This is a comprehensive list of all SVG elements from the SVG 1.1 <a data-biblio-type=normative data-link-type=biblio href=#svg11 title=svg11>[SVG11]</a> and SVG Tiny 1.2 [SVGT12] specifications. This document will be updated as new elements are minted. + +<h3 class="heading settled heading" data-level=6.1 id=svg-elements><span class=secno>6.1 </span><span class=content>SVG Elements</span><a class=self-link href=#svg-elements></a></h3> + +<p class=issue id=issue-7b06d40a><a class=self-link href=#issue-7b06d40a></a>Add all SVG elements and the usage in specs.</p> + +<h3 class="heading settled heading" data-level=6.2 id=svg-attributes><span class=secno>6.2 </span><span class=content>SVG Attributes</span><a class=self-link href=#svg-attributes></a></h3> + +<p class=issue id=issue-e7509f6f><a class=self-link href=#issue-e7509f6f></a>Add all SVG attribtues and the usage in specs.</p> + +<h3 class="heading settled heading" data-level=6.3 id=properties><span class=secno>6.3 </span><span class=content>Properties</span><a class=self-link href=#properties></a></h3> + +<p class=issue id=issue-3b578549><a class=self-link href=#issue-3b578549></a>Add all CSS properties defined by SVG specs.</p> + +<h2 class="no-num heading settled heading" id=acknowledgments><span class=content>Acknowledgments</span><a class=self-link href=#acknowledgments></a></h2> + +<p>Thanks to Erik Dahlström for the help, careful reviews, comments, and corrections. +<h2 class="no-ref no-num heading settled heading" id=conformance><span class=content> +Conformance</span><a class=self-link href=#conformance></a></h2> + +<h3 class="no-ref heading settled heading" id=conventions><span class=content> +Document conventions</span><a class=self-link href=#conventions></a></h3> + + <p>Conformance requirements are expressed with a combination of + descriptive assertions and RFC 2119 terminology. The key words "MUST", + "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", + "RECOMMENDED", "MAY", and "OPTIONAL" in the normative parts of this + document are to be interpreted as described in RFC 2119. + However, for readability, these words do not appear in all uppercase + letters in this specification. + + <p>All of the text of this specification is normative except sections + explicitly marked as non-normative, examples, and notes. <a data-biblio-type=normative data-link-type=biblio href=#rfc2119 title=rfc2119>[RFC2119]</a></p> + + <p>Examples in this specification are introduced with the words "for example" + or are set apart from the normative text with <code>class="example"</code>, + like this: + + <div class=example> + <p>This is an example of an informative example.</p> + </div> + + <p>Informative notes begin with the word "Note" and are set apart from the + normative text with <code>class="note"</code>, like this: + + <p class=note>Note, this is an informative note.</p> + +<h3 class="no-ref heading settled heading" id=conformance-classes><span class=content> +Conformance classes</span><a class=self-link href=#conformance-classes></a></h3> + + <p>Conformance to this specification + is defined for three conformance classes: + <dl> + <dt>style sheet + <dd>A <a href=http://www.w3.org/TR/CSS21/conform.html#style-sheet>CSS + style sheet</a>. + <dt>renderer + <dd>A <a href=http://www.w3.org/TR/CSS21/conform.html#user-agent>UA</a> + that interprets the semantics of a style sheet and renders + documents that use them. + <dt>authoring tool + <dd>A <a href=http://www.w3.org/TR/CSS21/conform.html#user-agent>UA</a> + that writes a style sheet. + </dl> + + <p>A style sheet is conformant to this specification + if all of its statements that use syntax defined in this module are valid + according to the generic CSS grammar and the individual grammars of each + feature defined in this module. + + <p>A renderer is conformant to this specification + if, in addition to interpreting the style sheet as defined by the + appropriate specifications, it supports all the features defined + by this specification by parsing them correctly + and rendering the document accordingly. However, the inability of a + UA to correctly render a document due to limitations of the device + does not make the UA non-conformant. (For example, a UA is not + required to render color on a monochrome monitor.) + + <p>An authoring tool is conformant to this specification + if it writes style sheets that are syntactically correct according to the + generic CSS grammar and the individual grammars of each feature in + this module, and meet all other conformance requirements of style sheets + as described in this module. + +<h3 class="no-ref heading settled heading" id=partial><span class=content> +Partial implementations</span><a class=self-link href=#partial></a></h3> + + <p>So that authors can exploit the forward-compatible parsing rules to + assign fallback values, CSS renderers <strong>must</strong> + treat as invalid (and <a href=http://www.w3.org/TR/CSS21/conform.html#ignore>ignore + as appropriate</a>) any at-rules, properties, property values, keywords, + and other syntactic constructs for which they have no usable level of + support. In particular, user agents <strong>must not</strong> selectively + ignore unsupported component values and honor supported values in a single + multi-value property declaration: if any value is considered invalid + (as unsupported values must be), CSS requires that the entire declaration + be ignored.</p> + +<h3 class="no-ref heading settled heading" id=experimental><span class=content> +Experimental implementations</span><a class=self-link href=#experimental></a></h3> + + <p>To avoid clashes with future CSS features, the CSS2.1 specification + reserves a <a href=http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords>prefixed + syntax</a> for proprietary and experimental extensions to CSS. + + <p>Prior to a specification reaching the Candidate Recommendation stage + in the W3C process, all implementations of a CSS feature are considered + experimental. The CSS Working Group recommends that implementations + use a vendor-prefixed syntax for such features, including those in + W3C Working Drafts. This avoids incompatibilities with future changes + in the draft. + </p> + +<h3 class="no-ref heading settled heading" id=testing><span class=content> +Non-experimental implementations</span><a class=self-link href=#testing></a></h3> + + <p>Once a specification reaches the Candidate Recommendation stage, + non-experimental implementations are possible, and implementors should + release an unprefixed implementation of any CR-level feature they + can demonstrate to be correctly implemented according to spec. + + <p>To establish and maintain the interoperability of CSS across + implementations, the CSS Working Group requests that non-experimental + CSS renderers submit an implementation report (and, if necessary, the + testcases used for that implementation report) to the W3C before + releasing an unprefixed implementation of any CSS features. Testcases + submitted to W3C are subject to review and correction by the CSS + Working Group. + + <p>Further information on submitting testcases and implementation reports + can be found from on the CSS Working Group€™s website at + <a href=http://www.w3.org/Style/CSS/Test/>http://www.w3.org/Style/CSS/Test/</a>. + Questions should be directed to the + <a href=http://lists.w3.org/Archives/Public/public-css-testsuite>public-css-testsuite@w3.org</a> + mailing list. + +<h2 class="no-num no-ref heading settled heading" id=references><span class=content> +References</span><a class=self-link href=#references></a></h2> + +<h3 class="no-num no-ref heading settled heading" id=normative><span class=content> +Normative References</span><a class=self-link href=#normative></a></h3> +<div data-fill-with=normative-references><dl><dt id=rfc2119 title=RFC2119><a class=self-link href=#rfc2119></a>[RFC2119]<dd>S. Bradner. <a href=http://www.ietf.org/rfc/rfc2119.txt>Key words for use in RFCs to Indicate Requirement Levels</a>. URL: <a href=http://www.ietf.org/rfc/rfc2119.txt>http://www.ietf.org/rfc/rfc2119.txt</a><dt id=svg11 title=SVG11><a class=self-link href=#svg11></a>[SVG11]<dd>Erik Dahlström; et al. <a href=http://www.w3.org/TR/2011/REC-SVG11-20110816/>Scalable Vector Graphics (SVG) 1.1 (Second Edition)</a>. 16 August 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-SVG11-20110816/>http://www.w3.org/TR/2011/REC-SVG11-20110816/</a></dl></div> + +<h3 class="no-num no-ref heading settled heading" id=informative><span class=content> +Informative References</span><a class=self-link href=#informative></a></h3> +<div data-fill-with=informative-references><dl></dl></div> + +<h2 class="no-num no-ref heading settled heading" id=index><span class=content> +Index</span><a class=self-link href=#index></a></h2> +<div data-fill-with=index><ul class=indexlist> +<li>document referencing mode, <a href=#document-referencing-mode title="section 3">3</a> +<li>Inline SVG mode, <a href=#inline-svg-mode title="section 3">3</a> +<li>SVG embedding mode, <a href=#svg-embedding-mode title="section 3">3</a> +<li>SVG image mode, <a href=#svg-image-mode title="section 3">3</a> +<li>SVG resource mode, <a href=#svg-resource-mode title="section 3">3</a> +</ul></div> + +<h2 class="no-num no-ref heading settled heading" id=property-index><span class=content> +Property index</span><a class=self-link href=#property-index></a></h2> +<div data-fill-with=property-index><p>No properties defined.</div> + + + +<h2 class="no-num heading settled" id=issues-index><span class=content>Issues Index</span><a class=self-link href=#issues-index></a></h2><div style="counter-reset: issue"><p class=issue>Examples for different devices/use cases missing.<a href=#issue-3f0b3bc1> † </a></p> + +<p class=issue>Research the behavior on referencing SVG by <a class=css-code data-link-type=type title="<embed>"><embed></a>. Is it less restrictive than <a class=css-code data-link-type=type title="<object>"><object></a>? + <a href=#issue-b613f525> † </a><p class=issue>Events might not depend on host language to fire onload event. + <a href=#issue-22e419eb> † </a><p class=issue>Add fetching modes based on the fetching algorithm from HTML5 + +<a href=#issue-ee578070> † </a><p class=issue>SVG not tainting canvas all the time + +<a href=#issue-dd2e329f> † </a><p class=issue>Add all SVG elements and the usage in specs.<a href=#issue-7b06d40a> † </a></p> + +<p class=issue>Add all SVG attribtues and the usage in specs.<a href=#issue-e7509f6f> † </a></p> + +<p class=issue>Add all CSS properties defined by SVG specs.<a href=#issue-3b578549> † </a></p> + +</div> \ No newline at end of file diff --git a/specs/integration/Overview.src.html b/specs/integration/Overview.src.html new file mode 100644 --- /dev/null +++ b/specs/integration/Overview.src.html @@ -0,0 +1,84 @@ +<h1>SVG Integration Module Level 1</h1> +<pre class='metadata'> +Status: ED +Group: svg +Status Text: A document providing guidance how to reference SVG. +ED: https://svgwg.org/specs/integration/ +Shortname: svg-integration +Level: 1 +Ignored Terms: <circle>, <rect>, <path>, <lineargradient>, <pattern>, <mask>, <filter>, <iframe>, <embed>, <object>, <foreignObject>, nested browsing context, SVG resources +Editor: Dirk Schulze, Adobe Systems Inc., dschulze@adobe.com +Editor: Doug Schepers, W3C, schepers@w3.org +Editor: Cameron McCormack, Mozilla Corporation, cam@mcc.id.au +Abstract: This specification provides referencing modes and the respective fetching policies for SVG. Furthermore it gives guidance for host languages and applications or devices with special needs by providing different referencing modes for SVG. +</pre> + +<h2 id='intro'>Introduction</h2> + +<em>This section is informative.</em> + +SVG is a vector graphic markup language to express art work and to create interactive, content rich applications. The vector graphics is described by geometry primitives like <a><circle></a>, <a><rect></a> or <a><path></a>. Furthermore, SVG describes <i>SVG resources</i> like <a><linearGradient></a> and <a><pattern></a> but also <a><mask></a> and <a><filter></a>. SVG makes use of image references, stylesheets like CSS, allows scripting with JavaScript and declarative animations with CSS Transitions, CSS Animations and SVG Animations giving it its actual strength. Geometries, SVG resources, stylesheets and scripts can be modularized and referenced. + +In the last years, user agents were confronted with several attacking patterns to reveal privacy data of users. These attacks lead to a new understanding of the protection of privacy for the web platform. This specification extends SVG with existing security mechanisms to protect the privacy of the user. + +SVG can also be used in a lot of different situations. Some might not be suited for devices or use cases with special needs. The section <a href='available-features-by-referencing-mode'>"Available features by referencing mode"</a> provides a guidance with several predefined modes that combine certain features. + +<p class='issue'>Examples for different devices/use cases missing.</p> + +The specification is also meant to be a reference for all SVG elements, SVG attributes and CSS properties used or defined by all SVG recommendations. + +<h2 id='placement'>Module interactions</h2> + +This specification extends the W3C recommendations SVG 1.1 [[!SVG11]], SVG 1.2 Tiny [SVGT12] and future recommendations of SVG. Furthermore, this specification provides a security model for referencing SVG and is meant to be a normative reference for every host language embedding SVG. + +<h2 id='referecing-modes'>Referencing modes</h2> + +SVG is a markup language that can be fetched and displayed as a root document. Furthermore, it can also be referenced or embedded by another host language such as HTML. This following <dfn>document referencing mode</dfn>s apply: + +<dl> + <dt><dfn>SVG embedding mode</dfn></dt> + <dd> + <p>The SVG document is embedded in a <i>nested browsing context</i> of a host language such as the <a><iframe></a> tag or the <a><object></a> tag in HTML or integration points such as for the <a><embed></a> tag in HTML or the <a><foreignObject></a> element in SVG. + <p class='note'>Note: The <a><object></a> tag treats external resources as either a <i>nested browsing context</i> or as an image. SVG documents are always treated as a <i>nested browsing context</i>. + <p class='issue'>Research the behavior on referencing SVG by <a><embed></a>. Is it less restrictive than <a><object></a>? + </dd> + <dt><dfn>Inline SVG mode</dfn></dt> + <dd> + <p>The host language can define an integration point to embed SVG as part of its own document. Scripts, styles and the global time line are shared between the document of the host language and the included SVG markup. Both, the SVG markup and the host languages markup share the same document context. Events, such as "onload" rely on the event handling of the host language. + <p class='issue'>Events might not depend on host language to fire onload event. + </dd> + <dt><dfn>SVG resource mode</dfn></dt> + <dd>Stylesheets such as CSS can reference certain parts of an SVG document by fragment identifiers. Often these SVG documents need to be fetched to serve as a source of resources.</dd> + <dt><dfn>SVG image mode</dfn></dt> + <dd>A host language such as HTML or CSS can reference SVG documents as images.</dd> +</dl> + +<h2 id='fetching'>Fetching</h2> + +Fetching is the process of loading and processing requested resources. Depending on the used <i>document referencing mode</i>, one of the following fetching policies apply: + +<p class='issue'>Add fetching modes based on the fetching algorithm from HTML5 + +<p class='issue'>SVG not tainting canvas all the time + +<h2 id='available-features-by-referencing-mode'>Available features by referencing mode</h2> + +<h2 id='svg-elements-attributes-and-properties'>SVG Elements, Attributes, and Properties</h2> + +This is a comprehensive list of all SVG elements from the SVG 1.1 [[!SVG11]] and SVG Tiny 1.2 [SVGT12] specifications. This document will be updated as new elements are minted. + +<h3 id='svg-elements'>SVG Elements</h3> + +<p class='issue'>Add all SVG elements and the usage in specs.</p> + +<h3 id='svg-attributes'>SVG Attributes</h3> + +<p class='issue'>Add all SVG attribtues and the usage in specs.</p> + +<h3 id='properties'>Properties</h3> + +<p class='issue'>Add all CSS properties defined by SVG specs.</p> + +<h2 class=no-num id='acknowledgments'>Acknowledgments</h2> + +Thanks to Erik Dahlström for the help, careful reviews, comments, and corrections. \ No newline at end of file
Received on Friday, 1 November 2013 21:26:11 UTC