index.html 65.3 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>SVG Parameters 1.0, Part 2: Language</title>
    <style type="text/css" media="screen">

    .idl-code {
      background-color: rgb(220, 220, 220);
      border: 1px solid gray;
    }

    .todo {
      background-color: rgb(255, 182, 193);
      border: 1px solid red;
    }
    
    .issue
    {
      font-weight: bold;
      background-color: yellow;
    }

  </style>
    <link rel="stylesheet" type="text/css" href="style/svg-style.css" />
    <link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-WD" />
  </head>
  <body>
    <div class="head">
      <p>
        <a href="http://www.w3.org/">
          <img height="48" width="72" alt="W3C" src="http://www.w3.org/Icons/w3c_home" />
        </a>
      </p>
      <h1 id="pagetitle">SVG Parameters 1.0, Part 2: Language</h1>
      <h2 id="pagesubtitle">W3C Working Draft <em>16 June 2009</em></h2>
      <dl>
        <dt>This version:</dt>
        <dd>
          <a href="http://www.w3.org/TR/2009/WD-SVGParam-20090616/">http://www.w3.org/TR/2009/WD-SVGParam-20090616/</a>
        </dd>
        <dt>Latest version:</dt>
        <dd>
          <a href="http://www.w3.org/TR/SVGParam/">http://www.w3.org/TR/SVGParam/</a>
        </dd>
        <dt>Previous version:</dt>
        <dd>
          <a href="http://www.w3.org/TR/2009/WD-SVGParam-20090430/">http://www.w3.org/TR/2009/WD-SVGParam-20090430/</a>
        </dd>
        <dt>Editors:</dt>
        <dd>Doug Schepers, W3C &lt;<a href="mailto:schepers@w3.org">schepers@w3.org</a>&gt;</dd>
        <dt>Authors:</dt>
        <dd>The authors of this specification are the participants of the W3C SVG Working Group.</dd>
      </dl>
      <p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &#xA9; 2009 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>&#xAE;</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</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>
    </div>
    <hr />
    <h2 id="abstract">Abstract</h2>
    <p>
    The SVG Parameters specification is an SVG 2.0 Module to provide a declarative way to incorporate parameter values into SVG content.  Often, users may wish to create a single resource, and reuse it several times with specified variations, and this specification provides a means to do so without the use of script.
  </p>
    <p>Although originally designed for use in SVG, some aspects of this specification are defined in XML and are accessed via presentation properties, and therefore could be used in other environments, such as HTML styled with CSS and XSL:FO.
  </p>
    <p>
  This document defines the markup and interfaces used by SVG Parameters.
  </p>
    <h2 id="status"> Status of This Document</h2>
    <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</a>  at http://www.w3.org/TR/.</em>
    </p>
    <p>This document is an updated working draft of this specification. There is an accompanying <a href="#ref-SVGParamPrimer">SVG Parameters 1.0, Part 1: Primer</a> that lists the ways SVG Parameters may be used. </p>
    <p>We explicitly invite comments on this specification. Please send them to <a href="mailto:www-svg@w3.org">www-svg@w3.org</a> (<a href="http://lists.w3.org/Archives/Public/www-svg/">archives</a>), the public email list for issues related to vector graphics on the Web. Acceptance of the archiving policy is requested automatically upon first post to either list. To subscribe to this list, please send an email to <a href="mailto:www-svg-request@w3.org">www-svg-request@w3.org</a> with the word subscribe in the subject line. </p>
    <p>This document has been produced by the W3C <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/">Interaction Domain</a>.</p>
    <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 rel="disclosure" href="http://www.w3.org/2004/01/pp-impl/19480/status">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page 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>
    <p>The latest information regarding <a href="http://www.w3.org/Graphics/SVG/Disclosures">patent disclosures</a> related to this document is available on the Web. As of this publication, the SVG Working Group are not aware of any royalty-bearing patents they believe to be essential to SVG. </p>
    <p>Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p>
    <hr />
    <h2 id="howto"> How to read this document and give feedback</h2>
    <p>This draft of SVG Parameters introduces new SVG Parameters syntax and markup for the SVG language. One of the goals is that this specification can be re-used more easily by other specifications that want to have advanced SVG Parameters features.  This specification introduces syntax that may not be backwards compatible with older SVG User Agents, and the use of this syntax should be accompanied by a fallback using the 'switch' element.</p>
    <p>The main purpose of this document is to encourage public feedback. The best way to give feedback is by sending an email to <a href="mailto:www-svg@w3.org">www-svg@w3.org</a>.  Please include in the subject line of your message the string "[Params]", and a short keyword that identifies the area of the specification the comment is referring to (e.g "[Params] Section X.Y - Foo attribute values"). If you have comments on multiple areas of this document, then it is probably best to split those comments into multiple messages. </p>
    <p>The public are welcome to comment on any aspect in this document, but there are a few areas in which the SVG Working Group are explicitly requesting feedback. These areas are noted in place within this document.</p>
    <div id="sec-toc">
      <h2 id="toc">Table of Contents</h2>
      <ul class="toc">
        <li>
          <a href="#intro">1 Introduction</a>
        </li>
        <li>
          <a href="#sec-ucr">2 Use Cases and Requirements</a>
          <ul class="toc">
            <li>
              <a href="#sec-usage">2.1 Usage Scenarios</a>
              <ul class="toc">
                <li>
                  <a href="#use-colors">2.1.1 Adapt colors to fit theme</a>
                </li>
                <li>
                  <a href="#ChangeSizeOrPositionOfGraphicalElements">2.1.2 Change size or position of graphical elements</a>
                </li>
                <li>
                  <a href="#HideOrShowElements">2.1.3 Hide or show elements</a>
                </li>
                <li>
                  <a href="#AdaptTextToUse">2.1.4 Adapt text to use</a>
                </li>
                <li>
                  <a href="#ChangeLinkLocation">2.1.5 Change link locations</a>
                </li>
                <li>
                  <a href="#ChangeUsedContent">2.1.6 Change aspects of <span class="element-name">&#x2018;use&#x2019;</span> content</a>
                </li>
              </ul>
            </li>
            <li>
              <a href="#sec-features">2.2 Special Considerations for SVG Parameters</a>
            </li>
            <li>
              <a href="#sec-requirements">2.3 Requirements</a>
            </li>
          </ul>
        </li>
        <li>
          <a href="#Defs-DataTypes">3 Definitions and Basic Data Types</a>
          <ul class="toc">
            <li>
              <a href="#definitions">3.1 Definitions</a>
            </li>
            <li>
              <a href="#DataTypes">3.2 Basic Data Types</a>
            </li>
            <li>
              <a href="#syntax">3.3 Syntax</a>
            </li>
            <li>
              <a href="#param-attr-value">3.4 The <span class="attr-value">'param'</span> Attribute Value</a>
            </li>
            <li>
              <a href="#sec-content-value-attr">3.5 The <span class="attr-name">&#x2018;content-value&#x2019;</span> Attribute for Textual Elements</a>
            </li>
            <li>
              <a href="#parameters-property">3.6 The <span class="prop-name">&#x2018;parameters&#x2019;</span> property</a>
            </li>
            <li>
              <a href="#param-element">3.7 The <span class="element-name">&#x2018;param&#x2019;</span> element</a>
              <ul class="toc">
                <li>
                  <a href="#relevant-svg-ref-elements">3.7.1 Relevant SVG Referencing Elements</a>
                  <ul class="toc">
                    <li>
                      <a href="#use-param">3.7.1.1 Parameters and the <span class="element-name">&#x2018;use&#x2019;</span> Elements</a>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </li>
        <li>
          <a href="#DOMInterfaces">4 DOM interfaces</a>
          <ul class="toc">
            <li>
              <a href="#ParametersInterface">4.1 Interface <span class="DOMInterfaceName">Parameters</span></a>
            </li>
            <li>
              <a href="#WindowParametersInterface">4.2 Interface <span class="DOMInterfaceName">WindowParameters</span></a>
            </li>
          </ul>
        </li>
        <li>
          <a href="#authoringtools">5 Authoring Tool Conformance</a>
        </li>
        <li>
          <a href="#RelaxNG">6 RelaxNG Schema for SVG Parameters 1.0</a>
        </li>
        <li>
          <a href="#refs">7 References</a>
          <ul class="toc">
            <li>
              <a href="#normrefs">7.1 Normative References</a>
            </li>
            <li>
              <a href="#informrefs">7.2 Informative References</a>
            </li>
            <li>
              <a href="#Acknowledgments">7.3 Acknowledgments</a>
            </li>
            <li>
              <a href="#Changes">7.4 Change History</a>
            </li>
          </ul>
        </li>
      </ul>
    </div>
    <div id="sec-intro">
      <h2 id="intro">1 Introduction</h2>
      <p>This specification describes a declarative syntax and associated interfaces to allow parameter values to be used directly in the content of the SVG file, without the need for script.  These parameters may be provided to the document context through a variety of means, including, but not limited to, URL query strings or the <span class="element-name">&#x2018;param&#x2019;</span> element in the HTML <span class="element-name">&#x2018;object&#x2019;</span> element.</p>
      <p>Access to these parameters is currently possible by the use of script, but this does not work in scenarios where script is undesirable or unavailable.  Further, there is no general way to set and access all parameter inputs into the file, which may come from multiple sources.  
      To address this, this specification defines an interface to provide a generic and secure means of passing parameters into a referenced file. This interface is intended to be implemented on all objects that implement the <code>Window</code>  interface.</p>
      <p>Note that even though this specification references parts of <a href="#ref-SVG11">SVG 1.1</a> and <a href="#ref-SVGT12">SVG Tiny 1.2</a>, it does not require a complete implementation of those specifications.</p>
      <p>This document is normative. </p>
      <p>This document contains explicit conformance criteria that overlap with some RNG definitions in requirements. If there is any conflict between the two, the explicit conformance criteria are the definitive reference. </p>
    </div>
    <div class="div1">
      <h2 id="sec-ucr">2 Use Cases and Requirements</h2>
      <h3 id="sec-usage">2.1 Usage Scenarios</h3>
      <p>The following usage scenarios illustrate some of the ways in which SVG Parameters might be used for various applications.</p>
      <h4 id="use-colors">2.1.1 Adapt colors to fit theme</h4>
      <p>Color values can be passed into a graphic to match other aspects of the document.  Note that in some scenarios, this can also be done via CSS.</p>
      <h4 id="ChangeSizeOrPositionOfGraphicalElements">2.1.2 Change size or position of graphical elements</h4>
      <p>In addition to making the whole image scalable by changing the <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/coords.html#ViewBoxAttribute"><span class="attr-name">&#x2018;viewBox&#x2019;</span></a>, values can be passed in to change the size or position of particular elements as needed.  For example, a dot on a map could be changed by merely passing in a parameter.</p>
      <h4 id="HideOrShowElements">2.1.3 Hide or show elements</h4>
      <p>Particular elements of the image can be hidden or revealed based on parameters.  Note that in some scenarios, this can also be done via CSS.</p>
      <h4 id="AdaptTextToUse">2.1.4 Adapt text to use</h4>
      <p>Labels on buttons or other reusable controls can be changed simply by setting the desired text as a parameter.</p>
      <h4 id="ChangeLinkLocation">2.1.5 Change link locations</h4>
      <p>By passing in a URL as a parameter, links inside the SVG document can be changed, for ads or other purposes.</p>
      <h4 id="ChangeUsedContent">2.1.6 Change aspects of <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> content</h4>
      <p>By allowing parameters on the <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> element, content that is referenced can be customized.</p>
    </div>
    <div class="todo">
      <h3 id="sec-features">2.2 Special Considerations for SVG Parameters</h3>
      <p><strong>Reuse:</strong> User Agents may fetch resources multiple times when the query string is different, once for each unique URL.  This undermines some of the benefit of reusing resources: it does not take advantage of local caching, it increases the overall bandwidth, and it may introduce delay in slow or high-latency networks.  Providing parameters through other means, such as the 'param's element, does not have the same drawback.</p>
      <p><strong>Memory and processor requirements:</strong> What are the requirements on memory or processing resources?</p>
      <p><strong>Implementation commitments:</strong> How difficult, or what details are needed, for implementation?</p>
      <p><strong>Ease of authoring:</strong> What considerations need to be borne in mind for authors?</p>
      <h3 id="sec-requirements">2.3 Requirements</h3>
      <ol class="req-level1">
        <li>General Requirements 
        <ol class="req-level2"><li>Parameters must be able to be set by a variety of means, including (but not limited to): HTML object param elements, url query strings, direct script access, device/API input (coordinates by GPS receiver), or a CSS mechanism.</li><li>Conformance criteria for SVG Parameters <span class="term">must</span> be produced. The criteria <span class="term">should</span> be separated into sections relevant to particular application types (eg. SVG files/document fragments, SVG generators, SVG viewers, SVG printers, etc.) </li><li>Software or documents <span class="term">must</span> pass the relevant criteria to be able to claim conformance to the particular application type.</li><li>A conformance test suite <span class="term">must</span> be developed for SVG Parameters. The test suite must be made publicly available.  Conformance test suites for other uses of SVG Parameters (e.g. prepress guidelines) <span class="term">may</span> be developed. </li></ol>
      </li>
        <li>Scripting 
      </li>
        <li>Animation 
      </li>
      </ol>
    </div>
    <div id="sec-BasicDataTypes">
      <h2 id="Defs-DataTypes">3 Definitions and Basic Data Types</h2>
      <p>
      This chapter defines a number of common data types used in the definitions
      of SVG properties and attributes.
    </p>
      <h3 id="definitions">3.1 Definitions</h3>
      <dl class="definitions">
        <dt id="TermHostLanguage">host language</dt>
        <dd>
          <p>
          A host language is a syntax which incorporates one or more
          <a href="#TermSVGDocumentFragment"><span class="svg-term">SVG document fragments</span></a>
          by inclusion or by reference, and which defines
          the interactions between document fragments; an example of this is
          <a href="http://www.w3.org/TR/2007/CR-WICD-20070718/"><cite>WICD Core 1.0</cite></a>,
          an XML framework which defines how XHTML, SVG, MathML, XForms,
          SMIL, and other syntaxes interact.
        </p>
        </dd>
        <dt id="TermInError">in error</dt>
        <dd>
          <p>
          A value is in error if it is specifically stated as being "in error"
          or "an error" in the prose of this specification. See
          <a href="http://www.w3.org/TR/SVGTiny12/implnote.html#ErrorProcessing" title="Implementation Requirements &#x2013; SVG Tiny 1.2">
          C.3 Error processing</a> in SVG Tiny 1.2 for more detail on handling errors.
        </p>
        </dd>
        <dt id="TermInvalidIRIReference">Invalid IRI reference</dt>
        <dd>
          <p>
          An invalid IRI reference is an
          <a href="#TermIRIReference"><span class="svg-term">IRI reference</span></a>
          that is syntactically invalid, cannot be resolved to a resource
          or takes a form that is not allowed for a given attribute,
          as defined in SVG Tiny 1.2 
          <a href="http://www.w3.org/TR/SVGTiny12/linking.html#ReferenceRestrictions" title="Linking &#x2013; SVG Tiny 1.2">
          14.1.4 Reference restrictions</a>.
        </p>
        </dd>
        <dt id="TermIRIReference">IRI reference</dt>
        <dd>
          <p>
          An IRI reference is an Internationalized Resource Identifier
          with an optional fragment identifier, as defined in
          <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers</cite></a>
          [<a href="#ref-RFC3987">RFC3987</a>].
          An IRI reference serves as a reference to a resource or 
          (with a fragment identifier) to a secondary resource. See
          <a href="http://www.w3.org/TR/SVGTiny12/linking.html#IRIReference">References</a> in SVG Tiny 1.2 [SVGT12].
        </p>
        </dd>
        <dt id="TermLocalIRIReference">local IRI reference</dt>
        <dd>
          <p> A local IRI reference is an <a href="#TermIRIReference"><span class="svg-term">IRI reference</span></a> that references a fragment within the same resource.</p>
        </dd>
        <dt id="TermNonLocalIRIReference">non-local IRI reference</dt>
        <dd>
          <p>
          A non-local IRI reference is an
          <a href="#TermIRIReference"><span class="svg-term">IRI reference</span></a>
          that references a different document or an element within a different
          document.
        </p>
        </dd>
        <dt id="TermReplacementContent">replacement content</dt>
        <dd>
          <p>
          Content that is referenceable by another element, and which is rendering in the place of that element.  For example, a SVG fragment that is referenced by a <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> element is <a href="#TermReplacementContent"><span class="svg-term">replacement content</span></a>.
        </p>
        </dd>
        <dt id="TermRootmostSVGElement">rootmost 'svg' element</dt>
        <dd>
          <p>
          The rootmost <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/struct.html#SVGElement"><span class="element-name">&#x2018;svg&#x2019;</span></a> element is the furthest <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/struct.html#SVGElement"><span class="element-name">&#x2018;svg&#x2019;</span></a>
          ancestor element that does not exit an <a href="#TermSVGContext"><span class="svg-term">SVG context</span></a>.
          See also <a href="#TermSVGDocumentFragment"><span class="svg-term">SVG document fragment</span></a>.
        </p>
        </dd>
        <dt id="TermShadowTree">shadow tree</dt>
        <dd>
          <p>A tree fragment that is not part of the DOM tree, but which is attached to a referencing element (e.g. <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> element) in a non-parent-child relationship, for the purpose of rendering and event propagation.  The shadow tree is composed as if it were deep-structure clone of the referenced element in the <span class="svg-term">rendering tree</span>.  The shadow tree is kept in synchronization with the contents of the referenced element, so that any animation, DOM manipulation, or non-DOM interactive state occurring on the referenced element are also applied to all the referencing instances.  In SVG Tiny 1.2, only a subset of all SVG DOM methods to access the shadow tree are available.</p>
          <p>Also referred to as an "instance tree".</p>
        </dd>
        <dt id="TermSVGContext">SVG context</dt>
        <dd>
          <p>
          An SVG context is a document fragment where all elements within the
          fragment must be subject to processing by an 
          <a href="#TermSVGUserAgent"><span class="svg-term">SVG user agent</span></a> 
          according to the rules in this specification.
        </p>
          <p>
          If SVG content is embedded inline within parent XML (such as XHTML),
          the SVG context does not include the ancestors above the
          <a href="#TermRootmostSVGElement"><span class="svg-term">rootmost 'svg' element</span></a>.
          If the SVG content contains any <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/extend.html#ForeignObjectElement"><span class="element-name">&#x2018;foreignObject&#x2019;</span></a>
          elements which in turn contain non-SVG content, the SVG context does
          not include the contents of the <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/extend.html#ForeignObjectElement"><span class="element-name">&#x2018;foreignObject&#x2019;</span></a>
          elements.
        </p>
        </dd>
        <dt id="TermSVGDocumentFragment">SVG document fragment</dt>
        <dd>
          <p>
          An SVG document fragment is the XML document sub-tree whose rootmost
          element is an <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/struct.html#SVGElement"><span class="element-name">&#x2018;svg&#x2019;</span></a> element (that is, the
          <a href="#TermRootmostSVGElement"><span class="svg-term">rootmost 'svg' element</span></a>.)
        </p>
          <p>
          An SVG document fragment consists of either a stand-alone SVG document,
          or a fragment of a parent XML document where the fragment is enclosed by the
          <a href="#TermRootmostSVGElement"><span class="svg-term">rootmost 'svg' element</span></a>.
        </p>
        </dd>
        <dt id="TermSVGUserAgent">SVG user agent</dt>
        <dd>
          <p>
          An SVG user agent is a <a href="#TermUserAgent"><span class="svg-term">user agent</span></a>
          that is able to retrieve and render SVG content.          
        </p>
        </dd>
        <dt id="TermUnsupportedValue">unsupported value</dt>
        <dd>
          <p>
          An unsupported value is a value that does not conform to this
          specification, but is not specifically listed as being
          <a href="#TermInError"><span class="svg-term">in error</span></a>.
          
        </p>
        </dd>
        <dt id="TermUserAgent">user agent</dt>
        <dd>
          <p>
          The general definition of a user agent is an application
          that retrieves and renders Web content, including text,
          graphics, sounds, video, images, and other content types. A
          user agent may require additional user agents that handle
          some types of content. For instance, a browser may run a
          separate program or plug-in to render sound or video. User agents
          include graphical desktop browsers, multimedia
          players, text browsers, voice browsers; used alone or
          in conjunction with assistive technologies
          such as screen readers, screen magnifiers, speech synthesizers,
          onscreen keyboards, and voice input software
          <a href="#ref-UAAG">[UAAG]</a>.
        </p>
          <p>
          A user agent may or may not have the ability to retrieve
          and render SVG content; however, an
          <a href="#TermSVGUserAgent"><span class="svg-term">SVG user agent</span></a>
          must be able to retrieve and render SVG content.
        </p>
        </dd>
      </dl>
      <h3 id="DataTypes">3.2 Basic Data Types</h3>
      <dl class="datatypes">
        <dt id="DataTypeChar">
          <span class="svg-term">&lt;Char&gt;</span>
        </dt>
        <dd>
        A character, as defined by the 
        <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#dt-character">Char</a>
        production in
        <a href="http://www.w3.org/TR/2006/REC-xml-20060816/"><cite>Extensible Markup Language (XML) 1.0</cite></a>
        ([<a href="#ref-XML10">XML10</a>], section 2.2), or the
        <a href="http://www.w3.org/TR/2004/REC-xml11-20040204/#dt-character">Char</a>
        production in
        <a href="http://www.w3.org/TR/2004/REC-xml11-20040204/"><cite>Extensible Markup Language (XML) 1.1</cite></a>
        ([<a href="#ref-XML11">XML11</a>], section 2.2)
        if the document is an XML 1.1 document.
      </dd>
        <dt id="DataTypeFuncIRI">
          <span class="svg-term">&lt;FuncIRI&gt;</span>
        </dt>
        <dd>
        Functional notation for an <a href="#TermIRIReference"><span class="svg-term">IRI</span></a>:
        "url(" <a href="#DataTypeIRI">&lt;IRI&gt;</a> ")".
      </dd>
        <dt id="DataTypeID">
          <span class="svg-term">&lt;ID&gt;</span>
        </dt>
        <dd>
        The type of value that can be used in an XML attribute of type ID;
        that is, a string matching the
        <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#NT-Name">Name</a> production in 
        <a href="http://www.w3.org/TR/2006/REC-xml-20060816/"><cite>Extensible Markup Language (XML) 1.0</cite></a>
        ([<a href="#ref-XML10">XML10</a>], section 2.3), or the
        <a href="http://www.w3.org/TR/2004/REC-xml11-20040204/#NT-Name">Name</a> production in 
        <a href="http://www.w3.org/TR/2004/REC-xml11-20040204/"><cite>Extensible Markup Language (XML) 1.1</cite></a>
        ([<a href="#ref-XML11">XML11</a>], section 2.3)
        if the document is an XML 1.1 document.
      </dd>
        <dt id="DataTypeIRI">
          <span class="svg-term">&lt;IRI&gt;</span>
        </dt>
        <dd>
          An Internationalized Resource Identifier (see <a href="#TermIRIReference"><span class="svg-term">IRI</span></a>).
      </dd>
        <dt id="DataTypeString">
          <span class="svg-term">&lt;string&gt;</span>
        </dt>
        <dd>
        A sequence of zero or more <a href="#DataTypeChar">&lt;Char&gt;</a>s.
      </dd>
      </dl>
    </div>
    <div id="sec-syntax">
      <h3 id="syntax">3.3 Syntax</h3>
      <h3 id="param-attr-value">3.4 The <span class="attr-value">'param'</span> Attribute Value</h3>
      <p>The <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute value is a is a functional notation value (like a <a href="#DataTypeFuncIRI">&lt;FuncIRI&gt;</a>), which must take a string as a parameter a string with Name Token production (i.e., the same syntax as allowed in a query string parameter name).  This string parameter must be evaluated to match, in a case-sensitive manner, the the 'name' portion of the name-value parameter pair passed into the document and exposed through the <a href="#ParametersInterface">Parameters</a> interface.  If this parameter value does match a parameter name, it must return a string which shall be the corresponding 'value' portion of the matching name-value parameter pair, which shall serve as the attribute value of the attribute.  If this parameter value does not match a parameter name, or if this parameter value is not a Name Token, the he <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute value function must return an empty string (""), and the value of the attribute shall be the attribute's <a href="#fallback-value">fallback value</a>, or if there is no fallback value provided, the value of the attribute shall be the attribute's lacuna value.</p>
      <p><a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute value parameters which do not match any 'name' portions of a parameter must not raise any errors, and it must not constitute an unresolved reference.  Error-handling must not be applied because of a missing parameter.</p>
      <p><a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute values must be evaluated immediately upon the loading of the file, or whenever the parameter information becomes available.  If the parameter information changes, all <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute values must be updated to reflect the new values, and any rendering changes must be applied.  If the parameter information changes, and a the new information does not contain a name that was previously matched by the <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute values parameter, then the affected attribute value must be processed as described above.</p>
      <p>For <a href="#TermUserAgent"><span class="svg-term">user agents</span></a> which conform to this specification, the <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute value must be available as a value on any SVG attribute.  For attributes which take a list as a value, each <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute value used shall constitute a separate value on that list.  For attributes which do not take a list as a value, the following syntax must be applied to attribute values which use a <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute value:</p>
      <pre>
        <code><em>attribute-name</em>="param(<em>string</em>) [<em>optional-string</em>]"
      </code>
      </pre>
      <p id="fallback-value">where the optional string is a fallback value that would otherwise be a permitted value for that attribute.</p>
      <div class="note">
    	  This section needs a lot of work.
    	</div>
      <h3 id="sec-content-value-attr">3.5 The <span class="attr-name">&#x2018;content-value&#x2019;</span> Attribute for Textual Elements</h3>
      <div class="note">
        This name of the attribute is subject to change.
      </div>
      <p>The <a href="#content-value-attr"><span class="attr-name">&#x2018;content-value&#x2019;</span></a> attribute may be placed on any textual element, such as the <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/text.html#TextElement"><span class="element-name">&#x2018;text&#x2019;</span></a>, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/text.html#TSpanElement"><span class="element-name">&#x2018;tspan&#x2019;</span></a>, or <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/text.html#TRefElement"><span class="element-name">&#x2018;tref&#x2019;</span></a> elements, and takes as a value the <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute value.  For any matching parameter name, the corresponding parameter value shall be placed into the DOM as the child of the textual element, replacing any existing child content.</p>
      <div class="adef-list">
        <p>
          <em>Attribute definitions:</em>
        </p>
        <dl>
          <dt><span class="adef">content-value</span> = <span class="attr-value"><a href="#DataTypeString">&lt;string&gt;</a></span></dt>
          <dd>
            <p>
              The <span id="content-value-attr" class="attr-name">&#x2018;content-value&#x2019;</span> attribute must must have as a value a <a href="#param-attr-value"><span class="attr-name">&#x2018;param&#x2019;</span></a> attribute value.  The matching name-value parameter pair's value shall replace the element's child content.
            </p>
            <p class="anim-target"><a href="http://www.w3.org/TR/SVGTiny12/animate.html">Animatable</a>: yes.</p>
          </dd>
        </dl>
      </div>
      <div class="issue">
        Should this attribute be allowed on all textual elements, or just on 'tref' or 'tspan'?
      </div>
      <div class="issue">
        Should this attribute be allowed on 'title' and 'desc' elements?
      </div>
      <h3 id="parameters-property">3.6 The <span class="prop-name">&#x2018;parameters&#x2019;</span> property</h3>
      <p>The <a href="#parameters-property"><span class="prop-name">&#x2018;parameters&#x2019;</span></a> property shall acts as a mechanism to pass parameters to referenced resources, by means of a comma-separated list of name-value string pairs.  Each name-value pair shall consist of a string representing the name, followed by a colon (":"), followed by  a string representing the value.  If either the name or value string contains spaces or punctuation marks, it must be enclosed in double or single quotes [note: define this better].  If this property value does not conform to this syntax, all name-value pairs after the first error must be discarded.</p>
      <p>This property may be expressed as an attribute or as a CSS property in a class, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/styling.html#StyleAttribute"><span class="attr-name">&#x2018;style&#x2019;</span></a> attribute, or other CSS mechanism.  This property is inheritable and animatable.</p>
      <h3 id="param-element">3.7 The <span class="element-name">&#x2018;param&#x2019;</span> element</h3>
      <p>The <a href="#param-element"><span class="element-name">&#x2018;param&#x2019;</span></a> element shall acts as a mechanism to pass parameters to referenced resources, in a manner similar to the <a href="http://www.w3.org/TR/html4/struct/objects.html#h-13.3.2" title="Object initialization: the PARAM element">HTML <span class="element-name">&#x2018;param&#x2019;</span> element</a> of the <a href="http://www.w3.org/TR/html4/struct/objects.html#h-13.3" title="Generic inclusion: the OBJECT element">HTML <span class="element-name">&#x2018;object&#x2019;</span> element</a> [HTML4].</p>
      <p>Every <a href="#param-element"><span class="element-name">&#x2018;param&#x2019;</span></a> element shall have a <a href="#name-attr"><span class="attr-name">&#x2018;name&#x2019;</span></a> attribute and an <a href="#value-attr"><span class="attr-name">&#x2018;value&#x2019;</span></a> attribute to represent both portions of a name-value pair, which shall be available to the referenced element.  If a <a href="#param-element"><span class="element-name">&#x2018;param&#x2019;</span></a> element does not have a value for either or both of the <a href="#name-attr"><span class="attr-name">&#x2018;name&#x2019;</span></a> or <a href="#value-attr"><span class="attr-name">&#x2018;value&#x2019;</span></a> attributes, the <a href="#param-element"><span class="element-name">&#x2018;param&#x2019;</span></a> element shall not be passed to the referenced content.</p>
      <p>The name-value parameter pair shall be passed to to the content referenced in the <a href="#param-element"><span class="element-name">&#x2018;param&#x2019;</span></a> element's parent element.  If the parent element does not reference any content, all child <a href="#param-element"><span class="element-name">&#x2018;param&#x2019;</span></a> elements shall be ignored.  Note that not all referenced content may have the ability to accept parameters, for instance if it does not have a DOM, as with a raster image.  How non-SVG referenced content deals with parameters is outside the scope of this document.</p>
      <div class="adef-list">
        <p>
          <em>Attribute definitions:</em>
        </p>
        <dl>
          <dt><span class="adef">name</span> = <span class="attr-value"><a href="#DataTypeString">&lt;string&gt;</a></span></dt>
          <dd>
            <p>
              The <span id="name-attr" class="attr-name">&#x2018;name&#x2019;</span> attribute must be a <a href="#DataTypeString">string</a> that represents, in a case-sensitive manner, the 'name' portion of the name-value pair.  Note that the referenced language may or may not be case-sensitive.
            </p>
            <p class="anim-target"><a href="http://www.w3.org/TR/SVGTiny12/animate.html">Animatable</a>: yes.</p>
          </dd>
          <dt><span class="adef">value</span> = <span class="attr-value"><a href="#DataTypeString">&lt;string&gt;</a></span></dt>
          <dd>
            <p>
              The <span id="value-attr" class="attr-name">&#x2018;value&#x2019;</span> attribute must be a <a href="#DataTypeString">string</a> that represents, in a case-sensitive manner, the 'value' portion of the name-value pair.  Note that the referenced language may or may not be case-sensitive.
            </p>
            <p class="anim-target"><a href="http://www.w3.org/TR/SVGTiny12/animate.html">Animatable</a>: yes.</p>
          </dd>
        </dl>
      </div>
      <h4 id="relevant-svg-ref-elements">3.7.1 Relevant SVG Referencing Elements</h4>
      <p>In SVG, there are several elements which reference content.  This content may normally be either a <a href="#TermLocalIRIReference">local</a> or <a href="#TermNonLocalIRIReference">external</a> resources, and it may be SVG content or other types of content (e.g. a raster image or HTML document).</p>
      <p>The following SVG elements may reference SVG <a href="#TermReplacementContent"><span class="svg-term">replacement content</span></a>, and must pass on parameters from child <a href="#param-element"><span class="element-name">&#x2018;param&#x2019;</span></a> elements: <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/animate.html#AnimateElement"><span class="element-name">&#x2018;animate&#x2019;</span></a>, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/extend.html#ForeignObjectElement"><span class="element-name">&#x2018;foreignObject&#x2019;</span></a>, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#ImageElement"><span class="element-name">&#x2018;image&#x2019;</span></a>, and <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a>.  Other elements which reference content, such as <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/multimedia.html#AudioElement"><span class="element-name">&#x2018;audio&#x2019;</span></a>, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/script.html#ScriptElement"><span class="element-name">&#x2018;script&#x2019;</span></a>, and <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/multimedia.html#VideoElement"><span class="element-name">&#x2018;video&#x2019;</span></a>, may pass on parameters, but the result of such behavior is not defined in this specification.</p>
      <h5 id="use-param">Parameters and the <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> Elements</h5>
      <p>In the case of the <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> element, the element may have child <a href="#param-element"><span class="element-name">&#x2018;param&#x2019;</span></a> elements, and these name-value parameter pairs must be passed on to the referenced content.  The <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> element's <a href="#TermShadowTree">shadow tree</a> must implement the <a href="#ParametersInterface">Parameters</a> and <a href="#WindowParametersInterface">WindowParameters</a> interfaces.  These instances of the interfaces must be scoped to the <a href="#TermShadowTree">shadow tree</a>, and must not apply to content outside the <a href="#TermShadowTree">shadow tree</a>, including even the referenced document fragment.  In the case of <a href="#TermLocalIRIReference">local references</a>, if the document has parameters, these parameters are imported into the <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> element's <a href="#TermShadowTree">shadow tree</a>, and any parameters specific to the <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">&#x2018;use&#x2019;</span></a> element will override the parameters from the document's <a href="#ParametersInterface">Parameters</a> interface.</p>
    </div>
    <div id="sec-DOMInterfaces">
      <h2 id="DOMInterfaces">4 DOM interfaces</h2>
      <div class="note">The interfaces below will be made available in a IDL file for an upcoming draft.</div>
      <p>The following interfaces are defined below, using WebIDL [WebIDL]: <a href="#ParametersInterface">Parameters</a>, and <a href="#WindowParametersInterface">WindowParameters</a>.</p>
      <div>
        <h3 id="ParametersInterface">4.1 Interface <span class="DOMInterfaceName">Parameters</span></h3>
        <p>The Parameters interface provides a unified API to access all parameters that have been passed into a file as name-value pairs, by whatever means, and independent of whether the file is a standalone resource or is embedded into another document by reference.  The user agent must make all of these parameters which have been set at the load time of the target file immediately available, and must also update the list of parameters immediately within the file when they are changed in the referencing file, or in the URL query string.</p>
        <p>Ordering of the parameters should follow document-order, in the case of HTML <span class="element-name">&#x2018;param&#x2019;</span> elements, SVG <span class="element-name">&#x2018;ref&#x2019;</span> elements, or similar constructs, and string-order in the case of URL query strings.  In the case where duplicate names are provided that match in a case-sensitive manner, the corresponding later values must overwrite the corresponding earlier values, and values from the URL query string must be processed last, to overwrite all other values.</p>
        <p>The Parameters interface must only handle name-value parameter pairs which are string values.  For parameters that are passed in via the <a href="http://www.w3.org/TR/html4/struct/objects.html#h-13.3.2" title="Object initialization: the PARAM element">HTML <span class="element-name">&#x2018;param&#x2019;</span> element</a>, the user agent must add to this list only values which have the <span class="attr-name">&#x2018;valuetype&#x2019;</span> of <span class="attr-value">'data'</span>.</p>
        <p>Objects that implement the defaultView or Window interfaces must also implement the Parameters interface:</p>
        <dl>
          <dt>
            <br />
            <strong>WebIDL Definition</strong>
          </dt>
          <dd>
            <div>
              <pre class="idl-code">
