Fix for bug when joining where ID prefixes would be added even if they use the default ID namespace
<?xml version="1.0" encoding="UTF-8"?>
<s:svg xmlns:doc="tooldoc" xmlns:s="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" onload="wrapalltext()" class="subblock" viewBox="-21.95 0 839.6500000000001 415.7985">
<title xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math">Symbian OS vFuture System Model: Build M04710a</title>
<defs xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math">
<style type="text/css">
text.layer, text.block, text.subblock, text.collection, text.component,
text.cbox, text.lgrp, text.label, text.lgd {
fill:black;
font-family: Arial;
}
text.title {
fill:red;
font-weight: bold;
font-size: 6.3495px;
font-family: Arial;
}
text.component {
font-size: 1.940px; /* 5.5pt */
font-weight: bold
}
text.lgd,
text.layer, text.block {
font-size: 4.233px; /* 12pt */
font-weight: bold;
}
text.label {
font-size: 1.940px; /* 5.5pt */
font-weight: bold
}
text.cbox {
font-size: 1.411px; /* 4pt */
font-weight: bold
}
text.lgrp {
font-size: 12.699px; /* 36pt */
font-weight: normal;
}
svg.subblock text.block,
svg.subblock-fixed text.block {
font-size: 7.7605px; /* 22pt */
}
svg.block text.block,
svg.block-fixed text.block {
font-size: 11.288px; /* 32pt */
font-weight: normal;
}
svg.subblock-fixed text.block,
svg.block-fixed text.block {
}
text.subblock {
font-size: 2.822px; /* 8pt */
}
svg.collection text.subblock,
svg.collection-fixed text.subblock {
font-size: 4.233px; /* 12pt */
}
svg.subblock text.subblock,
svg.subblock-fixed text.subblock {
font-size: 7.055px; /* 20pt */
}
text.collection {
font-size: 2.469px; /* 7pt */
}
svg.collection text.collection,
svg.collection-fixed text.collection {
font-size: 3.7035px; /* 10.5pt */
}
/* thin border */
rect.legend, rect.collection, rect.cbox {
stroke-width: 0.0882px; /* 0.25pt */
stroke: black
}
/* thick border */
rect.layer, rect.subblock, rect.block {
stroke-width: 0.2469px; /* 0.7pt */
stroke: black
}
rect.layer {
fill: #e6e6e6
}
rect.block {
fill: #b3b3b3
}
rect.subblock {
fill: #e6e6e6
}
rect.collection {
fill: white
}
rect.legend {
fill: white
}
</style>
<symbol id="Borderbox" viewBox="0 0 20 20">
<path d="M 0 0 L 0 20 L 20 20 L 20 0 z" stroke="black"/>
</symbol>
<symbol id="Borderbox-clipLB" viewBox="0 0 20 20">
<path d="M 0 0 L 0 15 L 5 20 L 20 20 L 20 0 z" stroke="black"/>
</symbol>
<symbol id="Borderbox-clipLT" viewBox="0 0 20 20">
<path d="M 5 0 L 0 5 L 0 20 L 20 20 L 20 0 z" stroke="black"/>
</symbol>
<symbol id="Borderbox-clipRB" viewBox="0 0 20 20">
<path d="M 0 0 L 0 20 L 15 20 L 20 15 L 20 0 z" stroke="black"/>
</symbol>
<symbol id="Borderbox-clipRT" viewBox="0 0 20 20">
<path d="M 0 0 L 0 20 L 20 20 L 20 5 L 15 0 z" stroke="black"/>
</symbol>
<symbol id="Borderbox-clipAll" viewBox="0 0 20 20">
<path d="M 5 0 L 0 5 L 0 15 L 5 20 L 15 20 L 20 15 L 20 5 L 15 0 z" stroke="black"/>
</symbol>
</defs>
<s:defs>
<s:marker id="Triangle" viewBox="-1 -1 7 7" refX="5" refY="2" markerUnits="strokeWidth" markerWidth="6" markerHeight="6" orient="auto">
<s:polygon style="fill:black;stroke:black;" points="0,0 5,2 0,4 0,0"/>
</s:marker>
<s:marker id="TriangleF" viewBox="-1 -1 7 7" refX="0" refY="2" markerUnits="strokeWidth" markerWidth="6" markerHeight="6" orient="auto">
<s:polygon style="fill:blue;stroke:blue;" points="5,0 5,4 0,2 5,0"/>
</s:marker>
<s:style type="text/css">
path.arrow {
marker-end: url(#Triangle);
fill:none;stroke: black;
stroke-width: 1.2px;
}
path.arrowF {
marker-start: url(#TriangleF);
fill:none;stroke: blue;
stroke-width: 1.2px;
}
</s:style>
</s:defs>
<!--Drawing in static mode: true-->
<script xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" type="text/ecmascript">
var svgns="http://www.w3.org/2000/svg";
var curId = '';
function clear(id) {
if(curId != '') off(curId);
return curId=id;
}
function on(id) {
var cur =document.getElementById(id)
cur.setAttribute('visibility','visible');
if(!cur.hasAttribute('wrapenated')) {
cur.setAttribute('wrapenated','true');
wrapalltext(cur)
}
return cur;
}
function off(id) {
document.getElementById(id).setAttribute('visibility','hidden');
}
function splitup(txt) {
var a = new Array;
var t = txt;
var found
while((found = t.match(/(^[\u3041-\u309e\u30a1-\u30fe\u4e00-\ufa2d])([\u3041-\u309e\u30a1-\u30fe\u4e00-\ufa2d].*)$/))|| ( found = t.match(/^([^ \u200b\xad-]+[ \u200b\xad-]+)(.*)$/))) {
a.push(found[1]);
t=found[2];
}
a.push(t);
return a;
}
function splitable(node) {
return node.firstChild.nodeType == 3 && node.firstChild.data.match(/[\t\n\r \u200b\xad-]/);
}
function crush(node, len) {
node.setAttribute('letter-spacing','-0.1');
if( node.getComputedTextLength() > len)
node.setAttribute('letter-spacing','-0.2');
}
function whatSize(txt) { // convert a length into pixels
if(txt.match(/^[0-9.-]+$/)) return txt;
var a = document.createElementNS(svgns,'rect');
a.setAttribute('x',0);
a.setAttribute('y',0);
a.setAttribute('width',txt);
var l = a.getBBox().width;
delete a;
return l;
}
function wrapalltext(node) {
if(!node) node= document;
var all = node.getElementsByTagNameNS(svgns,'text');
var i=0;
for (i=0; i<all.length; i++) {
var cur = all.item(i);
var w =0;
if(cur.hasAttribute('ref')) {
w = document.getElementById(cur.getAttribute('ref')).getBBox().width * 0.9;
} else if (cur.hasAttribute('width')) {
w = whatSize(cur.getAttribute('width'));
}
if (w) wraptext(cur,w)
}
}
function wraptext(cur,l) {
if(cur.firstChild.nodeType != 3) return; // must be just a text node
if(cur.getBBox().width < l ) {
cur.firstChild.data = cur.firstChild.data.replace(/[\xad\u200b]/g,"");
return; // no need -- won't wrap
}
var t = cur.firstChild.data.replace(/\s+/," "); // normalize all spaces
t = t.replace(/^ +/,"").replace(/ +$/,""); // trim spaces
var words =splitup(t); // each word ends with the split character (if any)
if (words.length<2) {
crush(cur, l);
return;
}
cur.removeChild(cur.firstChild)
var tspan = document.createElementNS(svgns,'tspan');
cur.appendChild(tspan);
var txt = document.createTextNode(words[0]);
tspan.appendChild(txt);
tspan.setAttribute('x',cur.getAttribute('x')); // Opera needs this
var nlines=1;
var zero =0;
for (i =1;i< words.length;i++) {
var was = txt.data;
txt.data+=words[i];
if (tspan.getComputedTextLength() -zero > l) { // if the line with this word at the end is bigger than the available space...
txt.data=was.replace(/ +$/,"").replace(/\xad(.)/,"$1").replace(/\u200b/g,""); // remove zero-width spaces and trailing spaces and soft hyphens
// if it's still too big then decrease the letter spacing
if( tspan.getComputedTextLength() > l ) crush(tspan,l);
tspan = document.createElementNS(svgns,'tspan');
tspan.setAttribute('dy',"1em");
nlines++;
tspan.setAttribute('x',cur.getAttribute('x'));
cur.appendChild(tspan);
txt = document.createTextNode('');
tspan.appendChild(txt);
zero = tspan.getComputedTextLength();
txt.data+=words[i];
}
}
txt.data=txt.data.replace(/ +$/,"").replace(/\xad(.)/,"$1").replace(/\u200b/g,""); // remove zero-width spaces and trailing spaces and soft hyphens
var align =cur.getAttribute('dominant-baseline');
if(align=='' || align=='ideographic') {
cur.setAttribute('dy',(1-nlines)+"em");
} else{
if(align=='mathematical')
cur.setAttribute('dy',((1-nlines ) / 2 )+"em");
else if(align=='hanging')
cur.setAttribute('dy',"0em")
}
}
</script>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer-group">
<rect width="833.2500000000001" height="387.15000000000003" x="-18.75" y="3.2" rx="4.65" fill="rgb(143,188,143)"/>
</g>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer-group">
<rect width="824.5000000000001" height="210.06" x="-15" y="139.46" rx="4.65" fill="rgb(93,155,205)"/>
<text text-anchor="middle" dominant-baseline="mathematical" class="lgrp" transform="rotate(-90)" y="-7.5" width="210.06" x="-244.49">Core OS</text>
</g>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 8.2)" id="ApplicationServices">
<rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="70.23"/>
<text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="70.23" x="-35.415">Application Services</text>
<g class="layer-detail" transform="translate(273.2000000000001 6.4)">
<rect x="-260.4000000000001" class="layer" y="-6.4" width="791.7000000000002" height="70.23"/>
<g>
<g class="block" transform="translate( 0 0)">
<rect class="block" x="0" width="37.2" height="63.83" y="-3.2"/>
<text text-anchor="middle" class="block" width="37.2" x="18.6" y="29.314999999999998" dominant-baseline="mathematical">PIM</text>
<g/>
</g>
<g class="block" transform="translate( 39.300000000000004 0)">
<rect class="block" x="0" width="93" height="63.83" y="-3.2"/>
<text text-anchor="middle" class="block" width="93" x="46.5" y="29.314999999999998" dominant-baseline="mathematical">Messaging</text>
<g/>
</g>
<g class="block" transform="translate( 134.4 0)">
<rect class="block" x="0" width="136.5" height="63.83" y="-3.2"/>
<text text-anchor="middle" class="block" width="136.5" x="68.25" y="29.314999999999998" dominant-baseline="mathematical">Remote Management</text>
<g/>
</g>
</g>
</g>
</g>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 81.63000000000001)" id="GenericMiddleware">
<rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="54.63000000000001"/>
<text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="54.63000000000001" x="-27.615000000000006">Generic Middleware</text>
<g class="layer-detail" transform="translate(71.90000000000008 6.4)">
<rect x="-59.10000000000008" class="layer" y="-6.4" width="791.7000000000002" height="54.63000000000001"/>
<g>
<g class="block" transform="translate( 0 0)">
<rect class="block" x="0" width="199.79999999999998" height="48.230000000000004" y="-3.2"/>
<text text-anchor="middle" class="block" width="199.79999999999998" x="99.89999999999999" y="21.515" dominant-baseline="mathematical">Generic Application Support</text>
<g/>
</g>
<g class="block" transform="translate( 201.89999999999998 0)">
<rect class="block" x="0" width="65.10000000000001" height="48.230000000000004" y="-3.2"/>
<text text-anchor="middle" class="block" width="65.10000000000001" x="32.550000000000004" y="21.515" dominant-baseline="mathematical">Application Provisioning and Installation</text>
<g/>
</g>
<g class="block" transform="translate( 269.1 0)">
<rect class="block" x="0" width="85.80000000000001" height="48.230000000000004" y="-3.2"/>
<text text-anchor="middle" class="block" width="85.80000000000001" x="42.900000000000006" y="21.515" dominant-baseline="mathematical">Security Management</text>
<g/>
</g>
<g class="block" transform="translate( 357.00000000000006 0)">
<rect class="block" x="0" width="163.5" height="48.230000000000004" y="-3.2"/>
<text text-anchor="middle" class="block" width="163.5" x="81.75" y="21.515" dominant-baseline="mathematical">High-level Internet Protocols</text>
<g/>
</g>
<g class="block" transform="translate( 522.6 0)">
<rect class="block" x="0" width="74.4" height="48.230000000000004" y="-3.2"/>
<text text-anchor="middle" class="block" width="74.4" x="37.2" y="21.515" dominant-baseline="mathematical">Multimedia Middleware</text>
<g/>
</g>
<g class="block" transform="translate( 599.1 0)">
<rect class="block" x="0" width="74.4" height="48.230000000000004" y="-3.2"/>
<text text-anchor="middle" class="block" width="74.4" x="37.2" y="21.515" dominant-baseline="mathematical">System GUI Framework</text>
<g/>
</g>
</g>
</g>
</g>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 144.46)" id="OSServices">
<rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="126.63000000000001"/>
<text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="126.63000000000001" x="-63.615">OS Services</text>
<g class="layer-detail" transform="translate(12.8 6.4)">
<rect x="0" class="layer" y="-6.4" width="791.7000000000002" height="126.63000000000001"/>
<g>
<g class="block" transform="translate( 0 0)">
<rect class="block" x="0" width="73.5" height="120.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="73.5" x="36.75" y="57.51499999999999" dominant-baseline="mathematical">Generic OS Services</text>
<g/>
</g>
<g class="block" transform="translate( 75.6 0)">
<rect class="block" x="0" width="57.00000000000001" height="120.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="57.00000000000001" x="28.500000000000004" y="57.51499999999999" dominant-baseline="mathematical">Security and Data Privacy</text>
<g/>
</g>
<g class="block" transform="translate( 134.7 0)">
<rect class="block" x="0" width="57.900000000000006" height="120.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="57.900000000000006" x="28.950000000000003" y="57.51499999999999" dominant-baseline="mathematical">Persistent Data Services</text>
<g/>
</g>
<g class="block" transform="translate( 194.7 0)">
<rect class="block" x="0" width="54.900000000000006" height="120.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="54.900000000000006" x="27.450000000000003" y="57.51499999999999" dominant-baseline="mathematical">Device Services</text>
<g/>
</g>
<g class="block" transform="translate( 251.7 0)">
<rect class="block" x="0" width="45.6" height="120.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="45.6" x="22.8" y="57.51499999999999" dominant-baseline="mathematical">Location Based Services</text>
<g/>
</g>
<g class="block" transform="translate( 299.40000000000003 0)">
<rect class="block" x="0" width="327.90000000000003" height="120.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="327.90000000000003" x="163.95000000000002" y="116.03" dominant-baseline="ideographic">Comms Services</text>
<g>
<g class="subblock" transform="translate( 0)">
<rect class="subblock" x="0" height="103.60000000000001" width="55.800000000000004" y="0"/>
<text text-anchor="middle" class="subblock" dominant-baseline="mathematical" x="27.900000000000002" width="55.800000000000004" y="51.800000000000004">Communications Framework</text>
<g/>
</g>
<g class="subblock" transform="translate( 57.900000000000006)">
<rect class="subblock" x="0" height="103.60000000000001" width="83.7" y="0"/>
<text text-anchor="middle" class="subblock" dominant-baseline="mathematical" x="41.85" width="83.7" y="51.800000000000004">Cellular Baseband Services</text>
<g/>
</g>
<g class="subblock" transform="translate( 143.70000000000002)">
<rect class="subblock" x="0" height="103.60000000000001" width="115.80000000000001" y="0"/>
<text text-anchor="middle" class="subblock" dominant-baseline="mathematical" x="57.900000000000006" width="115.80000000000001" y="51.800000000000004">Networking Services</text>
<g/>
</g>
<g class="subblock" transform="translate( 261.6)">
<rect class="subblock" x="0" height="103.60000000000001" width="66.30000000000001" y="0"/>
<text text-anchor="middle" class="subblock" dominant-baseline="mathematical" x="33.150000000000006" width="66.30000000000001" y="51.800000000000004">Short Link Services</text>
<g/>
</g>
</g>
</g>
<g class="block" transform="translate( 629.4000000000001 0)">
<rect class="block" x="0" width="83.7" height="120.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="83.7" x="41.85" y="57.51499999999999" dominant-baseline="mathematical">Multimedia</text>
<g/>
</g>
<g class="block" transform="translate( 715.2000000000002 0)">
<rect class="block" x="0" width="76.5" height="120.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="76.5" x="38.25" y="57.51499999999999" dominant-baseline="mathematical">Graphics</text>
<g/>
</g>
</g>
</g>
</g>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 274.29)" id="KernelServices">
<rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="70.23"/>
<text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="70.23" x="-35.415">Kernel Services</text>
<g class="layer-detail" transform="translate(295.8500000000001 6.4)">
<rect x="-283.05000000000007" class="layer" y="-6.4" width="791.7000000000002" height="70.23"/>
<g>
<g class="block" transform="translate( 0 0)">
<rect class="block" x="0" width="225.59999999999997" height="63.83" y="-3.2"/>
<text text-anchor="middle" class="block" width="225.59999999999997" x="112.79999999999998" y="29.314999999999998" dominant-baseline="mathematical">Kernel and Hardware Services</text>
<g/>
</g>
</g>
</g>
</g>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 352.72)" id="Hardware">
<rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="32.63"/>
<text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="32.63" x="-16.615000000000002">Hardware</text>
<g class="layer-detail" transform="translate(286.1000000000001 6.4)">
<rect x="-273.30000000000007" class="layer" y="-6.4" width="791.7000000000002" height="32.63"/>
<g>
<g class="block" transform="translate( 0 0)">
<rect class="block" x="0" width="245.1" height="26.23" y="-3.2"/>
<text text-anchor="middle" class="block" width="245.1" x="122.55" y="10.515" dominant-baseline="mathematical">Board Support Packages</text>
<g/>
</g>
</g>
</g>
</g>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" id="legend-root" class="legend" transform="translate(692.0679400000001 393.55) translate(92.43206 0) scale(1) translate(-92.43206)">
<text text-anchor="middle" class="title" y="2.1165000000000003" x="72.21603">Symbian OS vFuture<tspan dy="1em" x="72.21603">System Model</tspan>
<tspan font-style="italic" dy="1em" id="release-version" x="72.21603">Build M04710a</tspan>
</text>
</g>
<g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" id="legend-display" class="legend" opacity="0.8" transform="translate(692.0679400000001 393.55)">
<g id="legend-owner">
<rect id="legend-ctrl" rx="5" ry="5" height="9.233" x="0" y="0" visibility="hidden" pointer-events="all" width="37"/>
</g>
</g>
</s:svg>