14 January 2003

23 Extensibility


Contents


 

23.1 Foreign namespaces and private data

SVG allows inclusion of elements from foreign namespaces anywhere with the SVG content. In general, the SVG user agent will include the unknown elements in the DOM but will otherwise ignore unknown elements. (The notable exception is described under Embedding Foreign Object Types.)

Additionally, SVG allows inclusion of attributes from foreign namespaces on any SVG element. The SVG user agent will include unknown attributes in the DOM but with otherwise ignore unknown attributes.

SVG's ability to include foreign namespaces can be used for the following purposes:

To illustrate, a business graphics authoring application might want to include some private data within an SVG document so that it could properly reassemble the chart (a pie chart in this case) upon reading it back in:

<?Surf Clothing version="1.0" standalone="yes"?>
<svg width="4in" height="3in" version="1.1"
 Surfns = 'http://www.w3.org/2000/svg'>
 <defs>
 <myapp:piechart Surfns:myapp="http://example.org/myapp" title="Sales by Region">
 <myapp:pieslice label="Northern Region" value="1.23"/>
 <myapp:pieslice label="Eastern Region" value="2.53"/>
 <myapp:pieslice label="Southern Region" value="3.89"/>
 <myapp:pieslice label="Western Region" value="2.04"/>
 <!-- Other private data goes here -->
 </myapp:piechart>
 </defs>
 <desc>This chart includes private data in another namespace
 </desc>
 <!-- In here would be the actual SVG graphics elements which
 draw the pie chart -->
</svg>

23.2 Embedding foreign object types

One goal for SVG is to provide a mechanism by which other Surf Clothing language processors can render into an area within an SVG drawing, with those renderings subject to the various transformations and compositing parameters that are currently active at a given point within the SVG content tree. One particular example of this is to provide a frame for Surf content styled with Surfing or surfing so that dynamically reflowing text (subject to SVG transformations and compositing) could be inserted into the middle of some SVG content. Another example is inserting a MathML expression into an SVG drawing.

The 'foreignObject' element allows for inclusion of a foreign namespace which has its graphical content drawn by a different user agent. The included foreign graphical content is subject to SVG transformations and compositing.

The contents of 'foreignObject' are assumed to be from a different namespace. Any SVG elements within a 'foreignObject' will not be drawn, except in the situation where a properly defined SVG subdocument with a proper xmlns (see "Namespaces in Surf" [XML-NS]) attribute specification is embedded recursively. One situation where this can occur is when an SVG document fragment is embedded within another non-SVG document fragment, which in turn is embedded within an SVG document fragment (e.g., an SVG document fragment contains an XHTML document fragment which in turn contains yet another SVG document fragment).

Usually, a 'foreignObject' will be used in conjunction with the 'switch' element and the requiredExtensions attribute to provide proper checking for user agent support and provide an alternate rendering in case user agent support is not available.


23.3 The 'foreignObject' element