interface <dfn id="idl-params">Parameters</dfn> {
  readonly attribute unsigned long <a href="#idl-params-length">length</a>;
  [IndexGetter] DOMString <a href="#idl-params-name">name</a> (in unsigned long index);
  [NameGetter] DOMString <a href="#idl-params-getvalue">getValue</a> (in DOMString <a href="#idl-params-name">name</a>);
};
            </pre>
            </div>
            <br />
          </dd>
          <dt>
            <strong>Attributes</strong>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="dom-readonly">readonly</span>
                <span class="dom-attr-type">unsigned long</span>
                <dfn id="idl-params-length" class="dom-attr-name">length</dfn>
              </dt>
              <dd>Indicates the number of name-value parameter pairs available.  The <span class="webidl-term">indices of the supported indexed                 properties</span> are in a range whose lower bound shall be <code>0</code> and upper bound shall be <code>n-1</code>, where <code>n</code> is the number of name-value parameter pairs.  If there are no <span class="webidl-term">supported indexed properties</span>, then <a href="#idl-params-length">length</a> shall be <code>0</code>.</dd>
            </dl>
          </dd>
          <dt>
            <strong>Methods</strong>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="">[IndexGetter]</span>
                <dfn id="idl-params-name" class="dom-attr-name">name</dfn>
              </dt>
              <dd>Gets the name portion of the name-value parameter set, at index <code>n</code>.
              <dl><dt><span class="dom-parameters">Parameters</span></dt><dd><table summary="method parameters" border="0"><tbody><tr><td valign="top"> in <span class="dom-parameter-type">unsigned long</span> <code class="dom-parameter-name">index</code>:</td><td>The index of the <a href="#idl-params-name">name</a>, where the first item in the list must have an index of <code>0</code>.</td></tr></tbody></table></dd></dl>
              <dl><dt><span class="dom-returnvalue">Return value</span></dt><dd><table summary="method return value" border="0"><tbody><tr><td valign="top"><span class="dom-returnvalue-type">DOMString</span>:</td><td>The <a href="#idl-params-name">name</a> at the indicated index in the list.</td></tr></tbody></table></dd></dl>
              <dl><dt><span class="dom-parameters">Exceptions</span></dt><dd><table summary="method exceptions" border="0"><tbody><tr><td valign="top"><span class="dom-exception-type">DOMException</span>:</td><td></td><td><div>
                            INDEX_SIZE_ERR: Raised if the <code class="dom-parameter-name">index</code> is
                            negative or is greater than or equal to the number of entries in the list.
                          </div></td></tr></tbody></table></dd></dl>
            </dd>
              <dt>
                <span class="">[NameGetter]</span>
                <dfn id="idl-params-getvalue" class="dom-attr-name">getValue</dfn>
              </dt>
              <dd>Gets the value portion of the name-value parameter set corresponding to the given <a href="#idl-params-name">name</a>.
              The <span class="webidl-term">names of the supported named properties</span> on the
              <code><a href="#idl-params">Parameters</a></code> object are the keys of each name-value pair 
              currently present in the list associated with the object, as derived from the parameters.  
              <dl><dt><span class="dom-parameters">Parameters</span></dt><dd><table summary="method parameters" border="0"><tbody><tr><td valign="top">in <span class="dom-parameter-type">DOMString</span> <code class="dom-parameter-name"><a href="#idl-params-name">name</a></code>:</td><td>The case-sensitive string that matches the <a href="#idl-params-name">name</a> provided.</td></tr></tbody></table></dd></dl>
              <dl><dt><span class="dom-returnvalue">Return value</span></dt><dd><table summary="method return value" border="0"><tbody><tr><td valign="top"><span class="dom-returnvalue-type">DOMString</span>:</td><td>The <a href="#idl-params-name">value</a> associated with the given <a href="#idl-params-name">name</a>, as provided in the parameters to this document.  If no match for the given string is found, or no parameter is provided, the return value must be <code>null</code>.</td></tr></tbody></table></dd></dl>
              <dl><dt><span class="dom-parameters">Exceptions</span></dt><dd>none</dd></dl>
            </dd>
            </dl>
          </dd>
        </dl>
        <p class="issue">This interface is read-only.  Should there be a read-write interface available to the referencing document, to allow easy script access to parameters, so they can be changes without modifying the URL query string or creating 'param' elements?</p>
        <p class="issue">Does allowing the author of the referencing document to override parameters defined in the URL strings constitute a security or propriety risk?  What if a site serves a customized resource based on a URL string, and that is overridden at the param or script layer, so that what is served (think of an ad) is not what what intended by the SVG's content provider.  Changing the URL in this case would let the content provider know, while changing the 'param's or modifying the parameters list through script would not.  Is this a legitimate concern?</p>
        <p class="issue">Should we expose where the parameter came from, in terms of URL query string, 'param' element, or other?  Should we expose the domain of the document where the parameter was set?</p>
      </div>
      <div>
        <h3 id="WindowParametersInterface">4.2 Interface <span class="DOMInterfaceName">WindowParameters</span></h3>
        <p>The WindowParameters interface provides a unified API to access all parameters that have been passed into a file as name-value pairs, by whatever means, and independent of whether the file is a standalone resource or is embedded into another document by reference.  The user agent must make all of these parameters which have been set at the load time of the target file immediately available, and must also update the list of parameters immediately within the file when they are changed in the referencing file, or in the URL query string.</p>
        <p>
   	   Ordering of the parameters should follow document-order, in the case of HTML <span class="element-name">&#x2018;param&#x2019;</span> elements, SVG <span class="element-name">&#x2018;ref&#x2019;</span> elements, or similar constructs, and string-order in the case of URL query strings.  In the case where duplicate names are provided that match in a case-sensitive manner, the corresponding later values must overwrite the corresponding earlier values, and values from the URL query string must be processed last, to overwrite all other values.
    	</p>
        <p>
    	  The Parameters interface must only handle name-value parameter pairs which are string values.  For parameters that are passed in via the <a href="http://www.w3.org/TR/html4/struct/objects.html#h-13.3.2" title="Object initialization: the PARAM element">HTML <span class="element-name">&#x2018;param&#x2019;</span> element</a>, the user agent must add to this list only values which have the <span class="attr-name">&#x2018;valuetype&#x2019;</span> of <span class="attr-value">'data'</span>.
   	</p>
        <p>
   	  Objects that implement the defaultView or Window interfaces must also implement the WindowParameters interface:
     </p>
        <dl>
          <dt>
            <br />
            <strong>WebIDL Definition</strong>
          </dt>
          <dd>
            <div>
              <pre class="idl-code">
