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 <<a href="mailto:schepers@w3.org">schepers@w3.org</a>></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> © 2009 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</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">‘use’</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">‘content-value’</span> Attribute for Textual Elements</a>
</li>
<li>
<a href="#parameters-property">3.6 The <span class="prop-name">‘parameters’</span> property</a>
</li>
<li>
<a href="#param-element">3.7 The <span class="element-name">‘param’</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">‘use’</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">‘param’</span> element in the HTML <span class="element-name">‘object’</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">‘viewBox’</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">‘use’</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">‘use’</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 – 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 – 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">‘use’</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">‘svg’</span></a> element is the furthest <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/struct.html#SVGElement"><span class="element-name">‘svg’</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">‘use’</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">‘foreignObject’</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">‘foreignObject’</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">‘svg’</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"><Char></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"><FuncIRI></span>
</dt>
<dd>
Functional notation for an <a href="#TermIRIReference"><span class="svg-term">IRI</span></a>:
"url(" <a href="#DataTypeIRI"><IRI></a> ")".
</dd>
<dt id="DataTypeID">
<span class="svg-term"><ID></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"><IRI></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"><string></span>
</dt>
<dd>
A sequence of zero or more <a href="#DataTypeChar"><Char></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">‘param’</span></a> attribute value is a is a functional notation value (like a <a href="#DataTypeFuncIRI"><FuncIRI></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">‘param’</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">‘param’</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">‘param’</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">‘param’</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">‘param’</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">‘param’</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">‘param’</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">‘param’</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">‘content-value’</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">‘content-value’</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">‘text’</span></a>, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/text.html#TSpanElement"><span class="element-name">‘tspan’</span></a>, or <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/text.html#TRefElement"><span class="element-name">‘tref’</span></a> elements, and takes as a value the <a href="#param-attr-value"><span class="attr-name">‘param’</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"><string></a></span></dt>
<dd>
<p>
The <span id="content-value-attr" class="attr-name">‘content-value’</span> attribute must must have as a value a <a href="#param-attr-value"><span class="attr-name">‘param’</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">‘parameters’</span> property</h3>
<p>The <a href="#parameters-property"><span class="prop-name">‘parameters’</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">‘style’</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">‘param’</span> element</h3>
<p>The <a href="#param-element"><span class="element-name">‘param’</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">‘param’</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">‘object’</span> element</a> [HTML4].</p>
<p>Every <a href="#param-element"><span class="element-name">‘param’</span></a> element shall have a <a href="#name-attr"><span class="attr-name">‘name’</span></a> attribute and an <a href="#value-attr"><span class="attr-name">‘value’</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">‘param’</span></a> element does not have a value for either or both of the <a href="#name-attr"><span class="attr-name">‘name’</span></a> or <a href="#value-attr"><span class="attr-name">‘value’</span></a> attributes, the <a href="#param-element"><span class="element-name">‘param’</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">‘param’</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">‘param’</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"><string></a></span></dt>
<dd>
<p>
The <span id="name-attr" class="attr-name">‘name’</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"><string></a></span></dt>
<dd>
<p>
The <span id="value-attr" class="attr-name">‘value’</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">‘param’</span></a> elements: <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/animate.html#AnimateElement"><span class="element-name">‘animate’</span></a>, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/extend.html#ForeignObjectElement"><span class="element-name">‘foreignObject’</span></a>, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#ImageElement"><span class="element-name">‘image’</span></a>, and <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#UseElement"><span class="element-name">‘use’</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">‘audio’</span></a>, <a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/script.html#ScriptElement"><span class="element-name">‘script’</span></a>, and <a href="http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/multimedia.html#VideoElement"><span class="element-name">‘video’</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">‘use’</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">‘use’</span></a> element, the element may have child <a href="#param-element"><span class="element-name">‘param’</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">‘use’</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">‘use’</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">‘use’</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">‘param’</span> elements, SVG <span class="element-name">‘ref’</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">‘param’</span> element</a>, the user agent must add to this list only values which have the <span class="attr-name">‘valuetype’</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">‘param’</span> elements, SVG <span class="element-name">‘ref’</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">‘param’</span> element</a>, the user agent must add to this list only values which have the <span class="attr-name">‘valuetype’</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ü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) — Part 2: Regular grammar-based validation — RELAX NG, ISO/IEC FDIS 19757-2:2002(E)</a></cite>,
J. Clark, <span class="ruby"><span class="rb">村田 真</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">藤沢 淳</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ö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 — Document Schema Definition Languages (DSDL) — 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ö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>