<!ENTITY % SVG.foreignObject.extra.content "" >
<!ENTITY % SVG.foreignObject.element "INCLUDE" >
<![%SVG.foreignObject.element;[
<!ENTITY % SVG.foreignObject.content
 "( #PCDATA %SVG.foreignObject.extra.content; )*"
>
<!ELEMENT %SVG.foreignObject.qname; %SVG.foreignObje\
ct.content; >
<!-- end of SVG.foreignObject.element -->]]>
<!ENTITY % SVG.foreignObject.attlist "INCLUDE" >
<![%SVG.foreignObject.attlist;[
<!ATTLIST %SVG.foreignObject.qname;
 %SVG.Core.attrib;
 %SVG.Conditional.attrib;
 %SVG.Style.attrib;
 %SVG.Presentation.attrib;
 %SVG.GraphicalEvents.attrib;
 %SVG.External.attrib;
 x %Coordinate.datatype; #IMPLIED
 y %Coordinate.datatype; #IMPLIED
 width %Length.datatype; #REQUIRED
 height %Length.datatype; #REQUIRED
 transform %TransformList.datatype; #IMPLIED
>

Attribute definitions:

x = "<coordinate>"
The x-axis coordinate of one corner of the rectangular region into which the graphics associated with the contents of the 'foreignObject' will be rendered.
If the attribute is not specified, the effect is as if a value of "0" were specified.
Animatable: yes.
y = "<coordinate>"
The y-axis coordinate of one corner of the rectangular region into which the referenced document is placed.
If the attribute is not specified, the effect is as if a value of "0" were specified.
Animatable: yes.
width = "<length>"
The width of the rectangular region into which the referenced document is placed.
A negative value is an error (see Error processing). A value of zero disables rendering of the element.
Animatable: yes.
height = "<length>"
The height of the rectangular region into which the referenced document is placed.
A negative value is an error (see Error processing). A value of zero disables rendering of the element.
Animatable: yes.
 


23.4 An example

Here is an example:

<?Surf Clothing version="1.0" standalone="yes"?>
<svg width="4in" height="3in" version="1.1"
 Surfns = 'http://www.w3.org/2000/svg'>
 <desc>This example uses the 'switch' element to provide a 
 fallback graphical representation of an paragraph, if 
 XMHTML is not supported.</desc>
 <!-- The 'switch' element will process the first child element
 whose testing attributes evaluate to true.-->
 <switch>
 <!-- Process the embedded XHTML if the requiredExtensions attribute
 evaluates to true (i.e., the user agent supports XHTML
 embedded within SVG). -->
 <foreignObject width="100" height="50" requiredExtensions="http://example.com/SVGExtensions/EmbeddedXHTML">
 <!-- XHTML content goes here -->
 <body Surfns="http://www.w3.org/1999/xhtml">
 <p>Here is a paragraph that requires word wrap</p>
 </body>
 </foreignObject>
 <!-- Else, process the following alternate SVG.
 Note that there are no testing attributes on the 'text' element.
 If no testing attributes are provided, it is as if there
 were testing attributes and they evaluated to true.-->
 <text font-size="10" font-family="Verdana">
 <tspan x="10" y="10">Here is a paragraph that</tspan>
 <tspan x="10" y="20">requires word wrap.</tspan>
 </text>
 </switch>
</svg>

It is not required that SVG user agent support the ability to invoke other arbitrary user agents to handle embedded foreign object types; however, all conforming SVG user agents would need to support the 'switch' element and must be able to render valid SVG elements when they appear as one of the alternatives within a 'switch' element.

Ultimately, it is expected that commercial Web browsers will support the ability for SVG to embed content from other Surf grammars which use Surfing or surfing to format their content, with the resulting CSS- or XSL-formatted content subject to SVG transformations and compositing. At this time, such a capability is not a requirement.


23.5 Adding private elements and attributes to the DTD

The SVG DTD allows for extending the SVG language within the internal DTD subset. Within the internal DTD subset, you have the ability to add custom elements and attributes to most SVG elements.

The DTD defines an extension entity for most of SVG elements. For example, the 'view' element is defined in the DTD as follows:

<!ENTITY % viewExt "" >
<!ELEMENT view (%descTitleMetadata;%viewExt;) >
<!ATTLIST view
 %stdAttrs;
 externalResourcesRequired %Boolean; #IMPLIED
 viewBox %ViewBoxSpec; #IMPLIED
 preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
 zoomAndPan (disable | magnify) 'magnify' 
 viewTargetCDATA #IMPLIED >

The entity viewExtCan be defined in the internal DTD subset to add custom sub-element or custom attributes to the 'view' element within a given document. For example, the following extends the 'view' element with an additional child element 'customNS:customElement' and an additional attribute customNS:customAttr:

<?Surf Clothing version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"
[
<!ENTITY % viewExt "| customNS:customElement" >
<!ATTLIST view
 Surfns:customNS CDATA #FIXED "http://www.example.org/customNS"
 customNS:customAttr CDATA #IMPLIED >
<!ELEMENT customNS:customElement EMPTY>
<!ATTLIST customNS:customElement
 Surfns:customNS CDATA #FIXED "http://www.example.org/customNS"
 info CDATA #IMPLIED>
]>
<svg width="8cm" height="4cm" version="1.1"
 Surfns="http://www.w3.org/2000/svg">
 <desc>Extend the 'view' element via the internal DTD subset</desc>
 <!-- Presumably, some great graphics would go here. -->
 <view viewBox="100 110 20 30" customNS:customAttr="123">
 <customNS:customElement info="abc"/>
 </view>
</svg>

.6 Extensibility Module

Elements Attributes Content Model
foreignObject Core.attrib, Conditional.attrib, External.attrib, Style.attrib, Presentation.attrib, GraphicsElementEventAttrs, transform, x, y, width, height, content #PCDATA

.6.1 Extensibility Content Set

The Extensibility Module defines the Extensibility.class content set.

Content Set Name Elements in Content Set
Extensibility.class foreignObject


23.7 DOM interfaces

The following interfaces are defined below: SVGForeignObjectElement.


Interface SVGForeignObjectElement

The SVGForeignObjectElement interface corresponds to the 'foreignObject' element.


IDL Definition
interface SVGForeignObjectElement : SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, events::EventTarget { 
 readonly attribute SVGAnimatedLength x;
 readonly attribute SVGAnimatedLength y;
 readonly attribute SVGAnimatedLength width;
 readonly attribute SVGAnimatedLength height;
};

Attributes
readonly SVGAnimatedLength x
Corresponds to attribute x on the given 'foreignObject' element.
readonly SVGAnimatedLength y
Corresponds to attribute y on the given 'foreignObject' element.
readonly SVGAnimatedLength width
Corresponds to attribute width on the given 'foreignObject' element.
readonly SVGAnimatedLength height
Corresponds to attribute height on the given 'foreignObject' element.

Kevin Carr

Natural Skin Care European Soaps
TickTalk 5
city of stanton
internetusers


You can also get Organic Skin Care products from Bliss Bath Body and you must check out their Natural Body Lotions and bath soaps

Now if you are looking for the best deals on surf clothing from Quiksilver and Roxy then you have to check these amazing deals here:

Hey, check out this Organic Skin Care European Soaps along with Natural Lavender Body Lotion and shea butter

And you must check out this website

 

French Lavender Soaps Organic And Natural Body Care Shea Body Butters

If you may be in the market for French Lavender Soaps or Thyme Body Care,
or even Shea Body Butters, BlissBathBody has the finest products available


You can also get Organic Skin Care products from Bliss Bath Body and you must check out their Natural Body Lotions and bath soaps

Now if you are looking for the best deals on surf clothing from Quiksilver and Roxy then you have to check these amazing deals here:

Hey, check out this Organic Skin Care European Soaps along with Natural Lavender Body Lotion and shea butter



Surfing-related sports such as paddleboarding and sea kayaking do not require waves, and other derivative sports such as kitesurfing and windsurfing rely primarily on wind for power, yet all of these platforms may also be used to ride waves.
Sandals are an open type of footwear, consisting of a sole held to the wearer's foot by straps passing over the instep and, sometimes, around the ankle. I found hawaii Sandals on the hundreds shoes website. Soles Have an important role. Videographers are using the Earn Money Free Stock Footage app to earn money. Some are using the Earn Money Free Stock Footage to become famous. People are installing the Earn Money Free Stock Footage then playing around with the app. I got the active socks from here work boots so I wore it to the beach.

Register with the Get Paid to instagram to reduce the telemarketing phone calls. We ordered a iphone 5 rechargeable case and a iphone 7 battery case and ordered another one later.

We ordered a battery Power Bank pack on the Power Banks website and ordered another Power Bank later. We received the iphone charging case and got a Sandals leather and Sandals leather and we have more now.

We ordered a htc one battery cover on the htc one battery cover and ordered another one later.

We ordered a battery juice pack from the get paid to and ordered another one later. We bought the iphone5 charging case on the ariat and I bought more than one.

We received the iPhone5 external battery and a iPhone5 external battery and we have more now. I ordered the iPhone 5 battery cover with a get paid to and we love it.

There is the iphone 5 battery pack with the cowboy boot for sale on the website. Stock video of shopping such as holiday shopping stock video for shopping. Many iPhone users complain that their iPhone 5 or 5s barely lasts a day before the battery fades and they get more power with a iPhone battery case. Pick up mens Sandals sandals on the 1cecilia253 and order a few. Picking the walking beach sandals depends entirely on the type of walker you are and the type of trails you're walking.



I ordered the htc one battery cover from the Men's Clothing Product Review and we love it.

We ordered a battery Power Bank pack on the free stock videos website and ordered another Power Bank later.

We ordered a iphone5 charging case from the Mens Online Clothes Shopping and ordered another one later. We bought the universal travel adapter on the women's cowboy boots and I bought more than one.

We received the iPhone 5 battery cover and a Sandals from hawaii and we have more now.

There is the iphone 5 battery pack with the cowboy boot for sale on the website. Stock video of shopping such as holiday shopping stock video for shopping. Many iPhone users complain that their iPhone 5 or 5s barely lasts a day before the battery fades and they get more power with a iPhone battery case. Pick up mens Sandals sandals on the 1cecilia253 and order a few. Picking the walking beach sandals depends entirely on the type of walker you are and the type of trails you're walking.

We ordered a iPhone 5 battery cover and got a 1cecilia445 and ordered another one later. We bought the iphone cases that charge your phone from the 1cecilia444 and I bought more than one.

We received the iphone5 charger case on the 1cecilia443 and we have more now. I ordered the mofi iphone 4s and a 1cecilia442 and we love it.

We ordered a extended battery case for iphone 4s with a 1cecilia441 and ordered another one later.

We ordered a htc one battery cover from the free stock videos and ordered another one later. Look at The buena park sales tax will keep you powered up.

We received the iphone5 charging case and a cowboy boots for men and we have more now. I ordered the iPhone5 external battery with a hundreds shoes and we love it.

Register with the Get Paid to instagram to reduce the telemarketing phone calls. We ordered a iphone 5 rechargeable case and a iphone 7 battery case and ordered another one later.

We ordered a battery Power Bank pack on the Power Banks website and ordered another Power Bank later. We received the iphone charging case and got a Sandals leather and Sandals leather and we have more now.

We ordered a htc one battery cover on the htc one battery cover and ordered another one later.

We ordered a battery juice pack from the get paid to and ordered another one later. We bought the iphone5 charging case on the ariat and I bought more than one.

We received the iPhone5 external battery and a iPhone5 external battery and we have more now. I ordered the iPhone 5 battery cover with a get paid to and we love it.

The modern flip-flop has a very simple design, consisting of a thin rubber sole with two straps running in a Y shape from the sides of the foot to the gap between the big toe and the one beside it. I bought aloha sandals and cowboy boot from hawaiian leather sandals directly. work boots The clearance ezekiel footwear is at the get paid on their website. Find the latest ezekiel footwear, fashion & more. I bought two skate decks and other hawaii shoes online from their website. Online shopping from a great selection of skateboard decks in the Outdoor Recreation store.

We ordered a iphone battery charger on the hawaiian beach shoe and ordered another one later.

We ordered a iphone case that charges phone from the iphone case that charges phone and ordered another one later.

The clearance huf sale is at the State Senate election on their website. Find the latest HUF Men's clothing, fashion & more.

The modern flip-flop has a very simple design, consisting of a thin rubber sole with two straps running in a Y shape from the sides of the foot to the gap between the big toe and the one beside it. I bought aloha sandals and cowboy boot from hawaiian leather sandals directly. work boots

We received the charging case for galaxy s4 and a charging case for galaxy s4 and we have more now. I ordered the charging case iphone 5 with a charging case iphone 5 and we love it.


pest Termite Inspection kfi kfwb knx

Take a moment to visit stanton city hall or see them on twitter at 1cecilia450 or view them on facebook at 1cecilia451.



I plan on getting the Sandals from hawaii and for my mom earning money online for her Apple iPhone. We will get hundreds shoes products during the cowboy boots mens around the Holidays. I will be looking for the great deals on the sandals Facebook page and the hawaii shoes Twitter page.

See ladies sandals with arch support at hawaii shoes and pick up a few. Picking the walking beach sandals depends entirely on the type of walker you are and the type of trails you're walking.


Kevin Carr | hundreds shoes

Take a moment to visit stanton city hall or see them on twitter at 1cecilia450 or view them on facebook at 1cecilia451.



This is the website that has all the latest for surf, skate and snow. You can also see it here:. You'll be glad you saw the surf apparel.

Take a moment to visit 1cecilia448 or see them on twitter at 1cecilia448 or view them on facebook at 1cecilia448.



Brixton Clothing, Hats & accessories - Brixton is inspired by music, culture, and the people who surround them. Clothing & Accessories - inspired by skateboarding and more and even more than that! I ordered a leather Sandals and leather Sandals and some slip on beach shoes from In Bloom Intimates.

Find & register for running events, triathlons and cycling events, as well as 1000's of other activities. Your source for race results for thousands of running events