interface <dfn id="idl-windowparams">WindowParameters</dfn> {
  readonly Parameters <a href="#idl-parameters-name">parameters</a>;
};
           </pre>
            </div>
            <br />
          </dd>
          <dt>
            <strong>Attributes</strong>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="dom-readonly">readonly</span>
                <span class="dom-attr-type">Parameters</span>
                <dfn id="idl-parameters-name" class="dom-attr-name">parameters</dfn>
              </dt>
              <dd>
            
           </dd>
            </dl>
          </dd>
          <dt>
            <strong>Methods</strong>
          </dt>
          <dd>
         
       </dd>
        </dl>
      </div>
    </div>
    <div id="sec-authoring">
      <h2 id="authoringtools">5 Authoring Tool Conformance</h2>
      <p>An SVG Authoring Tool which supports this specification must provide a means for authors to supply a parameter name and a default value for any attribute.  It must also provide a means to set parameters for referenced content, and to supply both a name and value.</p>
    </div>
    <div id="sec-schema" class="todo">
      <h2 id="RelaxNG">6 RelaxNG Schema for SVG Parameters 1.0</h2>
      <div class="note">
       The RNG is under construction, and will be made available in an upcoming draft.
   	</div>
      <p>The schema for SVG Parameters 1.0 is written in <a href="http://www.y12.doe.gov/sgml/sc34/document/0362_files/relaxng-is.pdf">RelaxNG</a> [<a href="#ref-RNG">RelaxNG</a>], a namespace-aware schema language that uses the datatypes from <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema Part 2</a> [<a href="#ref-SCHEMA2">Schema2</a>]. This allows namespaces and modularity to be much more naturally expressed than using DTD syntax. The RelaxNG schema for SVG Filter 1.2 may be imported by other RelaxNG schemas, or combined with other schemas in other languages into a multi-namespace, multi-grammar schema using <a href="http://www.asahi-net.or.jp/~eb2m-mrt/dsdl/">Namespace-based Validation Dispatching Language</a> [<a href="#ref-NVDL">NVDL</a>].</p>
      <p>Unlike a DTD, the schema used for validation is not hardcoded into the document instance. There is no equivalent to the DOCTYPE declaration. Simply point your editor or other validation tool to the IRI of the schema (or your local cached copy, as you prefer).</p>
    </div>
    <div id="sec-refs">
      <h2 id="refs">7 References</h2>
      <h3 id="normrefs">7.1 Normative References</h3>
      <dl>
        <dt id="ref-HTML4">
          <strong class="normref">[HTML4]</strong>
        </dt>
        <dd><cite class="w3crec"><a href="http://www.w3.org/TR/1999/REC-html401-19991224/">HTML 4.01 Specification</a></cite>,
        D. Raggett, A. Le Hors, I. Jacobs.
        World Wide Web Consortium, 24 December 1999.
        <br />This edition of HTML 4 is http://www.w3.org/TR/1999/REC-html401-19991224/.
        <br />The <a href="http://www.w3.org/TR/html4/">latest edition of HTML 4</a> is available at
        http://www.w3.org/TR/html4/.
      </dd>
        <dt id="ref-SVGParamPrimer">
          <strong class="normref">[ParamPrimer]</strong>
        </dt>
        <dd><cite class="w3cwd"><a href="http://www.w3.org/TR/2009/WD-SVGParamPrimer-20090430/">SVG Parameters 1.0, Part 1: Primer</a></cite>,
        D. Schepers, editor.
        World Wide Web Consortium, <span class="wip">work in progress</span>,  30 April 2009.
        <br />This edition of SVG Parameters 1.0, Part 1: Primer is http://www.w3.org/TR/2009/WD-SVGParamPrimer-20090430/.
        <br />The <a href="http://www.w3.org/TR/SVGParamPrimer/">latest edition of SVG Parameters 1.0, Part 1: Primer</a> is available at
        http://www.w3.org/TR/SVGParamPrimer/.
      </dd>
        <dt id="ref-RFC1738">
          <strong class="normref">[RFC1738]</strong>
        </dt>
        <dd><cite><a href="http://tools.ietf.org/html/rfc1738">Uniform Resource Locators (URL)</a></cite>,
        T. Berners-Lee, L. Masinter, M. McCahill, eds. December 1994.
        <br />Available at http://tools.ietf.org/html/rfc1738.
      </dd>
        <dt id="ref-RFC2119">
          <strong class="normref">[RFC2119]</strong>
        </dt>
        <dd><cite><a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a></cite>,
        S. Bradner, March 1997.
        <br />Available at http://tools.ietf.org/html/rfc2119.
      </dd>
        <dt id="ref-RFC3987">
          <strong class="normref">[RFC3987]</strong>
        </dt>
        <dd><cite><a href="http://tools.ietf.org/html/rfc3987">Internationalized Resource Identifiers (IRIs)</a></cite>,
        M. D&#xFC;rst, M. Suignard, January 2005.
        <br />Available at http://tools.ietf.org/html/rfc3987.
      </dd>
        <dt id="ref-RNG">
          <strong class="normref">[RELAXNG]</strong>
        </dt>
        <dd><cite><a href="http://www.y12.doe.gov/sgml/sc34/document/0362_files/relaxng-is.pdf">Document Schema Definition Languages (DSDL) &#x2014; Part 2: Regular grammar-based validation &#x2014; RELAX NG, ISO/IEC FDIS 19757-2:2002(E)</a></cite>,
        J. Clark, <span class="ruby"><span class="rb">&#x6751;&#x7530; &#x771F;</span><span class="rp">(</span><span class="rt"><span class="familyname">Murata</span> M.</span><span class="rp">)</span></span>, eds.
        International Organization for Standardization, 12 December 2002.
        <br />Available at http://www.y12.doe.gov/sgml/sc34/document/0362_files/relaxng-is.pdf.
      </dd>
        <dt id="ref-SVG11">
          <strong class="normref">[SVG11]</strong>
        </dt>
        <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/">Scalable Vector Graphics (SVG) 1.1</a></cite>,
        J. Ferraiolo, <span class="ruby"><span class="rb">&#x85E4;&#x6CA2; &#x6DF3;</span><span class="rp">(</span><span class="rt"><span class="familyname">Fujisawa</span> Jun</span><span class="rp">)</span></span>, D. Jackson, eds.
        World Wide Web Consortium, 14 January 2003.
        <br />This edition of SVG 1.1 is http://www.w3.org/TR/2003/REC-SVG11-20030114/.
        <br />The <a href="http://www.w3.org/TR/SVG11/">latest edition of SVG 1.1</a> is available at
        http://www.w3.org/TR/SVG11/.
      </dd>
        <dt id="ref-SVGT12">
          <strong class="normref">[SVGT12]</strong>
        </dt>
        <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/">Scalable Vector Graphics (SVG) Tiny 1.2</a></cite>,
        O. Andersson, R. Berjon, E. Dahlstr&#xF6;m, A. Emmons, J. Ferraiolo, A. Grasso, V. Hardy, S. Hayman, D. Jackson, C. Lilley, C. McCormack, A. Neumann, C. Northway, A. Quint, N. Ramani, D. Schepers, A. Shellshear, eds.
        World Wide Web Consortium, 22 December 2008.
        <br />This edition of SVG Tiny 1.2 is http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/.
        <br />The <a href="http://www.w3.org/TR/SVGTiny12/">latest edition of SVG Tiny 1.2</a> is available at
        http://www.w3.org/TR/SVGTiny12/.
      </dd>
        <dt id="ref-UAAG">
          <strong class="normref">[UAAG]</strong>
        </dt>
        <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2002/REC-UAAG10-20021217/">User Agent Accessibility Guidelines 1.0</a></cite>,
        I. Jacobs, J.  Gunderson, E. Hansen, eds.
        World Wide Web Consortium, 17 December 2002.
        <br />This edition of UAAG 1.0 is http://www.w3.org/TR/2002/REC-UAAG10-20021217/.
        <br />The <a href="http://www.w3.org/TR/UAAG10/">latest edition of UAAG 1.0</a> is available at
        http://www.w3.org/TR/UAAG10/.
      </dd>
        <dt id="ref-WebIDL">
          <strong class="normref">[WebIDL]</strong>
        </dt>
        <dd><cite class="w3cwd"><a href="http://www.w3.org/TR/2008/WD-WebIDL-20081219/">WebIDL</a></cite>,
        C. McCormack, ed.
        World Wide Web Consortium, <span class="wip">work in progress</span>, 19 December 2008.
        <br />This edition of WebIDL is http://www.w3.org/TR/2008/WD-WebIDL-20081219/.
        <br />The <a href="http://dev.w3.org/2006/webapi/WebIDL/">latest edition of WebIDL</a> is available at
        http://dev.w3.org/2006/webapi/WebIDL/.
      </dd>
        <dt id="ref-XML10">
          <strong class="normref">[XML10]</strong>
        </dt>
        <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2006/REC-xml-20060816/">Extensible Markup Language (XML) 1.0 (Fourth Edition)</a></cite>,
        T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, eds.
        World Wide Web Consortium, 04 February 2004.
        <br />This edition of XML 1.0 is http://www.w3.org/TR/2006/REC-xml-20060816/.
        <br />The <a href="http://www.w3.org/TR/REC-xml/">latest edition of XML 1.0</a> is available at
        http://www.w3.org/TR/REC-xml/.
      </dd>
        <dt id="ref-XML11">
          <strong class="normref">[XML11]</strong>
        </dt>
        <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2006/REC-xml11-20060816/">Extensible Markup Language (XML) 1.1 (Second Edition)</a></cite>,
        T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, F. Yergeau, J. Cowan, eds.
        World Wide Web Consortium, 15 April 2004.
        <br />This edition of XML 1.1 is http://www.w3.org/TR/2006/REC-xml11-20060816/.
        <br />The <a href="http://www.w3.org/TR/xml11/">latest edition of XML 1.1</a> is available at
        http://www.w3.org/TR/xml11/.
      </dd>
      </dl>
      <h3 id="informrefs">7.2 Informative References</h3>
      <dl>
        <dt id="ref-HTML5">
          <strong class="informref">[HTML5]</strong>
        </dt>
        <dd><cite class="w3cwd"><a href="http://www.w3.org/TR/2008/WD-html5-20080610/">HTML 5</a></cite>,
        I. Hickson, D. Hyatt, eds.
        World Wide Web Consortium, <span class="wip">work in progress</span>, 10 June 2008.
        <br />This edition of HTML 5 is http://www.w3.org/TR/2008/WD-html5-20080610/.
        <br />The <a href="http://www.w3.org/TR/html5/">latest edition of HTML 5</a> is available at
        http://www.w3.org/TR/html5/.
      </dd>
        <dt id="ref-NVDL">
          <strong class="informref">[NVDL]</strong>
        </dt>
        <dd><cite><a href="http://www.jtc1sc34.org/repository/0694.pdf">Information Technology &#x2014; Document Schema Definition Languages (DSDL) &#x2014; Part 4: Namespace-based Validation Dispatching Language</a></cite>: ISO/IEC FDIS 19757-4:2005(E),
        International Organization for Standardization, December 2005.
        <br />Available at http://www.jtc1sc34.org/repository/0694.pdf.
      </dd>
        <dt id="ref-SCHEMA2">
          <strong class="informref">[SCHEMA2]</strong>
        </dt>
        <dd><cite class="w3crec"><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema Part 2: Datatypes Second Edition</a></cite>.
        P. Biron, A. Malhotra, eds.
        World Wide Web Consortium, 28 October 2004.
        (See also <a href="http://www.w3.org/TR/2005/NOTE-xml11schema10-20050511/"><cite>Processing XML 1.1 documents with XML Schema 1.0 processors</cite></a>
        [<a href="#ref-XML11-SCHEMA">XML11-SCHEMA</a>].)
        <br />This edition of XML Schema Part 2 is http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/.
        <br />The <a href="http://www.w3.org/TR/xmlschema-2/">latest edition of XML Schema Part 2</a> is available at
        http://www.w3.org/TR/xmlschema-2/.
      </dd>
        <dt id="ref-WINDOW">
          <strong class="informref">[WINDOW]</strong>
        </dt>
        <dd><cite class="w3cwd"><a href="http://www.w3.org/TR/2006/WD-Window-20060407/">Window Object 1.0</a></cite>,
        I. Davis, M. Stachowiak, eds.
        World Wide Web Consortium, <span class="wip">work in progress</span>, 07 April 2006.
        <br />This edition of Window 1.0 is http://www.w3.org/TR/2006/WD-Window-20060407/.
        <br />The <a href="http://www.w3.org/TR/Window/">latest edition of Window 1.0</a> is available at
        http://www.w3.org/TR/Window/.
      </dd>
        <dt id="ref-XML11-SCHEMA">
          <strong class="informref">[XML11-SCHEMA]</strong>
        </dt>
        <dd><cite class="w3cnote"><a href="http://www.w3.org/TR/2005/NOTE-xml11schema10-20050511/">Processing XML 1.1 documents with XML Schema 1.0 processors</a></cite>,
        H. S. Thompson, ed.
        World Wide Web Consortium, 11 May 2005.
        <br />This edition of Processing XML 1.1 with XML Schema 1.0 is http://www.w3.org/TR/2005/NOTE-xml11schema10-20050511/.
        <br />The <a href="http://www.w3.org/TR/xml11schema10/">latest edition of Processing XML 1.1 with XML Schema 1.0</a> is available at
        http://www.w3.org/TR/xml11schema10/.
      </dd>
      </dl>
    </div>
    <div>
      <h3 id="Acknowledgments">7.3 Acknowledgments</h3>
      <p>
      The editors would like to acknowledge and thank the following
      people for substantive aid with this specification: Erik Dahlstr&#xF6;m, Cameron McCormack, Jeff Schiller.
    </p>
    </div>
    <div>
      <h3 id="Changes">7.4 Change History</h3>
      <ul>
        <li>Removed 'ref' element, simplified syntax</li>
        <li>Added 'content-value' attribute</li>
        <li>Added 'param' element</li>
        <li>Added Interface Parameters and Interface WindowParameters</li>
        <li>Renamed specification from "SVG Referenced Parameter Variables" to "SVG Parameters"</li>
      </ul>
    </div>
  </body>
</html>