# HG changeset patch
# User terytkon
# Date 1289055554 -7200
# Node ID 63964d875993962e236164c0e33bdec15338f557
# Parent a2e65c705db86a8822799513d9e35f0bbfc37a57# Parent d2c80f5cab5334685a088f13224cc68f4028c05a
Merge changes to system model generator to SF tip.
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/SysModGen.pl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/SysModGen.pl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,51 @@
+#!perl
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+use strict;
+use warnings;
+use FindBin;
+use lib $FindBin::Bin;
+use lib $FindBin::Bin."/old";
+use lib $FindBin::Bin."/src";
+use SysModelGen;
+
+#legacy stuff
+use lib $FindBin::Bin."/src/old/svg";
+use DrawSvg;
+
+
+my %versions = &DrawSvg::SchemaVersionsFromArgs(@ARGV);
+#my $drawer = new DrawSvg();
+
+my $nOld = 0;
+my $nCurrent = 0;
+
+# test versions here. If any are less than 3.0.0, build using old model code
+foreach my $v (keys(%versions))
+ { # need to downgrade anything in 3.x syntax
+ if($v=~/^[12]\./) {$nOld++} else {$nCurrent++}
+ }
+
+if($nOld && $nCurrent)
+ {
+ die "Cannot mix pre-3.0 syntax system definitions with 3.0 and later syntaxes";
+ }
+
+my $drawer = ($nOld) ? new DrawSvg() : new SysModelGen();
+
+$drawer->Draw();
+
+exit;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/draw-model.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/draw-model.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,1403 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Note:
+
+
+
Note:
+
+
+
Warning:
+
+
+
Error:
+
+
+
Error:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ layer has no levels, but contains package with defined level
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ collection with invalid level " "
+
+
+
+
+
+
+
+
+
+
+ package cannot have level " " if none defined in layer
+
+
+
+
+
+
+
+ package with invalid level " "
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/draw.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/draw.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,1722 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ER5 ER5U
+ 6.0 6.1 6.2
+ 7.0 7.0s
+ 8.0 8.0a 8.0b 8.1 8.1a 8.1b
+ 9.0 9.1 9.2 9.3
+ 9.4 ^1 tb91 ^2 tb92 9.5 ^3 tb101 9.6 ^4
+ ^5 ^6 ^7 ^8 ^9 ^10
+ Future
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ resolution=" "
+
+
+
+ component
+
+ -
+
+
+
+ resized()
+ resized()
+ resized()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+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;
+}
+
+ len)
+ node.setAttribute('letter-spacing','-0.15em');
+}
+
+function whatSize(txt) { // convert a length into pixels
+ if(txt.match(/^[0-9.-]+$/)) return txt;
+ return;
+}
+
+
+function wrapalltext(node) {
+ if(!node) node= document;
+ var all = node.getElementsByTagNameNS(svgns,'text');
+ var i=0;
+ for (i=0; i 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
+ if( tspan.getComputedTextLength() > l ) crush(tspan,l);
+ var align =cur.getAttribute('dy');
+ if(align=='0.375em') { // middle aligned
+ first.setAttribute('dy',((1-nlines ) / 2 + 0.375 )+"em");
+ } else if(align=='0.75em' || align=='1em') { // top (or above) aligned
+ first.setAttribute('dy',align)
+ } else { // bottom aligned (default)
+ first.setAttribute('dy',(1-nlines)+"em");
+ }
+}
+]]>
+
+
+
+
+
+var pandandzoom=null;
+function endpanning()
+ {
+ if(pandandzoom)
+ {
+ window.clearInterval(pandandzoom)
+ pandandzoom=null
+ }
+ }
+
+function repeatpan(x,y)
+ {
+ endpanning()
+ panning(x,y)
+ pandandzoom = window.setInterval('panning('+x+','+y+')', 100);
+ }
+
+function panning(x,y)
+ {
+ document.rootElement.currentTranslate.x += x
+ document.rootElement.currentTranslate.y += y
+ }
+
+function repeatzoom(z)
+ {
+ endpanning()
+ zoom(z)
+ pandandzoom = window.setInterval('zoom('+z+')', 100);
+ }
+
+
+
+
+function movelegend(id)
+ {
+ var parent = document.getElementById(id);
+ var legend = document.getElementById('legend-box');
+ parent.appendChild(legend);
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ font-family: ' '
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+ details
+ /
+ SubBlocks
+ Blocks
+ Layers
+ Components
+ Collections
+
+
+ Invalid element id=" ". Cannot generate link.
+
+
+ / .html
+
+
+
+
+
+
+
+ ' '
+ Arial
+
+
+
+
+
+
+
+
+ 4.233
+ 6.3495
+ 4.3
+
+
+
+
+
+
+
+
+
+
+
+ fill: !important;
+ fill: !important;
+
+
+
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ 0%
+ %
+
+
+
+
+ 100%
+ 0%
+ %
+
+
+
+
+ 100%
+ 0%
+ %
+
+
+
+
+ 100%
+ 0%
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ url(#bg )
+
+
+
+
+
+
+ url(
+
+ )
+
+
+
+ url(
+
+ )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fill: ;
+
+
+
+
+
+
+
+
+
+
+
+stroke-width:
+ 2
+ 0.4
+ ;
+
+grey
+
+
+
+
+
+
+
+ fill:none
+ url( )
+ ; stroke: none; stroke-width: 0;
+
+
+
+
+
+
+
+ #Patternradial-grad
+ #Patternstriped-diag-up
+
+
+
+
+#Borderbox
+
+
+
+
+
+
+
+
+
+
+
+ Unrecognised elementn not supported
+
+
+
+
+
+
+ meta rel=" " not supported
+
+
+
+ meta rel=" " in not supported
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ layer " " does not exist
+
+
+
+
+ layer " " does not exist
+
+
+
+
+ " " is after " "
+
+
+
+
+ Layer group cannot be bounded by spanned layer " "
+
+
+
+
+ Layer group cannot be bounded by spanned layer " "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.375em
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ placeholder
+ nested
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+ 0.375em
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate(0 )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.375em
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ middle
+
+ 0.375em
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on(' -content- ');off(' -label- ');
+ off(' -content- ');on(' -label- ');
+
+
+ -label-
+
+
+ -content-
+ hidden
+
+
+
+
+
+
+ -content-
+ hidden
+
+
+
+
+
+
+
+ on(' -content- ')
+ off(' -content- ')
+
+
+ -content-
+ hidden
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/filtersysdef-module.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/filtersysdef-module.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hide
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ignore
+
+
+
+
+ ignore
+
+
+
+
+
+ ignore
+
+
+
+
+
+ ignore
+
+
+
+
+ ignore
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/joinmodel.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/joinmodel.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/joinsysdef-module.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/joinsysdef-module.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,527 @@
+
+
+
+
+ http://www.symbian.org/system-definition
+
+
+
+
+
+ ERROR: Cannot process this document ( )
+
+ . Unrecognised syntax schema=" "
+ . Missing schema
+ . Invalid file type:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ERROR: Linked ID " " ( ) must match linking document " " ( )
+
+
+
+
+
+
+
+ Note: Cannot set " ", already set on . Ignoring linked value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Note: The link to from could not be resolved. Perhaps there's an error in the XML?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+
+
+
+
+
+
+ ERROR: Cannot create namespace prefix for downstream default namespace in
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+ ERROR: Could not find namespace for " " in
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ERROR: Joining error in resolving namespace for " " in
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/joinsysdef.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/joinsysdef.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+/os/deviceplatformrelease/foundation_system/system_model/system_definition.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/layout-module.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/layout-module.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,762 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ component
+
+
+
+
+
+
+ styling
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ styling
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+ layer-group
+
+
+
+
+
+ model-logo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ model-legend
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ model-footer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cbox
+ cmp
+
+
+
+
+
+
+
+
+
+
+
+#Border
+
+ Shape
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cmp
+
+
+
+
+
+ cmp
+
+
+
+
+
+#Pattern
+
+ Overlay
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+ cbox
+
+
+
+
+ yes
+ cbox
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ component
+
+
+
+
+
+
+
+
+ cbox
+ cmp
+
+
+
+
+
+
+
+
+
+
+
+ #Border
+ #Pattern
+
+ #
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ component
+
+
+
+
+
+
+
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cmp
+ cbox
+ cmp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AM
+ PM
+ am
+ pm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/layoutsysdef.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/layoutsysdef.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/legend-module.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/legend-module.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,587 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ?
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Not supported
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.233
+
+ 4.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 15
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 100
+
+
+
+ min-
+
+
+
+
+
+
+
+
+
+
+
+ min-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.233
+ 1.94
+
+
+
+
+
+
+ 20
+
+
+
+
+
+
+
+
+
+
+
+1
+1
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [
+
+
+
+
+ ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright ©
+
+
+
+ SECRET
+ CONFIDENTIAL
+ INTERNAL
+ UNRESTRICTED
+
+
+ Warning: unknown security classification:
+
+
+
+
+
+
+
+ DRAFT
+ ISSUED
+ Build
+
+
+
+
+
+v
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/legend.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/legend.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate(0 )
+
+
+
+
+
+ scale(
+
+
+
+
+ 1
+ )
+ translate( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ movelegend('legend-root')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ movelegend('legend-owner')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ normal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate(
+
+ 0)
+
+
+
+
+ font-family: ' '
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ font-family: ' '
+
+
+
+
+
+
+
+
+
+
+
+
+color-
+style-
+
+
+
+
+
+
+ fill: ;
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ url( )
+
+
+
+ url( )
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+ url( )
+
+
+
+ url( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/mergesysdef-module.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/mergesysdef-module.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,689 @@
+
+
+
+http://www.symbian.org/system-definition
+
+
+ ERROR: Syntax not supported
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Warning: need definition for namespace " " for
+
+
+
+
+
+
+
+
+
+
+ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+
+
+
+
+
+
+ ERROR: Cannot create namespace prefix for downstream default namespace in
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ERROR: Syntax not supported
+
+
+ ERROR: Can only merge system models of the same rank
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ERROR: Order of s in upstream document does not match order in downstream. The following s will be appended to the end of :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Note: levels differ " " vs " " on
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+<-- -->
+
+ =" "
+
+
+
+ rel="Generic"
+ type="auto"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Note: " " in " "
+ overridden in downstream sysdef
+ replaced by " " in " "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ERROR: Order of s in upstream
+ document does not match the order of the s in common in the downstream equivalent. Contents will not be properly merged: !=
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Warning: " " moved in downstream model. Ignoring moved
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Warning: All content in downstream " " is invalid. Ignoring
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Warning: " " moved in downstream model. Ignoring moved
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ERROR: Could not resolve relative path in downstream file: relative to absolute URI
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/mergesysdef.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/mergesysdef.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+ mcl/System_Definition_Template.xml
+
+
+
+
+
+
+ Syntax not supported
+
+
+ Can only merge fragments of the same rank
+
+
+
+
+ Upstream
+
+
+
+
+
+
+
+
+
+
+
+ Downstream
+
+
+
+ Can only merge fragments of the same rank
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/overlay-module.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/overlay-module.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,263 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/path-module.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/path-module.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ../
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/core/shapes.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/core/shapes.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,1031 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Border
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ cmp
+
+ [not(@generator-overlay|meta/generator-overlay)]
+
+
+
+
+ #Pattern
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ cmp
+
+ [not(@generator-color|meta/generator-color)]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *[@id
+ and ( )
+ ]
+
+ 1
+
+
+
+
+ *[@id
+ and ( )
+ ]
+
+
+
+ details
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ count(key('use- ',' '))
+
+
+
+
+
+
+
+
+
+
+
+ //component
+
+
+
+ //
+
+
+ |
+ |//
+
+
+ //
+
+
+
+ show-unused-
+
+
+
+
+
+
+
+
+
+
+
+
+ $id=' '
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Shapes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ show-unused-
+ background
+ -
+
+
+
+ not(
+ =' ' or
+ )
+ *
+
+
+
+
+
+
+
+ show-unused-
+ background
+ -
+
+
+
+
+
+
+
+
+ $n=' '
+ *
+
+
+
+
+
+ $n=' '
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ badly-formatted funtion:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+'/"
+ current()/
+
+
+
+
+ count(exslt:node-set($Versions)/*[contains(concat(' ',.,' '),concat(' ',
+ ,' '))]/preceding-sibling::*)
+ current()/ancestor::SystemDefinition/@ver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -var-
+
+
+
+
+
+
+
+
+
+ CLASS
+ contains(concat(' ',normalize-space(@class),' '),concat(' ',
+ 1
+ ,' '))
+
+
+
+
+
+
+ NAMESPACE
+ concat(ancestor-or-self::*/namespace::*[name()=substring-before(
+ ,':')],ancestor::SystemDefinition/@id-namespace[not(contains(
+ ''
+ ,':'))])
+
+
+
+
+
+ VARIABLE
+
+ $
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Pattern
+
+ Overlay
+
+
+
+Border
+
+ Shape
+
+
+
+
+
+
+
+
+ .
+ =' '
+
+
+
+
+ ( )[ ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
warning: no default border
+
error: more than one default border
+
+
+
+
+
+
+
+
error: more than one pattern in overlay
+
+
+
+
+
+
+
+
+
+
error: more than one default
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #
+
+
+
+
+
+
+
+ #
+
+
+
+
+
+
+
+
+ #
+
+ #
+
+
+
+
+
+ #
+
+
+
+
+ #
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ url(# )
+
+
+
+ url(# )
+
+
+
+
+
+
+
+
+
+
+
+
+ url(#bg )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {@style-id}.mouseover
+ {@style-id}.mouseout
+
+
+
+
+
+
+ {@style-id}.mouseover
+ {@style-id}.mouseout
+
+
+
+
+
+
+
+
+
+ .mouseover
+ .mouseout
+
+
+
+
+
+
+
+ {@style-id}.mouseover
+ {@style-id}.mouseout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+ component
+ collection
+ package
+ package/package
+
+
+
+
+
+
+
+
+not found
+
+
+
+ Generated Text not supported in values files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/_stock/css/developer.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/_stock/css/developer.css Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,253 @@
+/* Symbian Foundation
+ CSS
+ Alex Abarmovich 10-02-2009
+ Version 5
+ Date: 10-02-2009
+ Last modified: 17-02-2009
+*/
+
+/* Addtitional CSS styles and style corrections */
+
+#container #contentContainer{
+min-height:500px;
+}
+
+#header {
+height:90px
+}
+
+/* variable width container AA */
+
+body#variable_width #container {
+width: 99%;
+margin: 0 auto;
+/*overflow: hidden; does not work with absolutely positioned #globalWrapper Wiki AA */
+max-width: 1250px;
+min-width: 980px;
+text-align: left;
+}
+
+/* top header AA */
+#header .right { width:548px; }
+#searchForm label { float:left; padding-top:5px; width:4.30em; }
+
+
+
+/* top navigation AA */
+#dropmenu li#m_item1 { width:9.8em; padding-left:10px; z-index:11; } /* community */
+#dropmenu li#m_item2 { width:5.25em; z-index:12; } /* code */
+#dropmenu li#m_item3 { width:9.1em; z-index:13; } /* tools */
+#dropmenu li#m_item4 { width:11.7em; z-index:14; } /* documentation */
+#dropmenu li#m_item5 { width:6.5em; z-index:15;} /* forums */
+#dropmenu li#m_item6 { width:7.3em; z-index:16;} /* learning */
+#dropmenu li#m_item7 { width:5.46em; z-index:17;} /* about us */
+
+/* generic classes */
+
+#genericContent {
+padding:10px;
+}
+
+#genericContent h2 {
+margin-bottom:10px;
+}
+
+#genericContent h3 {
+margin-bottom:5px;
+}
+
+#genericContent img {
+padding:15px;
+}
+
+
+/* home page */
+/* main promo */
+
+#siteBox div.itemCopy ul.main_promo_internal {
+margin-bottom:10px;
+padding-top:0;
+}
+
+#siteBox div.itemCopy ul.main_promo_internal li {
+min-height:10px;
+}
+
+
+/* contact form AA */
+form#contactUsFrm input#ophone_ctyCode {
+width:25px;
+}
+
+/* form submit buttons AA */
+
+p.buttons {
+padding-bottom:10px;
+margin:10px 0 20px 0;
+width:100%;
+}
+
+p.buttons input {
+float:none;
+font-size:1.1em;
+font-weight:bold;
+padding:2px 9px;
+display:block;
+min-width:20px;
+margin:0 auto;
+}
+
+#addPackageUser li.buttons {
+padding:5px 0 5px 210px;
+}
+
+.multiSelect .labelContainer .buttons {
+margin:0 0 10px 0;
+}
+
+/* Getting Started */
+
+.GetStartedBoxContent { padding:9px 10px 2px 10px; }
+
+#GetStartedBox { width:238px; margin:5px 0; height: auto !important; min-height:237px; height:237px; }
+#GetStartedBox .started { margin-bottom:5px; margin-top:5px; background-image: url('../img/btn_box.gif'); background-repeat: no-repeat; background-position: top left; height: 60px; width: 220px; padding: 3px;}
+#GetStartedBox .started p { padding-bottom:0px;}
+#GetStartedBox .started img { float:left; margin-left: 10px; margin-right:15px;}
+#GetStartedBox .BoxCenter {height:60px;}
+
+/* Tools & kits box content */
+
+div#colcontainer1 p, div#colcontainer2 p { float:left;padding: 5px 0 10px 10px;}
+
+.img_t_comm_activity_dashboard {background:transparent url(../img/t_comm_activity_dashboard.gif) no-repeat scroll left top; padding:30px 0 0; width:350px;}
+.img_t_other_tools {background:transparent url(../img/t_other_tools.gif) no-repeat scroll left top; padding:30px 0 0; width:350px;}
+.img_t_quick_links {background:transparent url(../img/t_quick_links.gif) no-repeat scroll left top; padding:25px 0 0; width:350px;}
+.img_t_featured_developer {background:transparent url(../img/t_featured_developer.gif) no-repeat scroll left top; padding:55px 0 0; width:350px;}
+.img_t_platform_dashboard {background:transparent url(../img/t_platform_dashboard.gif) no-repeat scroll left top; padding:35px 0 0; width:265px;}
+.img_t_community_news {background:transparent url(../img/t_community_news.gif) no-repeat scroll left top; padding:55px 0 0; width:350px;}
+.img_t_application_dev {background:transparent url(../img/t_application_dev.gif) no-repeat scroll left top; padding:30px 0 0; width:350px;}
+.img_t_platform_dev {background:transparent url(../img/t_platform_phone_dev.gif) no-repeat scroll left top; padding:30px 0 0; width:350px;}
+.img_t_lets_get_started {background:transparent url(../img/t_lets_get_started.gif) no-repeat scroll left top; padding:30px 0 0; width:350px;}
+
+/* User profile section */
+
+/* registration */
+
+body#user_profile form table td {
+height:25px;
+padding-left:15px;
+}
+
+body#user_profile form table td.userFormLabel {
+padding-left:0;
+}
+
+
+
+body#user_profile form#registerForm table {
+width:850px;
+}
+
+body#user_profile form#registerForm {
+margin-top:20px;
+}
+
+body#user_profile form#registerForm input {
+margin-right:3px;
+}
+
+body#user_profile #subheader {
+margin-top:10px;
+height:60px;
+}
+
+body#user_profile div.BoxFrame {
+margin-bottom:20px;
+padding-bottom:15px;
+}
+
+body#user_profile div.error {
+color:#ff0000;
+margin-bottom:2px;
+}
+
+body#user_profile td.userFormLabel {
+font-weight:700;
+text-align:right;
+}
+
+body#user_profile input#registerForm_submit,
+body#user_profile input#_submit {
+background-color:#000000;
+color:#fee126;
+border:none;
+padding:2px 9px;
+cursor:pointer;
+font-weight:bold;
+font-size:1.1em;
+margin-left:0;
+}
+
+/* login */
+
+body#user_profile #formContent {
+padding:15px;
+}
+
+body#user_profile form#frmLogin div.fieldHolder {
+height:25px;
+display:inline;
+}
+
+body#user_profile form#frmLogin label {
+width:90px;
+display:inline-block;
+font-weight:700;
+height:25px;
+}
+
+body#user_profile form#frmLogin input.loginSubmit {
+margin:0 0 20px 95px;
+}
+
+body#user_profile #loginLinks {
+margin-left:95px;
+}
+
+/* profile */
+
+body#user_profile table#user_profile_table {
+border: none;
+}
+
+body#user_profile table#user_profile_table td {
+height:25px;
+padding-left:20px;
+vertical-align:top;
+}
+
+
+code var {font-style: italic; font-family: times new roman, times, serif}
+code em.comment {font-style: italic; color: #383; font-family: arial, helvetica, sans;}
+code em.comment code {font-weight: normal; font-size: 90%!important}
+code span.opt {color: #666}
+code span.depr {text-decoration: line-through}
+code span.default, code.default {color: #338}
+code span.aux {color:blue; font: sans; padding: 0px 0.3em}
+span.namespaced {color: #e3e}
+
+div.indent {
+ margin-left: 1em;
+}
+
+div.grouped {border: 1px dashed green; margin-top: 0.6em; margin-bottom: 0.6em; padding-left: 0.3emx;}
+
+tbody.deprecated td {background-color: #eee}
+
+table.invisible td {
+ vertical-align:top;
+ }
+table.invisible th {
+ vertical-align:top;
+ width: 9em;
+}
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/_stock/css/iefix.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/_stock/css/iefix.css Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,41 @@
+/* Symbian Foundation
+ CSS
+ Alex Abarmovich 10-02-2009
+ Version 2
+ Date: 10-02-2009
+ Last modified: 19-02-2009
+*/
+
+/* CSS fixes for IE6 and IE7 */
+
+* html #contentContainer {
+height:500px;
+}
+
+
+/* variable width container */
+
+* html body#variable_width #container {
+overflow: visible;
+font-size: 100%;
+}
+
+* html body#variable_width #container {width:expression(
+(document.documentElement.offsetWidth) >1280
+* (parseInt(document.body.currentStyle.fontSize)
+/ parseInt(document.body.currentStyle.fontSize))? "1250px"
+: ((document.documentElement.offsetWidth) < 1010? "980px" : "99%")); }
+
+/* main promo */
+* html #siteBox ul li {height:35px; }
+* html #siteBox div.itemCopy ul.main_promo_internal li {
+height:10px;
+}
+
+/* buttons IE 7 */
+
+*:first-child+html p.buttons input#submitForm {
+text-align:center;
+display:block;
+width:110px;
+}
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/_stock/css/portal.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/_stock/css/portal.css Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,582 @@
+body { font:69% Verdana, Arial, Helvetica, sans-serif; background-color:#fff; color:#000; } /* 11px */
+/* h1 { font-size:1.82em; font-weight:bold; } 20px */
+h1 { font-size:1.64em; font-weight:bold; } /* 18px */
+h1 a {color:#000;}
+h2 { font-size:1.64em; font-weight:bold; } /* 18px */
+
+.cssImg {margin:0;}
+.cssImg a {position:relative; cursor:pointer;}
+.cssImg span {display:block;overflow: hidden;height: 0 !important;}
+h3 { font-size:1.18em; font-weight:bold; } /* 13px */
+h4 { font-size:1.09em; font-weight:bold; } /* 12px */
+a { text-decoration:none; color:#0000FF; }
+a.active { text-decoration:underline; }
+a:hover { text-decoration:underline; }
+.more_info { font-size:0.91em; font-weight:bold; text-decoration:none; color:#000; background:url(../img/btn_cta.gif) no-repeat left 2px; padding-left:10px; }
+small { font-size:0.82em; }
+p { padding-bottom:1em; }
+form select, input, textarea { font-size:1em; font-family:Verdana, Arial, Helvetica, sans-serif; margin-right:10px;}
+form select {padding:2px; border: 1px solid #d1d1d1;}
+
+#container { width:980px; margin:auto; background-color:#fff; position:relative; }
+
+/* global navigation */
+#global_nav { padding:5px 10px 0 10px; font-size:0.82em; }
+#global_nav a, #global_nav a:visited { color:#000; text-decoration:none; }
+#global_nav a:hover { color:#000; text-decoration:underline; }
+#global_nav .right { width:500px; }
+#global_nav .right img { vertical-align:middle; }
+
+/* portal navigation */
+#portal_nav { margin-bottom:5px; background-color:#d1d1d1; }
+#portal_nav .divider { font-size:1.18em; line-height:2.3em; height:auto !important; min-height:2.5em; height:2.5em; }
+#portal_nav .right { float:right; }
+#portal_nav .right img { vertical-align:middle; }
+#dropmenu { display:block; padding:0; font-weight:bold; height:auto !important; min-height:17px; height:17px; }
+#dropmenu li { float:left; display:block; position:relative; padding-right:2px; background:url(../img/divider.gif) center right no-repeat; }
+#dropmenu li.right { float:right; }
+#dropmenu li a { display:block; position:relative; padding-left:0.62em; color:#000; text-decoration:none; font-size:1.18em; line-height:2.45em; height:auto !important; min-height:2.5em; height:2.5em; }
+#dropmenu li a:hover, #dropmenu li a.hover, #dropmenu li#quicklinks a:hover, #dropmenu li#quicklinks a.hover { background-color:#fee126; }
+#dropmenu li.active a { background-color:#fee126; }
+#dropmenu ul { z-index:999; position:absolute; display:none; top:auto; left:-1px; }
+#dropmenu li ul li { border:solid 1px #d1d1d1; margin-top:-1px; background-color:#fff; padding-right:0 !important; background-image:none !important; }
+#dropmenu li ul li a, #dropmenu li#quicklinks li a { background-image:none ;padding-left:0.62em; width:14em; height:auto; float:left; background-color:#fff; font-size:1.09em; line-height:1.9em; height:auto !important; min-height:2.1em; height:2.1em;}
+#dropmenu li.active ul li a { background-color:#fff; }
+#dropmenu li ul li a:hover, #dropmenu li ul li a.hover { background-color:#000 !important; color:#fee126 !important; }
+#dropmenu li:hover ul ul, #dropmenu li:hover ul ul ul, #dropmenu li:hover ul ul ul ul { display:none; }
+#dropmenu li:hover ul, #dropmenu li li:hover ul, #dropmenu li li li:hover ul, #dropmenu li li li li:hover ul { display:block; }
+#dropmenu li#m_item1 { width:11.8em; padding-left:10px; z-index:6; } /* getting started */
+#dropmenu li#m_item2 { width:8.55em; z-index:5; } /* resources */
+#dropmenu li#m_item3 { width:15.6em; z-index:4; } /* platform & packages */
+#dropmenu li#m_item4 { width:9.5em; z-index:3;} /* comunity */
+#dropmenu li#m_item5 { width:7.5em; z-index:2;} /* learning */
+#dropmenu li#m_item6 { width:5.46em;}
+#dropmenu li.last { background:none !important;} /* about */
+#dropmenu li#quicklinks { width:12em; z-index:18; padding-right:0 !important; background:none !important; }
+#dropmenu li#quicklinks a { padding-left:3em; background:url(../img/btn_quick_link.gif) 1em center no-repeat; }
+
+ /* quick links */
+#dropmenu li#quicklinks ul { left:-45px; }
+
+/* header */
+#devnet_header, #header { padding:0 0 5px 10px; }
+#devnet_header .right, #header .right { width:548px; }
+#devnet_header #logo, #header #logo { padding:20px 0 0 0; }
+#header_form { margin-bottom:10px; }
+#header_form a, #header_form a:visited { color:#000; font-size:0.82em; }
+#searchForm { margin-right:25px; }
+#searchForm label { float:left; padding-top:5px; width:4.30em; }
+#searchForm .fieldHolder { width:230px; height:23px; background:url(../img/search_box.gif) no-repeat; float:left; margin-bottom:5px; }
+#searchForm .textInput { width:190px; height:20px; background:none; border:none; color:#000000; margin:5px 0 0 5px; }
+#searchForm #SearchButton { vertical-align:top; padding:4px; margin-right:0px; margin-left:5px; }
+#searchForm #advancefilterContainer {margin-left:4.30em;}
+#searchForm #filterLabel { margin-left:15px; }
+#searchForm #advancefilter { background-color:#fff; width:150px; height:100px; position:absolute; z-index:9999; padding:20px; display:none; border:solid 1px #d1d1d1; }
+#searchForm #advancefilter select { margin-bottom:10px; width:150px; }
+
+#LoginForm label { float:left; padding-top:3px; width:5.95em; }
+#LoginForm .fieldHolder { width:170px; height:23px; background:url(../img/login_box.gif) no-repeat; float:left; }
+#LoginForm .textInput { width:160px; height:20px; background:none; border:none; color:#000000; margin:5px 5px 0 5px; }
+#LoginForm img { vertical-align:middle; }
+#LoginForm #SignOnButton { padding-left:8px; }
+#LoginForm #LoginWelcome { margin-bottom:10px; font-weight:bold; font-style:italic; }
+#LoginForm .LoginName { margin:0 0 0 5px; vertical-align:middle; }
+#LoginForm .LoginPadding { margin-bottom:35px; }
+
+#feedbackLoginForm {float:none;}
+#feedbackLoginForm a {color:#000;}
+#feedbackLoginForm label { float:left; padding-top:3px; width:5.95em; }
+#feedbackLoginForm .fieldHolder { width:170px; height:23px; background:url(../img/login_box.gif) no-repeat; float:left; }
+#feedbackLoginForm .textInput { width:160px; height:20px; background:none; border:none; color:#000000; margin:5px 5px 0 5px; }
+#feedbackLoginForm img { vertical-align:middle; }
+#feedbackLoginForm #FeedbackSignOnButton { padding-left:8px; }
+#feedbackLoginForm .LoginPadding { margin-bottom:35px; }
+div.closeFeedbackForm {margin-bottom:5px; text-align:right;}
+
+/* subheader for subpages */
+#subheader { margin:20px 0 10px 0; padding:0 8px; }
+#subheader h1 { text-align:left; padding:0px 0 0px 13px; margin-top:5px; background:url(../img/tbar_l.gif) left no-repeat; float:left; }
+#subheader h1 span {display:block; padding:0 20px 0 0; background:url(../img/tbar_r.gif) right no-repeat; line-height:50px;}
+
+/* common box styles */
+.homepage_rightside { padding-right:8px; } /*to fix ie6 margin issue*/
+.BoxFrame {border:solid 1px #d1d1d1;}
+.BoxFrame p.nolist { padding:2em 1em; text-align:center; }
+.BoxHeader { margin-bottom:5px; }
+.BoxContent { padding:9px 10px 9px 10px; }
+.BoxContent h2 {margin-bottom:10px;}
+.rssIcon { vertical-align:top; }
+.editorBoxContent { margin:5px 0 15px 0; }
+.editorBoxContent p { width:190px; }
+.latestBoxTop { background-color:#e5e5e5; padding:5px 0 5px 15px; }
+.latestBoxContentFrame { height:auto !important; min-height:400px; height:400px; }
+.latestBoxContent{ padding:10px 15px 0 15px; }
+.latestBoxDivider { border-top:dotted 1px #000; margin:10px 15px 0 15px; }
+.latestBoxContent small { margin-top:5px; }
+.colcontainer .BoxContent { padding:10px 15px 0 15px; border-bottom:1px solid #d1d1d1;}
+.colcontainer .last { border-bottom:none; }
+.colcontainer .more_info { font-size:1em; font-weight:normal; }
+ul.rowLinks li {float:left; display:block; position:relative; padding-right:20px; padding-bottom:10px; font-size:0.82em;}
+ul.rowLinks li a {color:#000; background:url(../img/btn_cta.gif) no-repeat left 2px; padding-left:10px; }
+.infobox .more_info { font-size:0.91em; font-weight:bold;}
+.BoxContent .title {font-weight:bold; padding-bottom:0;}
+
+
+/* site box */
+#siteBox { background:url(../img/masthead.gif) no-repeat; width:703px; height:auto !important; min-height:265px; height:265px; margin:0; }
+#siteBox a {color:#000;}
+#siteBox h1, #siteBox h2 { padding:5px 0 15px 0;}
+#siteBox .siteHeader{ font-size:1.64em; font-weight:bold;}
+#siteBox ul { padding:40px 0 0 15px; width:185px; color:#000; float:left; }
+#siteBox ul li:hover { text-decoration:underline; }
+#siteBox ul .active { background:url(../img/masthead_highlighted.gif) repeat-y; }
+#siteBox ul li { padding:5px 15px 0 15px; min-height:35px; cursor:pointer; font-weight:bold; }
+#siteBox ul li a { font-weight:bold; }
+#siteBox .itemContainer { padding:0 0 0 0; float:left; width:440px; margin:10px 0 0 40px; }
+#siteBox .itemImage { float:right; padding:0 20px 0 10px; }
+#siteBox .itemCopy { float:left; width:230px; }
+#editorBox { width:695px; height:auto !important; min-height:220px; height:220px; margin:0 0 20px 0; }
+#latestBox { width:695px; margin:5px 0 30px 0; padding-left:8px; }
+
+/* editor's choice */
+#EditorChoiceBox { width:314px; padding:10px 20px 0 20px; background-color:#fff; margin-right:1px; height:auto !important; min-height:210px; height:210px; border-right:1px solid #d1d1d1; margin-right:-1px; }
+
+/* community editor */
+#CommunityEditorBox { width:314px; background-color:#fff; padding:10px 0 0 20px; height:auto !important; min-height:210px; height:210px; border-left:1px solid #d1d1d1; }
+
+/* latest in documentation */
+#LatestDocumentationBox { width:333px; }
+#LatestDocumentationBox p { padding-bottom:0; }
+
+/* latest in forum */
+#LatestForumBox { width:333px; }
+#LatestForumBox p { padding-bottom:5px; }
+
+/* download */
+#DownloadBox { width:238px; margin:5px 0; height: auto !important; min-height:220px; height:220px; }
+#DownloadBox img { margin-bottom:10px; }
+
+/* featured packages */
+#PackageBox { width:238px; margin:5px 0; height: auto !important; min-height:220px; height:220px; }
+#PackageBox .package { margin-bottom:15px; }
+#PackageBox .package p { padding-bottom:0; }
+#PackageBox .package img { float:left; margin-right:15px; }
+
+/* top articles */
+#TopArticleBox { width:238px; margin:5px 0; height:auto !important; min-height:435px; height:435px; }
+.voteNum { font-size:1.09em; font-weight:bold; color:#000; padding:0; text-align:center; padding:5px 0 0 0; }
+.voteTitle { font-size:0.82em; font-weight:bold; text-align:center; }
+.articleListing { padding:0 0 0 40px; width:150px; float:left; }
+.articleVote { background:url(../img/vote_box.gif) no-repeat; width:45px; height:40px; float:left; }
+.ui-accordion-container .more_info { margin-left:40px; }
+.ui-accordion { list-style-type: none; }
+.ui-accordion .odd { background-color:#e5e5e5; }
+.ui-accordion li { padding:1px 0 5px 0; margin:0; }
+.ui-accordion li span { margin-bottom:3px; }
+.ui-accordion li:hover { cursor:pointer; }
+.ui-accordion li span.ui-accordion-header { display:block; color:#000; text-decoration:none; position:relative; padding:0 0 0 10px; background:url(../img/icon_drop_down.gif) no-repeat 216px 4px; font-size:1.09em; }
+.ui-accordion li .selected { font-weight:bold; }
+.ui-accordion li span.ui-accordion-header.selected { background:none; }
+
+/* subpages styles */
+.subcontent { color:#000; padding:0 8px; }
+.subcontentImage { }
+.subcontent p { padding:0 0 10px 0; }
+.subcontent h1 { margin-bottom:10px; }
+.bulletlist { margin:10px 0 0 30px; }
+ul.bulletlist { list-style-type:disc; }
+ol.bulletlist { list-style-type:decimal; margin:10px 0 0 30px; }
+.bulletlist li { margin:0 0 10px 0; }
+.bulletlistDocumentation li { float: left;margin-left:40px; margin-top: 25px; }
+.breadcrumbs { font-size:0.82em; }
+.breadcrumbs a { text-decoration:underline; }
+.columns { width:964px; margin:0px 8px; clear:both; }
+.columns .bulletlist { }
+.colcontainerspacer { height:18px; }
+.colBoxTop { background-color:#e5e5e5; padding:5px 15px 5px 15px; color:#000; font-weight:bold; }
+.colBoxTop p {font-weight:normal; padding-bottom:0em;}
+.colBoxTop img { vertical-align:middle; }
+.one_col { width:99.8%; }
+.two_col { width:49%;}
+.three_col { width:32%; }
+.three_col_center { margin-left:1.8%; }
+.three_col_right { margin-right:0.3%; }
+.three_col_double { width:66%; }
+.four_col { width:24%; }
+.four_col_center { margin-left:1%; }
+.two_col_copy { width:343px; float:left; padding:0 10px 10px 0; float:right; }
+.one_col_copy { width:780px; float:left; padding:0 10px 10px 10px; }
+.colcontainer div.BoxFrame {margin-bottom:18px; height:1%;}
+.colcontainer {margin-top:10px;}
+
+
+/*Alphabet Listing in sub content*/
+.subcontent div.types, .subcontent div.alphabets { background:#d1d1d1; line-height:3em; height:1%;}
+.subcontent div.alphabets { margin-top:10px; margin-bottom:10px;}
+.subcontent li.noMatch {padding-bottom:10px; padding-left:15px;}
+.subcontent div.types small, .subcontent div.alphabets small { float:left; display:block; position:relative; background:#d1d1d1; padding-left:8px; }
+.subcontent div.types a, .subcontent div.alphabets a { color:#000; text-decoration:none; }
+.subcontent div.types a.selected, .subcontent div.alphabets a.selected { font-weight:bold; color:#fff; }
+.subcontent #alphabeticallist { padding:0;}
+
+/* forum */
+#forum { margin:0 8px 20px 8px; padding-bottom:20px; }
+#forum h2 { padding:10px; }
+#forumListing { width:100%; }
+#forumListing th { font-size:1.09em; padding:5px 10px; background-color:#fee126; font-weight:bold; text-align:center; }
+#forumListing td { padding:5px 10px; vertical-align:top; text-align:center; }
+#forumListing .threadColumn { text-align:left; }
+#forumListing .header .leftalign { text-align:left; }
+#forumListing .even { background-color:#e5e5e5; }
+#forumListing a, #forumListing a:visited { text-decoration:none; color:#0000FF; }
+#forumListing a:hover { text-decoration:underline; }
+
+/* community page */
+.community_image { padding:10px 5px 25px; }
+.community_header { padding:10px 5px; position:relative; left:8px;}
+.community_copy { width:180px; float:left; padding:0 10px 30px 0; float:right; }
+
+/*package page*/
+.package_description {width:66%;}
+.package_description .bulletlist {margin-top:0px;}
+.downloadInfo {text-align:center; margin-top:0px; margin-bottom:0px; padding:0px;}
+#createPackageFrm label.lnowrap {white-space:nowrap}
+#createPackageFrm label span {font-weight:normal;}
+#createPackageFrm small {font-weight:normal; display:inline;}
+#addPackageUser {border-bottom:1px dotted #d1d1d1;}
+#addPackageUser ol.forms {padding:15px 15px 0 5px;}
+#addPackageUser li.buttons {padding-left:210px; font-weight:bold; margin-bottom:0px; width:400px;}
+.multiSelect {padding-left:80px; padding-top:30px;}
+.multiSelect .selectContainer {float:left; width:350px;}
+.multiSelect .labelContainer label {display:inline; float:left; padding-right:10px;}
+.multiSelect .labelContainer .buttons {float:left; padding-bottom:4px;}
+.multiSelect select {width:350px;}
+.multiSelect .moveOptContainer {float:left; padding:70px 30px;}
+.multiSelect .moveOptContainer input {margin-bottom:10px;}
+
+/* search results page */
+#searchCriteria { padding:10px 10px; margin-bottom:18px; background-color:#D1D1D1; }
+#searchCriteria input { margin-left:5px; }
+#searchResultsTab { margin-bottom:18px; }
+#searchResultsTab .desc { margin-bottom:10px; }
+#searchResultsTab ul a:hover { text-decoration:none; }
+#searchResultsTab hr { color:#D1D1D1; background-color: #D1D1D1; height: 1px; border:0 none; margin-bottom:10px; }
+#searchResultsTab dl { margin-top:10px; margin-bottom:10px; }
+#searchResultsTab dl h2 { float:left; width:150px; }
+.topSearchResults { margin-left:20px; margin-top:10px; }
+#searchResultsTab a {font-weight:bold; }
+#searchResultsTab .moreResults a { color:#D6B900; }
+.searchtab_container .ui-tabs-panel { height:auto; }
+
+/* resources > downloads page */
+#downloadsTab, .mTab { margin-bottom:18px; }
+#downloadsTab .ui-tabs-panel, .mTab .ui-tabs-panel { padding:1em 0px; }
+#downloadsTab div.types, .mTab div.types, #downloadsTab div.alphabets, .mTab div.alphabets { background:#d1d1d1; line-height:3em; height:1%;}
+#downloadsTab div.alphabets, .mTab div.alphabets { margin-top:10px; }
+#downloadsTab div.types small, #downloadsTab div.alphabets small { float:left; display:block; position:relative; background:#d1d1d1; padding-left:8px; }
+#downloadsTab div.types a, #downloadsTab div.alphabets a { color:#000; text-decoration:none; }
+#downloadsTab div.types a.selected, #downloadsTab div.alphabets a.selected { font-weight:bold; color:#fff; }
+#downloadsTab div.type, .mTab div.type { padding:1em 8px; border-bottom:1px solid #d1d1d1; margin-bottom:1em; height:1%; clear:both; }
+#downloadsTab div.last, .mTab div.last { border-bottom:none; }
+#downloadsTab div.item, .mTab div.item { padding:10px 20px; }
+#downloadsTab div.description h4 small { font-weight:normal; padding:0 5px; }
+#downloadsTab div.description { float:left; width:60%; }
+.mTab div.description { float:left; width:90%; }
+#downloadsTab div.details { float:right; width:110px; background:#d1d1d1; text-align:center; padding:5px 0; }
+#downloadsTab .subscribe { float:right; line-height:3em; width:25px; padding-right:10px; }
+#downloadsTab .subscribe a { display:block; position:relative; height:3em; background:url(../img/icon_rss_feed03.gif) right center no-repeat; text-indent:-9999em; }
+.mtabs_title {background:#d1d1d1; line-height:3em; text-align:center; margin-bottom:10px;}
+
+div.view-by-category div.left { width:60%; }
+div.view-by-category div.right { width:30%; margin-right:20px; }
+div.view-by-category #categories a.selected {font-weight:bold!important;}
+div.view-by-category div.category { padding:1em; margin-bottom:1em; }
+
+/* jQuery.Rating Plugin CSS - http://www.fyneworks.com/jquery/star-rating/ */
+div.rating { cursor:pointer; margin:10px; clear:both; display:block; }
+div.rating:after { content:'.'; display:block; height:0; width:0; clear:both; visibility:hidden; }
+div.cancel, div.star { float:left; width:17px; height:15px; text-indent:-999em; cursor:pointer; display:block; background:transparent; overflow:hidden; }
+div.cancel, div.cancel a { background:url('../img/delete.gif') no-repeat 0 -16px; }
+div.star, div.star a { background:url('../img/star.gif') no-repeat 0 0px; }
+div.cancel a, div.star a { display:block; width:16px; height:100%; background-position:0 0px; }
+div.star_on a { background-position:0 -16px!important; }
+div.star_hover a, div.star_live a:hover { background-position:0 -32px; }
+/* Read Only CSS */
+div.star_readonly a, div.star_readonly a:hover { cursor:default !important; }
+/* Partial Star CSS */
+div.star { background:transparent!important; overflow:hidden!important; }
+
+/* jQuery.listnav Plugin CSS - http://www.ihwy.com/labs/jquery-listnav-plugin.aspx */
+#alphabeticallist { padding:0 1em; }
+.noMatch { list-style:none; }
+.listNav { padding:0 8px; height:1%; }
+.listNav a { display:block; float:left; padding:0 5px; font-size:0.82em; }
+.listNav a.ln-last { }
+.listNav a.ln-selected { color:#fff !important; font-weight:bold; }
+.listNav a:hover { text-decoration:underline; }
+.listNav a.ln-disabled { color:#999 !important; }
+.listNav .ln-letterCount { text-align:center; font-size:0.8em; line-height:1; margin-bottom:3px; color:#666; } /* extra styling using jquery.listnav.js internally used class name */
+
+/* Forms */
+form .BoxFrame {margin-bottom:15px; width: 960px;}
+ol.forms {float: left; list-style: none; padding:15px;}
+ol.forms li {clear: both;float: left;margin: 0 0 10px;width: 100%;}
+ol.forms label {cursor: pointer;display: block;float: left;font-weight: bold;margin: 0 10px 0 0;width: 200px;}
+ol.forms label.error { padding-left:210px; color:#FF0000; width:400px; font-weight:normal; font-size:0.9em;}
+ol.forms label.loading { padding-left:210px; color:#333; width:400px; font-weight:normal; font-size:0.9em; }
+ol.forms input, ol.forms textarea {font: inherit;padding: 2px;width: 310px;}
+ol.forms textarea { height: 250px; width:500px;}
+ol.forms li.grouping label {cursor:pointer; display: block;float: left;font-weight: bold;margin: 0 10px 0 0;width: 200px; }
+ol.forms li.grouping {padding-bottom:5px; margin-bottom:0px;}
+ol.forms li.grouping ul { list-style: none; display: block;float: left;}
+ol.forms li.grouping ul label {display: inline;float: none;font-weight: normal;margin: 0;width: auto;}
+ol.forms li.grouping ul input { width: auto; }
+.buttons {float: right; padding-bottom:10px; position:relative; top:1px;}
+.buttons input {background-color:#000000; color:#fee126; border:none; padding:1px 7px; cursor:pointer; font-weight:bold; font-size:0.82em; }
+.buttons input:hover {color:#FFF;}
+.compulsory {color:#FF0000;}
+.thankyou_container {height:auto !important; min-height:500px; height:500px;}
+form input.ctyCode {width:25px;}
+form input.cNumber {width:253px;}
+
+.plussign {padding:0 5px 10px 0; margin-bottom:10px;}
+
+p.instruction {line-height:1.5em;}
+
+/* Feedback */
+div#feedbackform {width:780px; margin:0 auto;}
+div#feedbackform textarea {height:100px;}
+
+div#feedback {background-color:#fff; color:#000; z-index:99; padding:20px; position:absolute;bottom:36px; border:1px solid #d1d1d1; display:none;}
+div#feedback.signin { width: 780px !important; left:80px;}
+div#feedback.signout { left:40%;}
+div#feedback textarea {height:100px;}
+div#feedbackform li.feedback_category label.error {padding:0;}
+div#feedbackform li.grouping {padding-bottom:20px;}
+div#feedbackform li.grouping li input {display:inline; margin:0;}
+div#feedbackform li.grouping li label {display:inline; margin-right:10px;}
+
+/*Section/Sub-section Images*/
+.img_txt_community_editor {padding: 35px 0 0 0; width:250px; height:35px; background:url(../img/txt_community_editor.gif) top left no-repeat;}
+.img_txt_editor_choice {padding: 35px 0 0 0; width:215px; height:35px; background:url(../img/txt_editor_choice.gif) top left no-repeat;}
+.img_txt_download {padding: 25px 0 0 0; width:125px; height:25px; background:url(../img/txt_download.gif) top left no-repeat;}
+.img_txt_featured_package {padding: 25px 0 0 0; width:220px; height:25px; background:url(../img/txt_featured_package.gif) top left no-repeat;}
+.img_txt_latest_document {padding: 25px 0 0 0; width:230px; height:25px; background:url(../img/txt_latest_document.gif) top left no-repeat;}
+.img_txt_latest_forum {padding: 25px 0 0 0; width:160px; height:25px; background:url(../img/txt_latest_forum.gif) top left no-repeat;}
+.img_txt_top_articles {padding: 25px 0 0 0; width:145px; height:25px; background:url(../img/txt_top_articles.gif) top left no-repeat;}
+.img_t_going_open_source {padding: 48px 0 0 0; width:130px; height:48px; background:url(../img/t_going_open_source.gif) top left no-repeat;}
+.img_t_history_of_symbian {padding: 53px 0 0 0; width:125px; height:53px; background:url(../img/t_history_of_symbian.gif) top left no-repeat;}
+.img_t_leadership_team {padding: 27px 0 0 0; width:188px; height:27px; background:url(../img/t_leadership_team.gif) top left no-repeat;}
+.img_t_member_companies {padding: 48px 0 0 0; width:120px; height:48px; background:url(../img/t_member_companies.gif) top left no-repeat;}
+.img_t_foundation_members {padding: 48px 0 0 0; width:125px; height:48px; background:url(../img/t_foundation_members.gif) top left no-repeat;}
+.img_t_keynote_speeches {padding: 51px 0 0 0; width:110px; height:51px; background:url(../img/t_keynote_speeches.gif) top left no-repeat;}
+.img_t_forums {padding: 24px 0 0 0; width:80px; height:24px; background:url(../img/t_forums.gif) top left no-repeat;}
+.img_t_blog {padding: 26px 0 0 0; width:61px; height:26px; background:url(../img/t_blog.gif) top left no-repeat;}
+.img_t_wikis {padding: 24px 0 0 0; width:58px; height:24px; background:url(../img/t_wikis.gif) top left no-repeat;}
+.img_t_news {padding: 22px 0 0 0; width:174px; height:22px; background:url(../img/t_news.gif) top left no-repeat;}
+.img_t_competence {padding: 76px 0 0 0; width:144px; height:76px; background:url(../img/t_competence.gif) top left no-repeat;}
+.img_hdr_step1 {padding: 26px 0 0 0; width:68px; height:26px; background:url(../img/hdr_step1.gif) top left no-repeat;}
+.img_hdr_step2 {padding: 26px 0 0 0; width:72px; height:26px; background:url(../img/hdr_step2.gif) top left no-repeat;}
+.img_hdr_step3 {padding: 26px 0 0 0; width:72px; height:26px; background:url(../img/hdr_step3.gif) top left no-repeat;}
+.img_hdr_step4 {padding: 26px 0 0 0; width:73px; height:26px; background:url(../img/hdr_step4.gif) top left no-repeat;}
+.img_hdr_forum {padding: 25px 0 0 0; width:198px; height:25px; background:url(../img/hdr_forum.gif) top left no-repeat;}
+.img_t_training {padding: 25px 0 0 0; width:97px; height:25px; background:url(../img/t_training.gif) top left no-repeat;}
+.img_t_developer {padding: 81px 0 0 0; width:123px; height:81px; background:url(../img/t_developer.gif) top left no-repeat;}
+.img_t_universities {padding: 22px 0 0 0; width:142px; height:22px; background:url(../img/t_universities.gif) top left no-repeat;}
+.img_t_books {padding: 20px 0 0 0; width:65px; height:20px; background:url(../img/t_books.gif) top left no-repeat;}
+.img_t_events {padding: 21px 0 0 0; width:81px; height:21px; background:url(../img/t_events.gif) top left no-repeat;}
+.img_t_categories {padding: 20px 0 0 0; width:105px; height:20px; background:url(../img/t_categories.gif) top left no-repeat;}
+.img_t_documentation {padding: 22px 0 0 0; width:176px; height:22px; background:url(../img/t_documentation.gif) top left no-repeat;}
+.img_t_examplecode {padding: 28px 0 0 0; width:163px; height:28px; background:url(../img/t_examplecode.gif) top left no-repeat;}
+.img_t_tools {padding: 23px 0 0 0; width:67px; height:23px; background:url(../img/t_tools.gif) top left no-repeat;}
+.img_t_contribute_code {padding: 25px 0 0 0; width:330px; height:25px; background:url(../img/t_contribute_code.gif) top left no-repeat;}
+.img_t_develop_application {padding: 25px 0 0 0; width:415px; height:25px; background:url(../img/t_develop_application.gif) top left no-repeat;}
+.img_t_documentation_platform {padding: 25px 0 0 0; width:475px; height:24px; background:url(../img/t_documentation_platform.gif) top left no-repeat;}
+.img_t_documentation_application {padding: 25px 0 0 0; width:505px; height:24px; background:url(../img/t_documentation_application.gif) top left no-repeat;}
+.img_t_packages {padding: 25px 0 0 0; width:115px; height:25px; background:url(../img/t_packages.gif) top left no-repeat;}
+
+/* documentation style */
+.documentationLinks p {background:transparent url(../img/tbar_l.gif) no-repeat scroll left center;padding:0 0 0 13px;}
+.documentationLinks a {background:transparent url(../img/tbar_r.gif) no-repeat scroll right center;display:block;line-height:20px;padding:0 20px 0 0;}
+
+/* common style */
+.left { float:left; }
+.right { float:right; }
+.clear { clear:both; width:0; height:0; font-size:0; overflow:hidden; }
+.hidden { display:none; }
+.bold { font-weight:bold; }
+.hmarginright {margin-right:10px;}
+.pname {text-decoration:underline;}
+
+
+/* footer */
+#devnet_footer { clear:both; background-color:#000; color:#fff; padding:10px; }
+#devnet_footer ul li { float:left; display:block; background:url(../img/footer-divider.gif) right bottom no-repeat; padding-right:10px; margin-right:10px; }
+#devnet_footer ul li.last { background-image:none; }
+#devnet_footer a, #devnet_footer a:visited, #devnet_footer a:hover { color:#fff; text-decoration:none; font-size:0.82em; }
+#devnet_footer a:hover { text-decoration:underline; }
+
+
+
+/* jQuery Thickbox 3.1 CSS - http://jquery.com/demo/thickbox/ */
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+*{padding: 0; margin: 0;}
+
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+#TB_window {
+ color: #000;
+}
+
+#TB_secondLine {
+ color:#000;
+}
+
+#TB_window a:link {color: #0000FF;}
+#TB_window a:visited {color: #0000FF;}
+#TB_window a:hover {color: #0000FF; text-decoration:underline;}
+#TB_window a:active {color: #0000FF;}
+#TB_window a:focus{color: #0000FF;}
+
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+#TB_overlay {
+ position: fixed;
+ z-index:100;
+ top: 0px;
+ left: 0px;
+ height:100%;
+ width:100%;
+}
+
+.TB_overlayMacFFBGHack {background: url(../img/macFFBgHack.png) repeat;}
+.TB_overlayBG {
+ background-color:#000;
+ filter:alpha(opacity=75);
+ -moz-opacity: 0.75;
+ opacity: 0.75;
+}
+
+* html #TB_overlay { /* ie6 hack */
+ position: absolute;
+ height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+}
+
+#TB_window {
+ position: fixed;
+ background: #ffffff;
+ z-index: 102;
+ color:#000000;
+ display:none;
+ border: 4px solid #525252;
+ text-align:left;
+ top:50%;
+ left:50%;
+}
+
+* html #TB_window { /* ie6 hack */
+position: absolute;
+margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
+}
+
+#TB_window img#TB_Image {
+ display:block;
+ margin: 15px 0 0 15px;
+ border-right: 1px solid #ccc;
+ border-bottom: 1px solid #ccc;
+ border-top: 1px solid #666;
+ border-left: 1px solid #666;
+}
+
+#TB_caption{
+ height:25px;
+ padding:7px 30px 10px 25px;
+ float:left;
+}
+
+#TB_closeWindow{
+ height:25px;
+ padding:11px 25px 10px 0;
+ float:right;
+}
+
+#TB_closeAjaxWindow{
+ padding:7px 10px 5px 0;
+ margin-bottom:1px;
+ text-align:right;
+ float:right;
+}
+
+#TB_ajaxWindowTitle{
+ float:left;
+ padding:7px 0 5px 10px;
+ margin-bottom:1px;
+}
+
+#TB_title{
+ background-color:#e8e8e8;
+ height:27px;
+}
+
+#TB_ajaxContent{
+ clear:both;
+ padding:2px 15px 15px 15px;
+ overflow:auto;
+ text-align:left;
+ line-height:1.4em;
+}
+
+#TB_ajaxContent.TB_modal{
+ padding:15px;
+}
+
+#TB_ajaxContent p{
+ padding:5px 0px 5px 0px;
+}
+
+#TB_load{
+ position: fixed;
+ display:none;
+ height:13px;
+ width:208px;
+ z-index:103;
+ top: 50%;
+ left: 50%;
+ margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */
+}
+
+* html #TB_load { /* ie6 hack */
+position: absolute;
+margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
+}
+
+#TB_HideSelect{
+ z-index:99;
+ position:fixed;
+ top: 0;
+ left: 0;
+ background-color:#fff;
+ border:none;
+ filter:alpha(opacity=0);
+ -moz-opacity: 0;
+ opacity: 0;
+ height:100%;
+ width:100%;
+}
+
+* html #TB_HideSelect { /* ie6 hack */
+ position: absolute;
+ height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+}
+
+#TB_iframeContent{
+ clear:both;
+ border:none;
+ margin-bottom:-1px;
+ margin-top:1px;
+ _margin-bottom:1px;
+}
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/_stock/css/reset.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/_stock/css/reset.css Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,12 @@
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {padding:0;margin:0;}
+table {border-collapse:collapse;border-spacing:0;}
+fieldset,img {border:0;}
+address,caption,cite,code,dfn,em,strong,th,var {font-weight:normal;font-style:normal;}
+ol,ul {list-style:none;}
+caption,th {text-align:left;}
+h1,h2,h3,h4,h5,h6 {font-weight: normal;font-size: 100%;}
+q:before,q:after {content:'';}
+abbr,acronym {border:0;}
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/_stock/css/sdlplugin.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/_stock/css/sdlplugin.css Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,16 @@
+body {
+ background-color: #FFFFFF;
+}
+
+.help_breadcrumbs {
+ background-color: #E5E5E5;
+ border-bottom:1px dotted #B2B2B2;
+ border-top:1px dotted #B2B2B2;
+ font-size:12px;
+ margin:10px;
+ padding:5px;
+}
+
+.help_breadcrumbs a {
+ color: black;
+}
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/_stock/css/sysdoc.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/_stock/css/sysdoc.css Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,493 @@
+/* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: http://www.symbianfoundation.org/legal/sfl-v10.html. */
+
+dt
+{
+font-weight: bold;
+}
+
+.topNavigation ul li {
+display: inline;
+padding-right: 20px;
+}
+
+hr {
+ border: 0px;
+ background: url(../images/css/section_hr.gif) top left repeat-x;
+ height: 15px;
+ width: 100%;
+}
+
+#authoredContent, .Bodytext {
+ padding-top: 5px;
+ line-height: 150% !important;
+ padding-bottom: 15px;
+}
+
+
+#authoredContent h1, .Bodytext h1, .Head1 h1 {
+ margin: 0px;
+ font-size: 210%;
+ font-weight: bold;
+ line-height: 1.4;
+ margin: 0.5em 0 0.8em 0;
+}
+
+#authoredContent h2, .Bodytext h2 {
+ margin: 0.8em 0 0.5em 0;
+ font-size: 170%;
+ font-weight: bold;
+ margin-left: 0px;
+}
+
+#authoredContent h3 , .Bodytext h3 {
+ padding-top: 4px;
+ padding-bottom: 4px;
+ margin: 0px;
+ font-size: 140%;
+ font-weight: bold;
+ margin-left: 0px;
+}
+
+#authoredContent h4, .Bodytext h4 {
+ padding-top: 4px;
+ padding-bottom: 4px;
+ margin: 0px;
+ font-size: 120%;
+ font-weight: bold;
+ margin-left: -0px;
+}
+
+#authoredContent h5, .Bodytext h5 {
+ padding-top: 4px;
+ padding-bottom: 4px;
+ margin: 0px;
+ font-size: 110%;
+ font-weight: bold;
+ margin-left: -0px;
+}
+
+#authoredContent table, .Bodytext table {
+ margin: 0px;
+ border: 1px solid #000000;
+ margin: 0.5em 0 1em 0;
+}
+
+#authoredContent table p, .Bodytext table p{
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#authoredContent th, .Bodytext th {
+ border: 1px solid #000000;
+ background-color: #e5e5e5;
+ font-weight: bold;
+ padding: 0.5em;
+}
+
+#authoredContent td, .Bodytext td {
+ border: 1px solid #000000;
+
+ padding: 0.5em;
+}
+
+.Bodytext td table td, .Bodytext td table, .Bodytext table, .Bodytext table td
+{
+border: none;
+padding: 0.2em;
+margin: 0;
+margin-bottom: 0.5em;
+}
+
+#authoredContent.codeblock {
+ border: 1px solid #d1d1d1;
+ background-color: #e5e5e5;
+ padding: 5px;
+ font-family: "courier new", "courier", serif;
+ color: #444444;
+}
+
+#authoredContent ul, #authoredContent ol, .Bodytext ul, .Bodytext ol
+{
+margin-bottom: 0.8em;
+}
+
+#authoredContent ul li ul, #authoredContent ol li ol, .Bodytext ul li ul, .Bodytext ol li ol
+{
+margin-top: 0.2em;
+margin-bottom: 0.2em;
+}
+
+#authoredContent ul li, .Bodytext ul li
+{
+list-style-type: square;
+margin-left: 2.5em;
+}
+
+#authoredContent ul li ul li, .Bodytext ul li ul li
+{
+margin-left: 1.5em;
+list-style-type: disc;
+}
+
+#authoredContent ol li, .Bodytext ol li
+{
+margin-left: 2em;
+list-style-type: decimal;
+}
+
+#authoredContent.section, .Bodytext.section {
+ padding-top: 5px;
+}
+
+#authoredContent.section.section, .Bodytext.section.section {
+ padding-top: 5px;
+}
+
+
+
+
+
+#main_content {
+ background-color: #ffffff;
+ padding: 13px 5px;
+
+}
+
+
+#main_content table {
+ font-family: "verdana", sans-serif;
+ color: #222222;
+}
+
+#main_content_toc {
+ /** border-right: 1px solid #b2b2b2; **/
+ overflow: auto;
+ font-size: 0.9em;
+}
+
+#main_content_toc a {
+ font-weight: normal;
+ background-color: transparent;
+padding-bottom: 4px;
+}
+
+#main_content_sizer {
+ width: 5px;
+ background-color: #cccccc;
+ cursor: w-resize;
+}
+
+#main_content_toc a:hover {
+ background-color: #fee126;
+ text-decoration: none;
+ border: 0px;
+}
+
+#main_content_txt {
+ padding-left: 13px;
+ padding-top: 1px;
+ font-size: 1.1em;
+}
+
+
+
+.sysdoc_navigator
+{
+ font-size: 0.8em;
+ border-top: 1px dotted #b2b2b2;
+ border-bottom: 1px dotted #b2b2b2;
+}
+
+.sysdoc_navigator a {
+ background-color: #e5e5e5;
+}
+
+.sysdoc_navigator a:hover {
+ background-color: #fee126;
+ text-decoration: underline;
+ border: 0px;
+}
+
+.sysdoc_navigator_padding {
+ padding: 5px;
+ background-color: #e5e5e5;
+ font-size: 1.1em;
+}
+
+#printer_copyright {
+ display: none;
+}
+
+#printer_copyright_padding {
+ display: none;
+}
+
+.main_content_label {
+ padding-bottom: 2px;
+}
+
+.main_content_padding {
+ padding-right: 5px;
+ padding-bottom: 5px;
+}
+
+.main_content_rss {
+ width: 20px;
+ height: 20px;
+ cursor: pointer;
+ background: url(../images/css/rss.gif) top left no-repeat;
+ float: right;
+ clear: right;
+}
+
+.main_content_title {
+ padding-bottom: 10px;
+}
+
+.print_icon {
+ float: right;
+ width: 26px;
+ height: 26px;
+ background: url(../images/css/icon_print.gif) top left no-repeat;
+ cursor: pointer;
+ margin-top: -22px;
+}
+
+.subheading {
+ padding-bottom: 10px;
+}
+
+.table_border {
+ width: 384px;
+ padding-bottom: 13px;
+}
+
+.table_border_top {
+ width: 384px;
+ height: 8px;
+ font-size: 0px;
+ background: url(../images/css/table_top.gif) top left no-repeat;
+}
+
+.table_border_middle {
+ width: 384px;
+ background: url(../images/css/table_middle.gif) top left repeat-y;
+}
+
+.table_border_bottom {
+ font-size: 0px;
+ width: 384px;
+ height: 8px;
+ background: url(../images/css/table_bottom.gif) bottom left no-repeat;
+}
+
+.table_border_padding {
+ padding-top: 5px;
+ padding-left: 10px;
+ padding-right: 5px;
+ padding-bottom: 10px;
+}
+
+#authoredContent pre, .Bodytext pre
+{
+padding: 0.6em 1em;
+background-color: #eee;
+line-height: 2 !important;
+margin-bottom: 1em;
+}
+
+#authoredContent code, .Bodytext code
+{
+line-height: 1.4 !important;
+font-size: 1.2em;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code
+{
+font-weight: bold;
+}
+
+#authoredContent ul li pre, #authoredContent ol li pre, .Bodytext ul li pre, .Bodytext ol li pre
+{
+margin-top: 1em;
+}
+
+#authoredContent p.Caption, .Bodytext p.Caption
+{
+font-style: italic;
+font-size: 0.9em;
+}
+
+.RelatedItems
+{
+font-weight: bold;
+margin: 1em 0 0.5em 0;
+}
+
+#header
+{
+width: auto;
+}
+
+#container
+{
+overflow: auto;
+}
+
+pre
+{
+overflow: auto;
+
+}
+
+
+pre code
+{
+}
+
+.Structure, .CodeBlock, .Prototype, .Instructions, .Process,
+.Guideline, .DataDescription, .Classification, .Example {
+ padding: 1em 1em 0 1em;
+ background-color: #eee;
+ margin-bottom: 1em;
+}
+
+/* CodeBlocks in blue boxes want to be blue too. */
+.Structure pre,
+.Instructions pre,
+.Process pre,
+.Guideline pre,
+.DataDescription pre,
+.Classification pre,
+.Example pre
+{
+ background-color: #d5d5d5 !important;
+}
+
+.apiAbstract
+{
+ margin-top: 3px;
+ margin-left: 10px;
+}
+
+/* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: http://www.symbianfoundation.org/legal/sfl-v10.html. */
+
+#authoredContent p.Caption, .Bodytext p.Caption
+{
+margin-top: -1.5em;
+}
+
+#authoredContent p.Image
+{
+margin-bottom: 0;
+padding-bottom: 0;
+}
+
+.Structure, .CodeBlock, .Prototype, .Instructions, .Process,
+.Guideline, .DataDescription, .Classification, .Example {
+ padding: 1em 1em 1em 1em;
+ background-color: #eee;
+ margin-bottom: 1em;
+}
+
+/* CodeBlocks in blue boxes want to be blue too. */
+.Structure .CodeBlock,
+.Instructions .CodeBlock,
+.Process .CodeBlock,
+.Guideline .CodeBlock,
+.DataDescription .CodeBlock,
+.Classification .CodeBlock,
+.Example .CodeBlock
+{
+ background-color: #cccccc;
+ border: solid #dddddd 1px;
+}
+
+.apiAbstract
+{
+ margin-top: 3px;
+ margin-left: 3px;
+}
+
+.ValueDesc { padding-left: 10px !important;}
+
+.apiAbstract:before
+{
+content: ' - ';
+}
+
+.ValueDesc
+{
+padding: 0px 0px 0px 10px !important;
+}
+
+#pageFunctions
+{
+float: right;
+margin-top: 3px;
+background-color: transparent;
+}
+
+#pageFunctions a:hover {
+ background-color: transparent;
+}
+
+.ajax-div h3
+{
+font-size: 1.1em;
+}
+
+.ajax-div h3 a
+{
+color: #0000ff !important;
+font-weight: bold !important;
+}
+
+#container
+{
+margin:0 auto;
+text-align:left;
+width:99%;
+}
+
+
+.ygtvitem, .ygtvchildren, #toc
+{
+width: 100%;
+}
+
+.ygtvtable
+{
+table-layout: fixed;
+width: 100%;
+overflow: hidden;
+}
+
+.ygtvcontent a
+{
+display: block;
+}
+
+.input-div, .output-div-container
+{
+padding: 0;
+}
+
+.error
+{
+padding: 1em;
+text-decoration: none !important;
+color: red;
+margin-right: 1em;
+font-weight: bold;
+text-align: center;
+}
+
+strong
+{
+font-weight: bold;
+}
+
+em
+{font-style: italic;
+}
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/_stock/css/ui.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/_stock/css/ui.css Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,262 @@
+/* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: http://www.symbianfoundation.org/legal/sfl-v10.html. */
+
+body {
+ font-family: "tahoma", sans-serif;
+ font-size: 11px;
+ background-color: #888888;
+ margin: 0px;
+ padding: 0px;
+}
+
+h1 {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ margin: 0px;
+ font-size: 22px;
+ font-weight: bold;
+}
+
+h2 {
+ padding-top: 6px;
+ padding-bottom: 6px;
+ margin: 0px;
+ font-size: 18px;
+ font-weight: bold;
+}
+
+h3 {
+ padding-top: 4px;
+ padding-bottom: 4px;
+ margin: 0px;
+ font-size: 14px;
+ font-weight: bold;
+}
+
+#index_table a {
+ font-weight: normal;
+ background-color: #ffffff;
+}
+
+#index_table a:hover {
+ font-weight: normal;
+ background-color: #cccccc;
+}
+
+#content_footer {
+ font-family: "verdana", sans-serif;
+}
+
+#content_footer a {
+ text-decoration: none;
+ color: #ffffff;
+}
+
+#content_footer a:hover {
+ text-decoration: underline;
+}
+
+#content_footer_links {
+ background-color: #333333;
+ color: #ffffff;
+ font-size: 13px;
+ height: 42px;
+}
+
+#content_footer_links_padding {
+ padding-top: 16px;
+ padding-left: 32px;
+}
+
+#main_content {
+ background-color: #ffffff;
+ font-size: 11px;
+ padding: 13px;
+ padding-left: 13px;
+ padding-top: 13px;
+ font-size: 12px;
+}
+
+#main_content a {
+ color: #222222;
+ background-color: #ffffff;
+ font-weight: normal;
+}
+
+#main_content a:hover {
+ background-color: #fee126;
+ text-decoration: underline;
+}
+
+#main_content table {
+ font-family: "verdana", sans-serif;
+ color: #222222;
+ font-size: 12px;
+}
+
+#main_content_toc {
+ /** border-right: 1px solid #b2b2b2; **/
+ text-decoration: underline;
+ overflow: auto;
+ font-size: 10px;
+}
+
+#main_content_toc a {
+ text-decoration: none;
+ font-weight: normal;
+ color: #222222;
+ background-color: #ffffff;
+ font-size: 10px;
+}
+
+#main_content_sizer {
+ width: 5px;
+ background-color: #cccccc;
+ cursor: w-resize;
+}
+
+#main_content_toc a:hover {
+ background-color: #fee126;
+ text-decoration: none;
+ border: 0px;
+}
+
+#main_content_txt {
+ padding-left: 13px;
+ padding-top: 1px;
+ font-size: 12px;
+}
+
+#mast {
+ font-family: "verdana", sans-serif;
+ background-color: #ffffff;
+ background: url(../images/css/ui_mast_doodles.gif) top right no-repeat;
+}
+
+#mast a {
+ text-decoration: none;
+ color: #222222;
+}
+
+#mast a:hover {
+ text-decoration: underline;
+}
+
+#mast_content {
+ background: url(../images/css/ui_logo.gif) top left no-repeat;
+ height: 60px; /** defaut: 80px **/
+}
+
+#mast_links {
+ background-color: #d1d1d1;
+ font-size: 14px;
+ height: 28px;
+}
+
+#mast_links_padding {
+ padding-top: 4px;
+ padding-left: 32px;
+}
+
+#mast_padding {
+ padding-top: 8px;
+ padding-left: 32px;
+}
+
+#mast_spacer {
+ height: 0px; /** defaut: 20px **/
+}
+
+#mast_top {
+ height: 20px;
+}
+
+#navigator {
+ border-top: 1px dotted #b2b2b2;
+ border-bottom: 1px dotted #b2b2b2;
+}
+
+#navigator a {
+ background-color: #e5e5e5;
+}
+
+#navigator a:hover {
+ background-color: #fee126;
+ text-decoration: underline;
+ border: 0px;
+}
+
+#navigator_padding {
+ padding: 5px;
+ background-color: #e5e5e5;
+}
+
+#printer_copyright {
+ display: none;
+}
+
+#printer_copyright_padding {
+ display: none;
+}
+
+.main_content_label {
+ padding-bottom: 2px;
+}
+
+.main_content_padding {
+ padding-left: 10px;
+ padding-right: 5px;
+ padding-bottom: 5px;
+}
+
+.main_content_rss {
+ width: 20px;
+ height: 20px;
+ cursor: pointer;
+ background: url(../images/css/rss.gif) top left no-repeat;
+ float: right;
+ clear: right;
+}
+
+.main_content_title {
+ padding-bottom: 10px;
+}
+
+.print_icon {
+ float: right;
+ width: 26px;
+ height: 26px;
+ background: url(../images/css/icon_print.gif) top left no-repeat;
+ cursor: pointer;
+ margin-top: -22px;
+}
+
+.table_border {
+ width: 384px;
+ padding-bottom: 13px;
+}
+
+.table_border_top {
+ width: 384px;
+ height: 8px;
+ font-size: 0px;
+ background: url(../images/css/table_top.gif) top left no-repeat;
+}
+
+.table_border_middle {
+ width: 384px;
+ background: url(../images/css/table_middle.gif) top left repeat-y;
+}
+
+.table_border_bottom {
+ font-size: 0px
+ width: 384px;
+ height: 8px;
+ background: url(../images/css/table_bottom.gif) bottom left no-repeat;
+}
+
+.table_border_padding {
+ padding-top: 5px;
+ padding-left: 10px;
+ padding-right: 5px;
+ padding-bottom: 10px;
+}
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/_stock/css/ui.tabs.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/_stock/css/ui.tabs.css Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,114 @@
+/* Caution! Ensure accessibility in print and other media types... */
+@media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */
+ .ui-tabs-hide {
+ display: none;
+ }
+}
+
+/* Hide useless elements in print layouts... */
+@media print {
+ .ui-tabs-nav {
+ display: none;
+ }
+}
+
+/* Skin */ /*font-size: 12px;*/
+.ui-tabs-nav, .ui-tabs-panel {
+
+}
+.ui-tabs-nav {
+ list-style: none;
+ margin: 0;
+ padding: 0 0 0 4px;
+}
+.ui-tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */
+ display: block;
+ clear: both;
+ content: " ";
+}
+.ui-tabs-nav li {
+ float: left;
+ margin: 0 0 0 1px;
+ min-width: 84px; /* be nice to Opera */
+}
+.ui-tabs-nav a, .ui-tabs-nav a span {
+ display: block;
+ padding: 0 10px;
+ background: url(../img/bg_tab.png) no-repeat;
+ /* border: 1px ; */
+}
+.ui-tabs-nav a {
+ margin: 1px 0 0; /* position: relative makes opacity fail for disabled tab in IE */
+ padding-left: 0;
+ color: #000;
+ font-weight: bold;
+ line-height: 1.2;
+ text-align: center;
+ text-decoration: none;
+ white-space: nowrap; /* required in IE 6 */
+ outline: 0; /* prevent dotted border in Firefox */
+}
+.ui-tabs-nav .ui-tabs-selected a {
+ position: relative;
+ top: 1px;
+ z-index: 2;
+ margin-top: 0;
+ color: #000;
+}
+.ui-tabs-nav a span {
+ width: 64px; /* IE 6 treats width as min-width */
+ min-width: 64px;
+ height: 18px; /* IE 6 treats height as min-height */
+ min-height: 18px;
+ padding-top: 6px;
+ padding-right: 0;
+}
+*>.ui-tabs-nav a span { /* hide from IE 6 */
+ width: auto;
+ height: auto;
+}
+.ui-tabs-nav .ui-tabs-selected a span {
+ padding-bottom: 1px;
+}
+.ui-tabs-nav .ui-tabs-selected a, .ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active {
+ background-position: 100% -150px;
+}
+.ui-tabs-nav a, .ui-tabs-nav .ui-tabs-disabled a:hover, .ui-tabs-nav .ui-tabs-disabled a:focus, .ui-tabs-nav .ui-tabs-disabled a:active {
+ background-position: 100% -100px;
+}
+.ui-tabs-nav .ui-tabs-selected a span, .ui-tabs-nav a:hover span, .ui-tabs-nav a:focus span, .ui-tabs-nav a:active span {
+ background-position: 0 -50px;
+}
+.ui-tabs-nav a span, .ui-tabs-nav .ui-tabs-disabled a:hover span, .ui-tabs-nav .ui-tabs-disabled a:focus span, .ui-tabs-nav .ui-tabs-disabled a:active span {
+ background-position: 0 0;
+}
+.ui-tabs-nav .ui-tabs-selected a:link, .ui-tabs-nav .ui-tabs-selected a:visited, .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */
+ cursor: text;
+}
+.ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active,
+.ui-tabs-nav .ui-tabs-deselectable a:hover, .ui-tabs-nav .ui-tabs-deselectable a:focus, .ui-tabs-nav .ui-tabs-deselectable a:active { /* @ Opera, we need to be explicit again here now... */
+ cursor: pointer;
+}
+.ui-tabs-disabled {
+ opacity: .4;
+ filter: alpha(opacity=40);
+}
+.ui-tabs-panel {
+ border: 1px solid #ccc;
+ padding: 1em 8px;
+ background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */
+}
+.ui-tabs-loading em {
+ padding: 0 0 0 20px;
+ background: url(../img/loading.gif) no-repeat 0 50%;
+}
+
+/* Additional IE specific bug fixes... */
+* html .ui-tabs-nav { /* auto clear, @ IE 6 & IE 7 Quirks Mode */
+ display: inline-block;
+}
+*:first-child+html .ui-tabs-nav { /* @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */
+ display: inline-block;
+}
+
+.hptab_container .ui-tabs-panel {height:210px;}
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Basic-Options.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Basic-Options.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,80 @@
+
+
+
+
+
+ Basic Options in System Model Generator Command-line Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Basic Options
+
+
Options Descriptions
+
+ -h
+
+
+ Displays a list of the various command-line options that you can
+ use to create a system model diagram.
+
+
+
+ -i filename
+
+
+ Specifies the INI file. In the INI file, command-line options are used
+ and each option appears in one line. The basic syntax is argument = value
+ Command line arguments will override INI file settings.
+
+
+
+ w = 2 sysdef = D:\epoc32\data\system_definition.xml color = colors.xml
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Build-Control-options.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Build-Control-options.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,157 @@
+
+
+
+
+
+ Build Control Options in System Model Generator Command-line Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Build Control Options Options Description
+
+
+-csv_columns outfile
Comma-separated list of columns to include in
+ the output CSV. This does nothing if -csv_output
is not present. By default (if
+ -csv_columns
is not present), the columns will be
+ a sorted list of all attributes on all items.
+
+ -csv_labels list
Comma-separated list of columns labels include
+ in the output CSV. Do not use quotes or commas
+ in label names. This does nothing if -csv_output
+ is not present. If this list is shorter than -csv_columns
, the remaining columns will use the
+ attribute name as the label.
+
+ -xml_output outfile
The name of the file to save a combined system
+ definition XML. Only items shown in the built
+ system model will be included.
+
+ -w number
Warning levels
.
+
+
+
+
+ -w 1
: displays errors only (default)
+
+
+
+
+
+
+ -w 2
: displays warnings as well as errors
+
+
+
+
+
+
+ -w 3
: displays info messages, warnings and errors.
+
+
+
+
+
+
+
+ -w 4
: displays info messages, warnings and errors
+ along with deep syntax validation and reporting.
+
+
+ Note : This option can take a long time in
+ computation so do not use this warning level by default.
+
+
+
+
+
+
+ -lowmem
Build the model storing more data in the temp
+ directory and using less runtime memory. If
+ building fails due to an out of memory
+ condition, try running again with the -lowmem
+ option.
+
+ -clean
Caution: if set, it will delete the contents of
+ the temporary directory.
+
+ -compress
If set, it will attempt to compress the output
+ as an SVGZ file. In order to succeed gzip must
+ be installed and in the PATH
. This will also
+ rename the output file from filename.svg to
+ filename.svgz.
+
+ -tempdir dir
Temporary directory for build files. Defaults
+ to drawsvg_temp
+
+ -output outfile
The name of the file to save the built System
+ Model SVG. If in the format filename.svgz, it
+ will attempt to compress the file. If
+ compression is not supported, it will rename the
+ output to filename.svg. Defaults to sysmodel.svg
+ or sysmodel.svgz if -compress
is set. Defaults
+ to "sysmodel.svg"
+
+ -csv_output outfile
The name of the file to save a CSV description
+ of the built System Model. Only items shown on
+ the system model will be included.
+
+ -xslt-param param string-value
Advanced: Parameters to feed directly to the
+ XSLT transforms. Can specify multiple times.
+
+ -dictionary file/uri
A term dictionary file used to semi-
+ intelligently generate the abbreviations for the
+ names of system model entries. Anything
+ mentioned in the Localization files overrides
+ generated abbreviations.
+
+ -log outfile
File in which to store output. Defaults to
+ stdout
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Files-or-uri-options.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Files-or-uri-options.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,143 @@
+
+
+
+
+
+ Files or URIs Options in System Model Generator Command-line Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
File or URI Options
+
+All of these take a file name (relative or absolute path) or URI of a data source
+
Options Description
+
+
+ -model file/uri
The location of the Model XML File used to
+ build the file. Content of this file will be
+ overridden by anything set on the command line
+ on in an ini file. Defaults to
+ sysmodelgen
/rsc/ModelTemplate.xml
+
+ -shapes file/uri
The location of the Shapes XML File file used to
+ provide rules to control the display of the
+ components on the model. If not present, default
+ behaviour (in Shapes.xml) is used. This and the
+ default bahaviours are overrriden by using the
+ -color, -border, -pattern, and -style options.
+
+ -sysinfo file/uri
The location of extra component information used
+ to provided additional properies for
+ components. Can specify multiple
+ times.
+
+ For more information, see SystemInfo XML File .
+
+ -localize file/uri
The location of the Localization XML File used to
+ provide displayable names for the model
+ entities. Can specify multiple times.
+
+ -deps file/uri
The location of the Dependencies XML File used
+ to draw the depmodel. If not present,
+ dependencies will not be drawn
+
+
+ -pattern file/uri
The location of a Values XML File used to
+ specify overlay patterns . If not
+ present, the default patterns (for new and
+ reference components) are used. Can specify
+ multiple times.
+
+ -border-style file/uri
The location of a Values XML File used to
+ specify border styles . If not
+ present, the default border styles are used. .
+ Can specify multiple times.
+
+ -color file/uri
The location of a Values XML File used to
+ specify colours . If not present,
+ the default colours are used. Can specify
+ multiple times.
+
+ -border-shape file/uri
The location of a Values XML File used to
+ specify the shape (border) of each component.
+ If not present, the default borders are used.
+ Can specify multiple times.
+
+
+ -s12 file/uri
The location of the Schedule 12 XML file used to
+ provide the border shapres of the components. If
+ this a directory, the S12 XML file is found by
+ appending
+ "Symbian_OS_vsystem_version _Schedule12.xml" to
+ the directory. Can specify multiple times.
+ DEPRECATED : Only works on 2.0 syntax and older models
+
+ -levels file/uri
The location of the Levels XML file used to
+ override the stacking of collections. . Can
+ specify multiple times.
+ DEPRECATED : Only works on 2.0 syntax and older models
+ Use a sysinfo file instead
+
+ -link
The base URL to use for all hyperlinks in the
+ model. A base URL will be appended by the type
+ and name (e.g. Blocks/Comms%20Services.html) of
+ the items to create the full URL of the linked
+ file. Window directories will be converted into
+ file URIs.
+ DEPRECATED : Use -link-expr
instead.
+
+
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Labels-options.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Labels-options.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,114 @@
+
+
+
+
+
+ Labels Options in System Model Generator Command-line Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Labels Options
+
All of these take a plain text value which is displayed on the model
+
+
Options Description
+
+ -system_name
The name of the product described in the model.
+ It appears at the bottom right on the system model diagram. The default value is
+ Symbian OS
.
+
+ -system_version
The version of the product described in the
+ model. It appears at the bottom right after the
+ name.
+
+ Note : You can set this option to an empty string, if
+ you do not want system version to appear on the system model diagram.
+
+ -model_name
The label for the model. It appears at the
+ bottom right, under the name. The default value is System Model
.
+
+ -model_version
A number which appears before the model-revision-type.
+ If specified this overrides the
+ build number used in any attached Dependencies XML files. Otherwise, this defaults to 1
+
+ -model_version_type
One of draft
, issued
, build
or free-text
+ value. Appears below the model label. If
+ specified this overrides the build number used
+ in any attached Dependencies XML files. Otherwise, this
+ defaults to draft
.
+
+ -legend_title
The title to appear in the leftmost part of the
+ legend. The default value is Key
.
+
+ -distribution
Text to appear on the bottom centre to indicate
+ to whom the model can be show. Informational
+ only. Suggested values are internal
, secret
+ or unrestrictred
. Not shown if not set.
+ The location of the text can be overridden using the model XML.
+
+
+ -note
Free text to appear inside the legend box, on
+ the rightmost side. If multiple ones are
+ provided, they will appear as separate boxes
+ from left to right. Newlines and other special
+ characters can be entity-encoded (e.g.
).
+ When using entities in an INI file, you *must*
+ quote the value, otherwise the #
will be treated
+ as a comment delimiter. Can specify multiple
+ times.
+
+ -copyright
The copyright to appear in the lower left. Set
+ to empty string to leave out. Defaults to "year Nokia Corporation
".
+ You can set this option
+ to an empty string if you don not want copyright text to appear on the system
+ model diagram.
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Model-Control-options-ref.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/Model-Control-options-ref.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,235 @@
+
+
+
+
+
+ Model Control Options in System Model Generator Command-line Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Model Control Options Options Description
+
+ -sysdef file/uri
Location for the System
+ Definition XML file(s) used to build the model.
+ Multiple files will be merged according to the normal rules. Can
+ specify multiple times.
+
+ -srcvar
+ The root directory (in the local filesystem) for the system definition. The order of this parameter must match the order
+ of the -sysdef
parameter. Can specify multiple
+ times.
+
+ -sysdef-prefix
Can specify multiple times.
+
+ -sysdef-path path
The directory which the system definition file
+ should be considered to be in when turning
+ unit's relative links into absolute paths. This
+ is only necessary to provide if the result
+ requires the absolute paths to be meaningful.
+ The order of this parameter must match the order
+ of the -sysdef
parameter. Can specify multiple
+ times.
+
+
+ -detail item-type
The type of the smallest System Model entity to
+ draw. One of layer
, package
, collection
or
+ component
. Defaults to component
+
+ -detail-type fixed
If set to fixed
, the smallest System Model
+ entity drawn will have a fixed with (rather then
+ sized by their invisible components). This can
+ be used to reduce the size and complexity of the
+ overall model.
+
+ -filter-has filter-name
Like -filter
, except any filter on an item must
+ be present in this list in order for that item
+ to appear. Include *
in the list in order to
+ show items with no filters. Equivalent to -show-attr filter xxx
+
+ -show-attr
attr=val
A mechanism of filtering which allows filtering
+ based on component attribute values. If a value
+ is set for that attribute, the component will be
+ shown. Use in conjunction with -hide-attr
for
+ fine contol of what is shown. class
and
+ filter
attribtues are handled specially -- see
+ the documentation for details
+
+ -hide-attr attr=val
A mechanism of filtering which allows filtering
+ based on component attribute values. If a value
+ is set for that attribute, the component will
+ not be shown on the model. Use in conjunction
+ with -show-attr
for fine contol of what is
+ shown. class
and filter
attribtues are
+ handled specially -- see the documentation for
+ details
+
+ -ignore item
The ID of a model entity to not draw. Any number
+ of these can be used. Can specify multiple
+ times.
+
+ -ignore-meta rel
The rel
meta value to ignore. Takes the form
+ of "relvalue
" or "relvalue :type
". Can specify multiple
+ times.
+
+ -version-list
+ Specifies the space-separated list of version numbers, ordered from
+ oldest to newest. This is used to compare version numbers in the VERSION rule
+ function. If not present, the value used are the Symbian Ltd version numbers from ER5
through 9.5
and
+ Symbian Foundation version numbers from ^1
onward. Future
is always last.
+
+
+
+
+ -placeholder item-type
The type of the smallest empty System Model
+ entity to draw. One of layer
, package
,
+ collection
or component
. For example, if
+ set to package
empty layers and packages will
+ be drawn, but empty collections will be ignored.
+ If not set, no empty items will be drawn.
+
+ -level-detail [ show/ hide]
Toggles display of level names on packages or
+ layers. A value of show
will display level
+ names inside either layers (at layer
level of
+ detail only) or packages (at package
level of
+ detail only). A value of hide
(default) will
+ not show any level names.
+
+-legend-width %
The percent width of the model the legend takes
+ up. This will scale the size of the legend and
+ model title, but not the logo, to fill the
+ specified space. If a logo is included, but no
+ width specified, the legend cannot be scaled
+ since it will not be able to determine the
+ available space. Note that that -max-legend-scale
will further limit the potential width.
+
+ -legend-max-scale scale
Specifies the maximum scale factor for resizing
+ the legend. If this is present and -legend-width
+ is not, the legend and title will scale to 100%
+ of the available width. If both are present the
+ scale factor will take precedent. If neither is
+ present, the legend will not resize.
+
+ Note that
+ when this is used, the legend can shrink if it
+ would normally be wider than the model.
+
+ -title-scale scale
Specifies the scale factor for the size of the
+ title font (the text in the lower right).
Use
+ this instead of CSS to control the size, since
+ the model generator needs to explicitly know how
+ much space to allocate for the title.
+
+ -logo file/uri
If present, the logo will be drawn in the lower-
+ left corner of the model. If the logo is an SVG
+ file, -logo-width
and -logo-height
are optional,
+ otherwise the must both be specified
+
+ -logo-height length
Specifies the height of the logo (if any) in mm.
+ Width is scaled along with height unless
+ otherwise specified. Both width and height MUST
+ be specified if a bitmap image is used
+
+ -logo-width length
Specifies the width of the logo (if any) in mm.
+ Height is scaled along with width unless
+ otherwise specified. Both width and height MUST
+ be specified if a bitmap image is used
+
+ -legend_float boolean
If set, the legend will appear when the mouse
+ hovers over the bottom of the window. The
+ floating legend will span the full width of the
+ window. This may not be readable, depending on
+ the amonent of content in the legend.
+
+ -static boolean
If present, the model will not have any
+ mouseover effects (this is overriden when drawing dependencies).
+
+ -navctrl boolean
If set, a navigation control widget will appear
+ in the upper left corner of the model. The
+ control might not work on some SVG viewers.
+
+ -dpi number
The DPI to use when printing from the Adobe SVG
+ Viewer. If not present, it will print well at A4 size. A value of 300
will look good on A3 size paper
+
+ -model_font font
The name of the base font to use to draw the
+ model. This will be overriden by any custom CSS
+ in the Shapes XML
+
+ -link-expr expression
The link used on any system model item. Any
+ values within {... }
are evaluled as an
+ expression on the item. All xpath locations in
+ the expresion must be set otherwise the link
+ will not be created for the item. Can specify
+ multiple times.
+
+
+ -filter filter-name
The name of a filter to turn on when building
+ the model. All filters on an item must be
+ present in this list in order for that item to
+ appear. Can have any number of these Defaults to
+ java
and gt
. Can specify multiple times..
+ DEPRECATED : Only works on 2.0 syntax and older
+ models
+
+ -coreos [ on/ off/ new]
+
Turn on or off Core OS colouring for 9.4 and
+ later models -- For backwards compatibility
+ only! Use on
for Symbian OS 9.4 models and
+ new
for Symbian OS 9.5 and later models (non-
+ Foundation)
+
+ -page-width length
The width of the drawn image (with units). If
+ not specified it will fit the viewer window.
+ Valid units: in
, mm
, cm
, px
, pt
.
+ DEPRECATED : Only works on 2.0 syntax and older models
+
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/index.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/index.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,97 @@
+
+
+
+
+
+ System Model Generator Command-line Options in Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
System Model Generator Command-line Options
+ This section lists the various command-line options that you can use to
+ create a system model diagram.
+
+ The following is the syntax to use a command-line option:
+
+
+
+SysModGen [
Arguments
] [ Transform Data-file ]
+
+
+
+
The basic Arguments appear first, followed by an optional list of post-procesing transformations.
+The post-procesing transformations are pairs of files (described below), which operate on the generated SVG, in order, from left to right.
+
+
+
+Transform
is an XSLT transform which operates on the generated SVG and takes
+Data-file
as the Data XSLT parameter.
+
There are four
+built-in transforms, plus a framework to simplify creating new transforms.
+
+css2xml.xsl will convert all <style>
sections into style
attributes. This makes the model show up better on viewers that don't support classes. It takes no data files.
+dependencies.xsl will take a dependencies file and add mouse-over dependency lines to the diagram. This is called automatically when using the -deps
option.
+showdeps.xsl will further process a diragram with dependencies to make them always on, rather than only on when an item is moused-over. It takes no data files.
+tovisio.xsl will convert the system model SVG in Visio VDX format. Not all features are supported. It takes no data files.
+
+
+The postprocess.xsl XSLT simplifies adding mouse-over effects to a system model SVG .
+
+
+
+Data-file
is an XML file, or one of two special values. The empty string ("") means there is no data file to supply to the XSLT transfom and -
means that the full model input data should be used as the data file.
+Any other value is assumed to be a file or URL
+
+
+ Note : Command line options override values in the INI file and a Model XML file.
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/troubleshooting.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/Command-lineOptions/troubleshooting.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,156 @@
+
+
+
+
+
+ Troubleshooting in Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Troubleshooting
+ This page contains possible solutions to the common problems that you may
+ encounter while using System Model Manager (SMM).
+
+
+ Common Problems
+
+
+ Possible Solutions
+
+
+ The SVG viewer displays a square instead of a unicode character.
+
+
+ This indicates that the font used does not contain the unicode
+ character, and you must use another font that contains the unicode character.
+
+
+ To change the font, edit the shapes XML file that you have added to
+ the project and add font information to it. For example, the following
+ information in the shapes XML file specifies 'Arial Unicode MS' as font for the
+ text in the system model diagram:
+
+ <?xml version="1.0"?> <shapes xmlns:s="http://www.w3.org/2000/svg">
+<s:defs>
<s:style type="text/css">
+
text {font-family: "Arial Unicode MS "!important}
</s:style>
</s:defs>
</shapes>
+
+ Note: If you are using the default shapes, create a
+ copy of the shapes.xml
or fshapes.xml
file available under the
+ SystemModelGenerator \rsc
+ directory and then edit the file.
+
+
+ When zoomed in and mousing-over a component to see the
+ dependencies, far ends of the arrow are not visible.
+
+
+ If you zoom out to see the whole line, there is not enough detail
+ to read the text.
+
+
+ In order to get the arrows to stay visible, perform the following
+ steps:
+
+
+
+
+
+
+ Mouse-over the component to view the dependencies.
+
+
+
+
+
+
+ Keep the mouse over the component, select the component text (
+ left-click and drag the pointer over the text) and drag the pointer out of the
+ component (with the left mouse button still down).
+
+
+
+
+
+
+ Release the mouse button and the dependencies arrows remain
+ visible until you next mouse-over and leave the component.
+
+
+
+
+
+
+
+ System Model Manager displayes warnings about a collection with no
+ level when building a system model.
+
+
+ This implies that you may have accidently left out a level. A
+ collection with no level is acceptable if its parent block and layer have no
+ levels defined. If there are defined levels, System Model Generator
+ automatically creates a new unnamed level on top to put all collections with no
+ levels.
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Border-Shapes-XMLFile.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Border-Shapes-XMLFile.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,103 @@
+
+
+
+
+
+ Border Shapes Values XML File in Values XML Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Border Shapes Values XML File
+
Purpose
+ The border shapes values XML file is used to define the shapes of
+ components. The valid values for a border shape can be box
,
+ round
, hexagon
, box-clipRT
,
+ box-clipRB
, box-clipLT
, box-clipLB
, and
+ box-clipAll
, or a reference (#xxxx
) to a symbol specified in a
+ Shapes XML file.
+
+ The following figure shows the various predefined shapes:
+
+ For information about how to define new values for border shapes, see
+ Customizing the System Model Presentation .
+
+
+
+
Syntax
+
The Border Shapes files use the common syntax for all Values XML files .
+However, border shapes can only apply to components, so it is an error to set rank
to anything other than *
or component
.
+
+
+
+
Example
+
<?xml version="1.0"?> <values default="box" label="Sched 12 Category">
+ <item label="Optional Symbian" value="box-clipLT">
+
<m ref="cryptolib"/>
</item>
+
<item label="Common Symbian" value="box-clipLB">
+
<m ref="sdcarddrv"/>
+ <m ref="cldchi1_1"/>
</item>
+
<item label="Common Replace­able" value="#symbol-for-CR">
+
<m ref="ethernetdrv"/>
+ </item>
<item label="Optional Replace­able" value="box-clipRT">
+
<m ref="omap1623"/>
+ <m ref="bootstrap"/>
+ <m ref="wma1_1"/>
+
</item>
+</values>
+ The following figure shows the generated legend for the preceding
+ border shapes values XML:
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Border-Style-XMLFile.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Border-Style-XMLFile.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,91 @@
+
+
+
+
+
+ Border Styles Values XML File in Values XML Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Border Styles Values XML File
+
Purpose
+ The border styles values XML file is used to define the border styles
+ of system model items. The valid values for a border style can be any CSS property of
+ an SVG shape.
+
+ Note : For more information, see
+ Scalable Vector Graphics (SVG) 1.1
+ Specification .
+
+ The CSS applies to the shape of the item and it can control the
+ stroke width, and dash pattern as well as the overall opacity. It cannot set
+ the stroke or text colors.
+
+
+
+
+
Example
+
+
<?xml version="1.0"?> <values default="stroke-width: 0.4">
+ <item label="Plugin" value="stroke-width: 2">
+
<m ref="sdcarddrv"/>
+ <m ref="audiodrv"/>
</item>
</values>
+
+ The following figure shows the generated legend for the preceding
+ border styles values XML:
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Colorxmloutput.gif
Binary file sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Colorxmloutput.gif has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Colours-XMLFile.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Colours-XMLFile.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,98 @@
+
+
+
+
+
+ Colors Values XML File in Values XML Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Colors Values XML File
+
Purpose
+ The colors values XML file is used to define the colors of components.
+ The valid value that can be specified for a color can be any CSS colors type.
+ For example, it can be #cc00aa
, rgb(255,18,200)
, or
+ blue
.
+
+ For information about how to define new values colors, see
+ Customizing the System Model Presentation .
+
+ Note : For more information, see
+ CSS2 Specification .
+
+
+
Syntax
+
The Colors files use the common syntax for all Values XML files .
+
If a system model item has more than one color applied, the colour will appear as bands across the system model item.
+
+
+
+
+
Example
+
<?xml version="1.0"?>
+ <values default="grey" label="Technology Streams">
+<item label="Base Services" value="#8f8fbd">
+
<m ref="apputils"/>
+ <m ref="cafdrm"/>
+
</item>
+
<item label="Persistent Data Services" value="#993366">
+
<m ref="sql"/>
+ <m ref="store"/>
+ <m ref="dbms"/>
+
</item>
+
</values>
+
+ The following figure shows the generated legend for the preceding
+ colors values XML:
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Dependencies-XMLFile.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Dependencies-XMLFile.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,72 @@
+
+
+
+
+
+ Legacy Dependencies XML File in System Model Generator Input Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Legacy Dependencies XML File
+
+
Deprecated!
+
+
Purpose
+ You can use the dependencies XML file to specify the dependencies
+ between components of a system model. This legacy syntax will only work with 2.0 and earlier System Definition files. Use the
+ Sysinfo dependencies syntax for 3.0 and later sysdefs.
+
+
+
Syntax <?xml version="1.0"?> <SystemModelDeps> <Executables> <Executable name="Executable-name " component="component "> <dep name="dep-name "></dep> <dep name="dep-name "></dep> .... </Executable> </Executables> </SystemModelDeps>
+
+
Example <?xml version="1.0" encoding="UTF-8"?> <SystemModelDeps> <Executables> <Executable name="bluetooth.dll" component="Bluetooth Client Library"> <dep name="btdevice.dll"/> <dep name="charconv.dll"/> <dep name="drtaeabi.dll"/> <dep name="drtrvct2_2.dll"/> <dep name="eirclient.dll"/> <dep name="esock.dll"/> <dep name="euser_v5.dll"/> <dep name="hciserverclient.dll"/> </Executable> <Executable name="charconv.dll" component="Character Encoding and Conversion Framework"> <dep name="drtaeabi.dll"/> <dep name="drtrvct2_2.dll"/> <dep name="ecom.dll&qu
+ot;/> <dep name="efsrv.dll"/> <dep name="euser_v5.dll"/> </Executable> <Executable name="hciserverclient.dll" component="Bluetooth HCI Framework 2"> <dep name="drtaeabi.dll"/> <dep name="esock.dll"/> <dep name="euser_v5.dll"/> </Executable> <Executable name="sdpdatabase.dll" component="Bluetooth SDP"> <dep name="bluetooth.dll"/> <dep name="charconv.dll"/> <dep name="drtaeabi.dll"/> <dep name="drtrvct2_2.dll"/> <dep name="esock.dll"/> <dep name="euser_v5.dll"/> </Executable> <
+Executable name="sdpserver.exe" component="Bluetooth SDP"> <dep name="bluetooth.dll"/> <dep name="drtaeabi.dll"/> <dep name="drtrvct2_2.dll"/> <dep name="eirclient.dll"/> <dep name="esock.dll"/> <dep name="euser_v5.dll"/> <dep name="sdpdatabase.dll"/> </Executable> ... </Executables> </SystemModelDeps>
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Dependencies-sysinfo.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Dependencies-sysinfo.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,125 @@
+
+
+
+
+
+ Dependencies System Info File in System Model Generator Input Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependencies System Info File
+
Purpose
+ Dependencies of various types can be provided via a system info file .
+ This will allow the System Model to show mouse-over dependencies
+ between components of a system model. Dependencies should only go between items of the same rank.
+
+
+
+ Dependencies are encoded in the System Info XML format using the data-type="Dependencies"
(note the captial "D") .
+ These files will usually be generated rather than hand-crafted. The syntax is provided here for tools developers and for those doing small, manual dependency models.
+
+
+
+
+
+
Syntax <?xml version="1.0"?>
+ <info data-type="Dependencies" id-namespace="uri "
namespaces
>
+<item ref="
id ">
+
<dep ref="id " type="type " />
+<dep ref="id " type="type " />
+
+</item>
+
+
</item>
+
+
Each item
contains any number of dep
elements. These indicate the system model item referenced in <item>
+is dependent on the system model item mentioned in <dep>
.
+
+
+
+
+On the system model, forward dependencies are show in black, and reverse dependencies in blue.
+The arrowhead always points to the item it's dependent on, ie the one in <dep>
.
+
+
+Only api
and ecom
have special line types. All other dependencies show up as solid lines.
+
+
+
+Dependency arrows, colours and line styles can all be set using CSS in the <deps>
section of the Shapes XML File.
+The dependency type is used as the class on a path
element. For example, to set the cr
dependencies as alternating wide and narrow dashes use:
+
+
+ path.cr {stroke-dasharray: 9, 3, 5, 3;
}
+
+
+
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Dictionary-XMLFile.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Dictionary-XMLFile.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,154 @@
+
+
+
+
+
+ Dictionary XML File in System Model Generator Input Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dictionary XML File
+
Purpose
+ You can use the Dictionary XML to provide abbreviations and other short forms for specific words.
+ The system model generator will create a Localization XML file from this when creating the system model.
+
+
+
If using the Localization XML file just to provide abbreviations, you may be better of using a Dictionary XML file instead.
+
+
+
+
Syntax
+
<?xml version="1.0"?>
+ <dict>
+<word term="term " d="display-form " abbrev="abbreviation " s="short-form " />
+ <word
/>
+
+
</dict>
+
+
The root element dict
takes no attributes. the word
element specifies a word, and three forms of information:
+
+
+
+ A display form
+
+
+
+
+
+
+ An abbreivation
+
+
+
+
+
+
+ A short form
+
+
+
+
+
+
The element word
can takes these attributes:
+
+
+
+ term="term "
: This is the term which is to be abbreviated. It's case sensitive and should apper the same way it appears in the system defiition name
attribtues. Spaces are not valid, only a single word can be used.
+
+
+
+
+
+ d="display-form "
: An optional attribute specifing how the term will be displayed if there is enough space. This is where you would show the hyphenation or other special character replacements. This will almost always be the full length word, but with added soft hyphens. For example
+ <word term="Interface" d="Inter­face"/>
+ <word term="and" d="&"/>
.
+
+
+
+
+
+ abbrev="abbreivation "
: An optional attribute specifing a shorter abbreviation for the term which can be used if there is insufficient space for the display form.
+ This will often be used in combination with d
, but is not required to be.
+ For example
+ <word term="Supplementary" d="Suppl."/>
+ <word term="Documentation" d="Docs"/>
.
+
+
+
+
+ s="short-form "
: An optional attribute specifing the shortest possible form of the term that still makes sense.
+ This will be used when space is very low.
+ This can be used instead of abbrev
or in addition to it.
+ For example
+ <word term="Hardware" s="HW"/>
+ <word term="Database" abbrev="Dbase." s="DB"/>
.
+
+
+
+
+
+
+
Example
+
<?xml version="1.0" ?>
+ <dict>
+
+ <word term="Multimedia" d="Multi­media" s="MM"/>
+ <word term="Frameworks" d="Frame­works" abbrev="Fmwks." s="FW"/>
+ <word term="Framework" d="Frame­work" abbrev="Fmwk." s="FW"/>
+ <word term="Adaptation" abbrev="Adapt." d="Adapta­tion"/>
+ <word term="Bluetooth" d="Blue­tooth" abbrev="Btooth." s="BT"/>
+ <word term="Localization" d="Localiz­ation"/>
+ <word term="Communications" d="Communi­cations" abbrev="Comms"/>
+ <word term="Provisioning" d="Provision­ing" s="Prov."/>
+ <word term="Phonebook" d="Phone­book" s="Phbk."/>
+
</dict>
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Localisation-XMLFile.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Localisation-XMLFile.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,151 @@
+
+
+
+
+
+ Localization XML File in System Model Generator Input Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Localization XML File
+
Purpose
+ You can use the Localization XML file to customize the appearance of an
+ item name on the model. It enables you to perform the following tasks:
+
+
+
+
+ Provide abbreviations of item names. For example,
+ “Application Launch Services
”. can appear as “App. Launch
+ Services
”.
+
+
+
+
+
+
+ Include special characters in names, such as soft hyphens. For
+ example, "Graphics Device Interface
" can appear as "Graphics Dev­ice Interface
". This allows the word to split across
+ multiple lines on the diagram if it is needed.
+
+
+
+
+
+
+ Provide a localized translation of a word. For example, "Device
+ Provisioning" can appear as "端末管理".
+
+
+
+
+
+
If using the Localization XML file just to provide abbreviations, you may be better of using a Dictionary XML file instead.
+
+
+
+
Syntax
+
<?xml version="1.0"?>
+ <display-names xml:lang="language-code id-namespace="uri "
namespaces
>
+ <abbrev ref="id " abbrev="abbreviation "/>
+ <abbrev name="item-name " abbrev="abbreviation "/>
+
+
</display-names>
+
+
There are two ways to assign a localized name to a system model item.
+
+By ID - you can use the ref
attribute to specify the unique ID of a single system model item to rename.
+By name - you can use the name
attribute to specify that any system model item with that human-readable name will be renamed.
+
+
+
The root element display-names
can take these optional attributes:
+
+
+
+
+ xml:lang="language-code "
: This indicates that the file is for localisation and not just a set of abbreviations.
+ The affects of setting this are:
+ The xml:lang will be set to this value in the generated SVG. This lets you put CSS like this in the Shapes XML:
+ text.title:lang(jp) {letter-spacing: -0.15}
+ so that you can fine tune the diagram for different languages.
+
+
+ All generated numbers (eg when counting in the legend) will be localised (if possible) to this language.
+
+
+
+
+
+
+ id-namespace="uri "
: The default namespace for all ref
attributes in the XML file. Has the same meaning, usage and default value as id-namespace
in the System Definition .
+
+
+
+
+
+ namespaces
: Any namespace declaration should be done in the root element. ID references can use namespace prefixes to associate with system model items. See Namespacing names in the System Definition specification.
+
+
+
+
+
+
+
Example
+
<?xml version="1.0" ?>
+ <display-names xml:lang="jp">
+ <abbrev name="Device Provisioning" abbrev="端末管理" />
+ <abbrev name="PIM App Support" abbrev="PIM アプリケーション・サポート" />
+ <abbrev name="Multimedia" abbrev="マルチメディア" />
+ <abbrev name="Messaging Application Support" abbrev="メッセージング・アプリケーション・サポート" />
+ <abbrev name="Graphics" abbrev="グラフィックス" />
+ <abbrev name="Application Framework" abbrev="アプリケーション・フレームワーク" />
+ <abbrev name="Plugin Compo­nent" abbrev="プラグイン コンポーネント"/>
+
</display-names>
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Patterns-XMLFile.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Patterns-XMLFile.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,99 @@
+
+
+
+
+
+ Patterns Values XML File in Values XML Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Patterns Values XML File
+
Purpose
+ The patterns values XML file is used to define the patterns of
+ components. The valid values for a pattern can be striped-diag-up
,
+ radial-grad
, big-X
or a reference (#xxxx
) to a pattern specified
+ in a Shapes XML file.
+
+ The following figure shows the various predefined patterns:
+
+ For information about how to define new values for patterns, see
+ Customizing the System Model Presentation .
+
+
+
+
+
Example
+
<?xml version="1.0"?> <values>
+ <item label="Reference Compo#xad;nent" value="striped-diag-up">
+
<component name="OMAP 1623"/>
+ <component name="SD Card Driver"/>
+
+
</item>
+
<item label="New in 9.4" value="radial-grad">
+
<component name="Wireless LAN"/>
+ <component name="Graphics Effects"/>
+
</item>
+
<item label="Depre&#ad;cated" value="#my-pattern">
+
<component name="Word Engine"/>
+
</item>
+
</values>
+ The following figure shows the generated legend for the preceding
+ patterns values XML:
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/System-Info-XMLFile.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/System-Info-XMLFile.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,145 @@
+
+
+
+
+
+ SystemInfo XML File in System Model Generator Input Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
System Info XML File
+
Purpose
+ You can use the systeminfo XML file to add properties to components in
+ a system definition XML file. This is used to provide extra attributes and elements to be used by a
+ Shapes XML file, or for custom post-processing.
+
+
+
Syntax <?xml version="1.0"?>
+ <info data-type="rel-value " id-namespace="uri "
namespaces
>
+<item ref="
id "
/>
+
<item ref="
id "
>
+
+</item>
+
+
</item>
+
+
+ The item
element provides additional information for the referenced system model item. It can be
+ any rank — layer, package, collection or component.
+ The only required attribute is ref
, which is the ID in the system definition.
+ When you build, the data in this file is added to the elements in the system definition.
+ The attributes in the System Info file are added to the the system model item, overwriting any existing attribute by that name,
+ Any elements or comments within the item
tag is added to a meta
section within the item.
+
+
+
+
The root element info
can take these optional attributes:
+
+
+
+ data-type="rel-value "
: The value to be but in the rel
attribute for any <meta>
elements created by this file.
+ See meta
attributes for details on usage.
+ This defaults to "Generic
".
+
+
+
+
+
+
+ id-namespace="uri "
: The default namespace for all ref
attributes in the XML file. Has the same meaning, usage and default value as id-namespace
in the System Definition .
+
+
+
+
+
+ namespaces
: Any namespace declaration should be done in the root element. ID references can use namespace prefixes to associate with system model items. See Namespacing names in the System Definition specification.
+
+
+
+
+
+
+
+
Example
+
<?xml version="1.0" encoding="ascii"?>
+ <info data-type="usage" xmlns:my="http://example.com/mine" >
+ <item ref="connectivityservices" deprecated="9.4"/>
+ <item ref="connectivityframework" deprecated="9.4"/>
+ <item ref="ipproto-cpr" used="true"/>
+ <item ref="tcpcpr" used="true"/>
+ <item used="true" introduced="9.1" ref="devicemanagementadaptors"/>
+ <item ref="my: referencedevsoundplugins" used="true"/>
+ <item introduced="9.1" ref="clientprovisioningframework"/>
+ <item introduced="9.1" used="true" ref="clientprovisioningadaptors"/>
+ <item ref="telnetengine" introduced="6.0"/>
+ <item introduced="9.2" ref="sipframework"/>
+ <item ref="otherfileconverterplugins" used="true" introduced="5.0" deprecated="9.3"/>
+ <item ref="dataengine" introduced="5.0" deprecated="9.3"/>
+ <item ref="sheetengine" introduced="5.0" deprecated="9.3"/>
+ <item ref="wordengine" introduced="5.0" deprecated="9.3"/>
+ <item ref="help" introduced="6.0"/>
+ <item ref="agendamodel" introduced="5.0" deprecated="9.1"/>
+ <item ref="calendar" introduced="9.2"/>
+ <item ref="integratorxx600logicmodule" ref="true"/>
+ <item ref="multimediavalidationsuiteintegrationtests" introduced="9.4"/>
+ <item ref="swianalysistoolkit" ref="true"/>
+ <item ref="iphookexamples" ref="true"/>
+ <item ref="ipexamples" ref="true"/>
+ <item ref="referenceacladaptation" introduced="9.5"/>
+ <item introduced="9.5" ref="a3faudiocomponentlibrary"/>
+ <item introduced="9.5" ref="a3fdevsoundcustomisation"/>
+ <item introduced="9.5" ref="a3fdevsound"/>
+ <item introduced="9.5" ref="a3faudiocomponentframework"/>
+ <item introduced="9.5" ref="securitycommonutils"/>
+ <item introduced="9.5" ref="a3ftraceutility"/>
+ <item ref="commandshell" introduced="9.5"/>
+ <item ref="telnetserver" introduced="9.5"/> <item ref="multimediaresourcecontroller" introduced="9.5"/>
+
</info>
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Values-XML-index.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/Values-XML-index.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,179 @@
+
+
+
+
+
+ Values XML Files in System Model Generator Input Files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Values XML Files
+ The Values XML files are used to define default and per-item display
+ properties. You can use a values XML file to define colors, patterns, border
+ shapes, or border styles of the system model items.
+
+ For information about how to define new values for border shapes, colors or
+ patterns, see
+ Customizing the System Model Presentation
+.
+
+
+ There are four types of Values XML files:
+
+
+
+
Syntax
+
All Values XML files share the same basic syntax
+
<?xml version="1.0"?>
+ <values default="presentation-value " label="label for legend section " rank="item-type-list " id-namespace="uri "
namespaces
>
+<item
label="label for legend " value="
presentation-value ">
+
<m ref="id "/>
+ <m ref="id "/>
+ <m ref="id "/>
+
+</item>
+
<item
>
</item>
</values>
+ In the preceding syntax, the root element values
contains any number of
+ item
tags. The various attributes for the values
tag are:
+
+
+
+
+ rank="item-type-list "
: Space-separated list of the ranks (component
, collection
, package
or layer
) of items the default
value applies to.
+ Any system model item of the listed rank not listed in the values file will get the default
presentation value.
+ The (default) special value of *
indicates this file applies to all ranks.
+
+
+
+
+
+ default="presentation-value "
: Defines the
+ default presentation value for the system model item. This default value gets assigned to
+ the system model items of the specified rank to which no specific value is assigned.
+
+
+
+
+
+ label="label for legend section "
: Defines the label that will precede the legend section.
+
+
+
+
+ id-namespace="uri "
: The default namespace for all ref
attributes in the XML file. Has the same meaning, usage and default value as id-namespace
in the System Definition .
+
+
+
+
+
+ namespaces
: Any namespace declaration should be done in the root element. ID references can use namespace prefixes to associate with system model items. See Namespacing names in the System Definition specification.
+
+
+
+
+ Each item
tag can have the following attributes:
+
+
+
+
+ label="label for legend "
: Defines the label for the legend.
+
+
+
+
+
+
+ value="presentation-value "
: Defines the presentation
+ value for the item (color, border shape, etc). This presentation value gets assigned to all the referenced system model items that are
+ listed within that item
element.
+
+
+
+
+ The item
tag also contains m
tags to reference the IDs of system model items.
+ Everything referenced in an
+ item
tag has the same presentation value. The following is the basic syntax for m
:
+
+ <m ref="id "/>
+
+ Where id is a reference to the ID of a system model item
+ defined in a system definition file. Note: while most presentation values can apply to anything, only components can be given a border shape.
+
+
+
+ Notes :
+
+
+
+
+ You are recommended to specify a default value when using the values to
+ specify colors or shapes on components, since the components not specified in the file will
+ either be black or not show up at all.
+
+
+
+
+
+
+ While creating a value XML file (colors, patterns, border shapes or
+ border styles), you can only specify predefined set of values to the items. For
+ information about the values that can be specified in each type of values XML
+ file, refer to the corresponding topic.
+
+
+
+
+
+
+ All values in a values XML file must be of the same type.
+
+
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/arrows.png
Binary file sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/arrows.png has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/bordershapes.gif
Binary file sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/bordershapes.gif has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/bordershapesoutput.gif
Binary file sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/bordershapesoutput.gif has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/borderstyleoutput.gif
Binary file sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/borderstyleoutput.gif has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/index.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/index.html Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,61 @@
+
+
+
+
+
+ System Model Generator Input Files in Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
System Model Generator Input XML Files
+ This section lists the various input XML files that are used by System
+ Model Generator to build the system model.
+
+
+
+
+
+ Copyright ©2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:
SFL
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/patterns.gif
Binary file sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/patterns.gif has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/patternsxmloutput.gif
Binary file sysmodellibs/sysmodelgen/doc/sysmodel/SMG-Input-Files/patternsxmloutput.gif has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/docs/SystemModelToolkitInstaller_main.jpg
Binary file sysmodellibs/sysmodelgen/docs/SystemModelToolkitInstaller_main.jpg has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/docs/dep.css
--- a/sysmodellibs/sysmodelgen/docs/dep.css Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-body {
- background: white;
-}
-
-table {
- border-width:1;
- border-color:#006699;
- border-collapse:collapse;
-}
-
-td {
- border-width:1;
- border-color:#bebebe;
- border-collapse:collapse;
-}
-
-tr {
- border-width:1;
- border-color:#bebebe;
- border-collapse:collapse;
-}
-
-table.toc {
- border-width:0;
- border-color:#006699;
- border-collapse:collapse;
-}
-
-td.toc {
- border-width:0;
- border-color:#bebebe;
- border-collapse:collapse;
-}
-
-tr.toc {
- height:10px;
- border-width:0;
- border-color:#bebebe;
- border-collapse:collapse;
-}
-
-a:hover {
- text-decoration:underline;
- color:#27408b;
-}
-
-a {
- text-decoration:none;
- color:#006699;
-}
-
-a.heading1 {
- text-decoration:none;
- color:#000000;
-}
-
-a.heading2 {
- text-decoration:none;
- color:#000000;
-}
-
-a.heading3 {
- text-decoration:none;
- color:#ffffff;
-}
-
-a.heading4 {
- text-decoration:none;
- color:#006699;
-}
-
-hr.separator {
- height: 1px;
- color: #bebebe;
-}
-
-hr {
- height: 1px;
- color: #cdaa7d;
-}
-
-ol {
- color:
-}
-
-li {
- margin: 0em;
- color:black;
-}
-
-p {
- margin: 0.5em
-}
-
-img {
- vertical-align:middle;
-}
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/docs/sample_drawsvg.ini
--- a/sysmodellibs/sysmodelgen/docs/sample_drawsvg.ini Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-
-w = 1
-tempdir = z:/work/DepToolkit_Working/deptoolkit_temp
-root = z:/src
-logfile = z:/work/DepToolkit_Working/deptoolkit_temp/svg_log.txt
-
-# ==== Files or URIs ====
-# All of these take a file name (relative or absolute path) or URI of a data source
-
-# The location of the Model XML file to use to build the file. If this is provided all other non-build control command line and ini options are ignored.
-model =
-
-# The location of the Shapes XML file used to provide rules to control the display of the components on the model. If not present, default behaviour (in Shapes.xml) is used. This and the default bahaviours are overrriden by using the -color, -border, -pattern, and -style options.
-shapes =
-
-# The location of the Localization file used to provide displayable names for the model entities. By default, the provided "display-names.xml" is used.
-localize =
-
-# The location of the Levels XML file used to override the stacking of collections.
-levels =
-
-# The location of extra component information used to provided additional properies for components. By default, the provided "SystemInfo.xml" is used.
-sysinfo =
-
-# The location of the Dependencies XML file used to draw the depmodel. If not present, dependencies will not be drawn
-deps =
-
-# The location of the Values XML file used to specify per-component colours. If not present, the default colours are used.
-color =
-
-# The location of the Values XML file used to specify the shape (border) of each component. If not present, the default borders are used.
-border-shape =
-
-# The location of the Values XML file used to specify per-component overlay patterns. If not present, the default patterns (for new and reference components) are used.
-pattern =
-
-# The location of the Values XML file used to specify per-component border styles. If not present, the default border styles are used.
-border-style =
-
-# ==== Labels ====
-# All of these take a plain text value which is displayed on the model
-
-# The name of the product described in the model. It appears at the bottom right. Defaults to "Symbian OS"
-name =
-
-# The version of the product described in the model. It appears at the bottom right after the name. Defaults to "Future"
-version =
-
-# The label for the model. It appears at the bottom right, under the name. Defaults to "System Model".
-label =
-
-# The copyright to appear in the lower left. Set to empty string to leave out. Defaults to "[this year] Symbian Software Ltd."
-copyright =
-
-# One of "draft", "issued", "build" or free-text value. Appears below the model label. If specified this overrides the build number used by depmodel. If not building depmodel, this defaults to "draft"
-model-revision-type =
-
-# A number which appears before th model-revisino-type. If specified this overrides the build number used by depmodel. If not building depmodel, this defaults to "1"
-model-revision =
-
-#Text to appear on the bottom centre to indicate to whom the model can be show. Informational only. Suggested values are "internal", "secret" or "unrestrictred". Not shown if not set.
-distribution =
-
-# ==== Model Control ====
-
-# coreos [on/off] Turn on or off Core OS colouring. Defaults to "off" for model versions before 9.4
-coreos = on
-
-# sysdef [uri-list] Comma-separated list of locations for the System Definition XML file(s) used to build the model. Layers in the files will be stacked on top of each other in order, from bottom to top.
-sysdef =
-
-# filter [list] Comma-separated list of filters to turn on when building the model. Defaults to "java,gt"
-filter =
-
-# ignore [list] Semicolon-separated list of model entities to not draw, in the form "[item-type]:[item-name];...". Defaults to "layer:Tools and Utils and SDKENG;layer:MISC"
-ignore =
-
-# detail [item-type] The type of the smallest System Model entity to draw. One of "layer", "logicalset", "logicalsubset", "collection" or "component". Defaults to "component"
-detail =
-
-#page-width [length] The width of the drawn image (with units). If not specified it will fit the viewer window. Valid units: "in", "mm", "cm", "px", "pt"
-page-width =
-
-# If present the model will not have any mouseover effects (this is overriden by builing the depmodel).
-static =
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/css-module.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/css-module.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ item
+ parent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/css2xml.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/css2xml.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/dependencies.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/dependencies.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,350 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dep-
+
+
+
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+ Uses
+ Used by
+
+
+
+
+
+
+
+
+
+ 4.8
+ 2.4
+ 1.2
+ 0.6
+ 0.3
+
+
+
+
+
+
+
+
+
+
+ path.arrow {
+ marker-end: url(#Triangle);
+ fill:none;stroke: black;
+ stroke-width: 0.3px;
+ }
+ path.arrowF {
+ marker-start: url(#TriangleF);
+ fill:none;stroke: blue;
+ stroke-width: 0.3px;
+ }
+ path.collection {
+ stroke-width: 0.6px;
+ }
+ path.package {
+ stroke-width: 2.4px;
+ }
+ path.layer {
+ stroke-width: 4.8px;
+ }
+ path.api {
+ stroke-dasharray: 2,1;
+ }
+ path.ecom {
+ stroke-dasharray: 0.1,2;
+ stroke-linecap: round;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ arrow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ arrowF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ / /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ c
+ c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ M
+
+
+
+
+ ,
+
+
+ c
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/makeabbrev.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/makeabbrev.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ s
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ abbrev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/output-csv.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/output-csv.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,124 @@
+
+
+
+ layer,package,collection,component
+
+
+
+
+ Layer,Package,Collection,Component
+
+
+
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+" "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " "
+
+ " "
+ " "
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/output-sysdef.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/output-sysdef.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/postprocess.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/postprocess.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+o-
+
+
+mouseover
+
+
+component collection package layer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on(clear(' '))
+
+
+ on(clear(' '))
+
+
+ on(' ')
+ off(' ')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/sample_config.ini
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/sample_config.ini Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,85 @@
+
+w = 1
+tempdir = z:/work/DepToolkit_Working/deptoolkit_temp
+root = z:/src
+logfile = z:/work/DepToolkit_Working/deptoolkit_temp/svg_log.txt
+
+# ==== Files or URIs ====
+# All of these take a file name (relative or absolute path) or URI of a data source
+
+# The location of the Model XML file to use to build the file. If this is provided all other non-build control command line and ini options are ignored.
+model =
+
+# The location of the Shapes XML file used to provide rules to control the display of the components on the model. If not present, default behaviour (in Shapes.xml) is used. This and the default bahaviours are overrriden by using the -color, -border, -pattern, and -style options.
+shapes =
+
+# The location of the Localization file used to provide displayable names for the model entities. By default, the provided "display-names.xml" is used.
+localize =
+
+# The location of the Levels XML file used to override the stacking of collections.
+levels =
+
+# The location of extra component information used to provided additional properies for components. By default, the provided "SystemInfo.xml" is used.
+sysinfo =
+
+# The location of the Dependencies XML file used to draw the depmodel. If not present, dependencies will not be drawn
+deps =
+
+# The location of the Values XML file used to specify per-component colours. If not present, the default colours are used.
+color =
+
+# The location of the Values XML file used to specify the shape (border) of each component. If not present, the default borders are used.
+border-shape =
+
+# The location of the Values XML file used to specify per-component overlay patterns. If not present, the default patterns (for new and reference components) are used.
+pattern =
+
+# The location of the Values XML file used to specify per-component border styles. If not present, the default border styles are used.
+border-style =
+
+# ==== Labels ====
+# All of these take a plain text value which is displayed on the model
+
+# The name of the product described in the model. It appears at the bottom right. Defaults to "Symbian OS"
+name =
+
+# The version of the product described in the model. It appears at the bottom right after the name. Defaults to "Future"
+version =
+
+# The label for the model. It appears at the bottom right, under the name. Defaults to "System Model".
+label =
+
+# The copyright to appear in the lower left. Set to empty string to leave out. Defaults to "[this year] Symbian Software Ltd."
+copyright =
+
+# One of "draft", "issued", "build" or free-text value. Appears below the model label. If specified this overrides the build number used by depmodel. If not building depmodel, this defaults to "draft"
+model-revision-type =
+
+# A number which appears before th model-revisino-type. If specified this overrides the build number used by depmodel. If not building depmodel, this defaults to "1"
+model-revision =
+
+#Text to appear on the bottom centre to indicate to whom the model can be show. Informational only. Suggested values are "internal", "secret" or "unrestrictred". Not shown if not set.
+distribution =
+
+# ==== Model Control ====
+
+# coreos [on/off] Turn on or off Core OS colouring. Defaults to "off" for model versions before 9.4
+coreos = on
+
+# sysdef [uri-list] Comma-separated list of locations for the System Definition XML file(s) used to build the model. Layers in the files will be stacked on top of each other in order, from bottom to top.
+sysdef =
+
+# filter [list] Comma-separated list of filters to turn on when building the model. Defaults to "java,gt"
+filter =
+
+# ignore [list] Semicolon-separated list of model entities to not draw, in the form "[item-type]:[item-name];...". Defaults to "layer:Tools and Utils and SDKENG;layer:MISC"
+ignore =
+
+# detail [item-type] The type of the smallest System Model entity to draw. One of "layer", "logicalset", "logicalsubset", "collection" or "component". Defaults to "component"
+detail =
+
+#page-width [length] The width of the drawn image (with units). If not specified it will fit the viewer window. Valid units: "in", "mm", "cm", "px", "pt"
+page-width =
+
+# If present the model will not have any mouseover effects (this is overriden by builing the depmodel).
+static =
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/showdeps.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/showdeps.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/tovisio.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/tovisio.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,1271 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1 0
+ 0.01 0 1
+ 1 0 1 0 1 0 0 0 0 1
+ 0 0 0 0 1 0 0.5905511811023622 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+ 32 32 0 0 8 8 0 0 0 0
+ 1 0.5 0.5 0 0 0 0
+ 1 2 0 1 1 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 1 0 0 0 0.09842519685039369 0.09842519685039369 0.1968503937007874 0.1968503937007874 0.2952755905511811 0.2952755905511811 0.09842519685039369 0.09842519685039369 0.66666666666667 0.66666666666667 0 0 0 0 0
+
+ 4 0 0 0 1 0.1666666666666667 0 0 0 0 0 0 0 0 -1 2057
+ 0 0 0 -1.2 0 0 1 0 0 0 -1 0 0
+
+
+
+ 1 1 1 0
+ 0.01 0 0
+ 1 0 0 0 1
+ 0 0 0 0 0 0 0.5905511811023622 0 0
+ 0 0 0 -1.2 0 0 0
+
+
+ 1 1 1 0
+ 0.01 0 0
+ 1 0 0 0 1
+
+
+ 1 1 1 0
+ 0.05555555555555555 0.05555555555555555 0.05555555555555555 0.05555555555555555 1 0 0.5905511811023622 0 0
+
+
+ 1 1 1 0
+ 0 4 23
+ 1 0 0 0 1
+ 0.05555555555555555 0.05555555555555555 0 0 2 0 0.5905511811023622 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 4 4 0 0 1 0.125 0 0 -1 2057
+
+
+ 1 1 1 0
+ 0 1
+ 0.05555555555555555 0.05555555555555555 0.05555555555555555 0.05555555555555555 1 0 0.5905511811023622 0 0
+ 4 0 0 0 1 0.1111111111111111 0 0 -1 2057
+ 0 0 0 -1.2 0 0 1
+
+
+
+ 1 1 1 0
+ 0.01 0 1
+ 1 1 1 0 1
+ 4 0 0 0 1 0.1666666666666667 0 0 -1 2057
+
+
+
+ 0 0 0 0 0 0 2057
+
+
+ {04C33547-0004-0000-8E40-00608CF305B2} {04C33547-0004-F00D-0000-000000000000}
+ 3.937007874015748 3.937007874015748 0.1181102362204724 -0.1181102362204724 0.03937007874015748 0.03937007874015748 1 0 0 0 0 0 1
+
+
+
+
+ 1.968503937007874 1.968503937007874
+ 1.574803149606299 1.181102362204725
+
+ 0.7874015748031497 0 0 0 0 0
+ 1.574803149606299 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 1.181102362204725 0 0 0 0
+ 0 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 0.5905511811023623 0 0 0 0
+ 0 0 0 0 0 0 1.574803149606299 0 1.574803149606299 1.181102362204725 0 1.181102362204725 0 0
+
+
+
+ {04C3355B-000A-0000-8E40-00608CF305B2} {04C3355B-000A-F00D-0000-000000000000}
+ 3.937007874015748 3.937007874015748 0.1181102362204724 -0.1181102362204724 0.03937007874015748 0.03937007874015748 1 0 0 0 0 0 1
+
+
+
+
+ 1.968503937007874 1.968503937007874 1.574803149606299 1.181102362204725
+ 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 0.7874015748031497 1.181102362204725 0 0 0 0
+ 0.7874015748031497 0 0 0 0 0
+ 0 0.5905511811023623 0 0 0 0
+ 1.574803149606299 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 0.5905511811023623 0 0 0 0
+ 0.19685039 0 0 0 0 0
+ Adjust Corner Rounding
+ 0
+ 0 0
+ 2 1
+ 0
+
+
+ 0 0 0 0
+ 1.377952759606299 0
+ 1.574803149606299 0.19685039 0.05765551072709999
+ 1.574803149606299 0.9842519722047245
+ 1.377952759606299 1.181102362204725 0.05765551072709999
+ 0.19685039 1.181102362204725
+ 0 0.9842519722047245 0.05765551072709999
+ 0 0.19685039
+ 0.19685039 0 0.05765551072709999
+ 1.377952759606299 0
+
+
+
+
+ {04C33547-0000-0000-8E40-00608CF305B2} {04C33547-0000-F00D-0000-000000000000}
+ 3.937007874015748 3.937007874015748 0.1181102362204724 -0.1181102362204724 0.03937007874015748 0.03937007874015748 1 0 0 0 0 0 1
+
+
+
+
+ 1.968503937007874 1.968503937007874 1.574803149606299 1.181102362204725
+
+ 0.7874015748031497 0 0 0 0 0
+ 1.574803149606299 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 1.181102362204725 0 0 0 0
+ 0 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 0.5905511811023623 0 0 0 0 0 0 0 0 0 0 1.574803149606299 0 1.574803149606299 1.181102362204725 0 1.181102362204725 0 0
+
+
+
+ {04C3355B-000D-0000-8E40-00608CF305B2} {04C3355B-000D-F00D-0000-000000000000}
+ 3.937007874015748 3.937007874015748 0.1181102362204724 -0.1181102362204724 0.03937007874015748 0.03937007874015748 1 0 0 0 0 0 1
+
+
+
+
+ 1.968503937007874 1.968503937007874 1.574803149606299 1.181102362204725
+
+ 0.7874015748031497 0 0 0 0 0
+ 1.574803149606299 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 1.181102362204725 0 0 0 0
+ 0 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 0.5905511811023623 0 0 0 0 0 0 0 0 0 0 1.574803149606299 0 1.574803149606299 1.181102362204725 0 1.181102362204725 0 0
+
+
+
+ {04C33565-000F-0000-8E40-00608CF305B2} {04C33565-000F-F00D-0000-000000000000}
+ 3.937007874015748 3.937007874015748 0.1181102362204724 -0.1181102362204724 0.03937007874015748 0.03937007874015748 1 0 0 0 0 0 1
+
+
+
+
+ 1.968503937007874 1.968503937007874 1.574803149606299 1.181102362204725
+
+ 0.7874015748031497 0 0 0 0 0
+ 1.574803149606299 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 1.181102362204725 0 0 0 0
+ 0 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 0.5905511811023623 0 0 0 0 0 0 0 0 0 0 1.574803149606299 0 1.574803149606299 1.181102362204725 0 1.181102362204725 0 0
+
+
+
+ {04C33565-0010-0000-8E40-00608CF305B2} {04C33565-0010-F00D-0000-000000000000}
+ 3.937007874015748 3.937007874015748 0.1181102362204724 -0.1181102362204724 0.03937007874015748 0.03937007874015748 1 0 0 0 0 0 1
+
+
+ 1.968503937007874 1.968503937007874 1.574803149606299 1.181102362204725
+
+ 0.7874015748031497 0 0 0 0 0
+ 1.574803149606299 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 1.181102362204725 0 0 0 0
+ 0 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 0.5905511811023623 0 0 0 0 0 0 0 0 0 0 1.574803149606299 0 1.574803149606299 1.181102362204725 0 1.181102362204725 0 0
+
+
+
+ {0BFFBCBF-0009-0000-8E40-00608CF305B2}
+ {18E63130-8321-4486-AFB0-39D3B50CFDA1}
+
+ 8.5 11 0.125 -0.125 1
+ 1 1 0 0 0 0 0 1
+
+
+ 4.1875 5.5 8.375 8.433159722222223 4.1875 4.216579861111112 0 0 0 0 #ffffff 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0.01 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 8.375 0 8.375 8.433159722222223 0 8.433159722222223 0 0
+ 4.1875 5.457722355769239 9.30524668444901 0 4.652623342224505 0 -0.7988612422128417 0 0 0 0.05555555555555555 0.05555555555555555 0.05555555555555555 0.05555555555555555 1 2 0.5905511811023622 0 0 0.9421875000000588 8.791616586538481 7.432812499999947 2.123828125 0.1111111111111111 0 1 0 2 0 0 0 2 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 9.30524668444901 0
+ 4.1875 5.457722355769239 9.30524668444901 0 4.652623342224505 0 -2.342731411376952 0 0 0 0.05555555555555555 0.05555555555555555 0.05555555555555555 0.05555555555555555 1 2 0.5905511811023622 0 0 7.432812499999947 8.791616586538481 0.9421875000000588 2.123828125 0.1111111111111111 0 1 0 2 0 0 0 2 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 9.30524668444901 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #F0F8FF
+ #FAEBD7
+ #0FFFF0
+ #7FFFD4
+ #F0FFFF
+ #F5F5DC
+ #FFE4C4
+ #000000
+ #FFEBCD
+ #00FF00
+ #8A2BE2
+ #A52A2A
+ #DEB887
+ #5F9EA0
+ #7FFF00
+ #D2691E
+ #FF7F50
+ #6495ED
+ #FFF8DC
+ #DC143C
+ #0FFFF0
+ #008B00
+ #08B8B0
+ #B886B0
+ #A9A9A9
+ #064000
+ #BDB76B
+ #8B08B0
+ #556B2F
+ #FF8C00
+ #9932CC
+ #8B0000
+ #E9967A
+ #8FBC8F
+ #483D8B
+ #2F4F4F
+ #2F4F4F
+ #0CED10
+ #940D30
+ #FF1493
+ #0BFFF0
+ #696969
+ #1E90FF
+ #B22222
+ #FFFAF0
+ #228B22
+ #FF0FF0
+ #DCDCDC
+ #F8F8FF
+ #FFD700
+ #DAA520
+ #808080
+ #080000
+ #ADFF2F
+ #F0FFF0
+ #FF69B4
+ #CD5C5C
+ #4B0820
+ #FFFFF0
+ #F0E68C
+ #E6E6FA
+ #FFF0F5
+ #7CFC00
+ #FFFACD
+ #ADD8E6
+ #F08080
+ #E0FFFF
+ #FAFAD2
+ #D3D3D3
+ #90EE90
+ #FFB6C1
+ #FFA07A
+ #20B2AA
+ #87CEFA
+ #778899
+ #778899
+ #B0C4DE
+ #FFFFE0
+ #0FF000
+ #32CD32
+ #FAF0E6
+ #FF0FF0
+ #800000
+ #66CDAA
+ #00CD00
+ #BA55D3
+ #9370DB
+ #3CB371
+ #7B68EE
+ #0FA9A0
+ #48D1CC
+ #C71585
+ #191970
+ #F5FFFA
+ #FFE4E1
+ #FFE4B5
+ #FFDEAD
+ #008000
+ #FDF5E6
+ #808000
+ #6B8E23
+ #FFA500
+ #FF4500
+ #DA70D6
+ #EEE8AA
+ #98FB98
+ #AFEEEE
+ #DB7093
+ #FFEFD5
+ #FFDAB9
+ #CD853F
+ #FFC0CB
+ #DDA0DD
+ #B0E0E6
+ #800800
+ #FF0000
+ #BC8F8F
+ #4169E1
+ #8B4513
+ #FA8072
+ #F4A460
+ #2E8B57
+ #FFF5EE
+ #A0522D
+ #C0C0C0
+ #87CEEB
+ #6A5ACD
+ #708090
+ #FFFAFA
+ #0FF7F0
+ #4682B4
+ #D2B48C
+ #080800
+ #D8BFD8
+ #FF6347
+ #40E0D0
+ #EE82EE
+ #F5DEB3
+ #FFFFFF
+ #F5F5F5
+ #FFFF00
+ #9ACD32
+
+
+ #
+
+
+
+
+ #
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 11.69291338582677
+ 8.26771653543307
+ 0.1181102362204724 -0.1181102362204724
+ 0.03937007874015748
+ 0.03937007874015748
+ 1 0
+ 0 0 0 0 1
+
+ 0 0 1 1 0 0 0
+ 0 0 0 0 0 0 0 0 1 0 0 0 0.09842519685039369 0.09842519685039369 0.1968503937007874 0.1968503937007874 0.2952755905511811 0.2952755905511811 0.09842519685039369 0.09842519685039369 0.66666666666667 0.66666666666667 0 0 0 0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+group:
+
+
+
+
+
+ Layer group
+
+
+
+
+
+
+
+
+
+
+
+ 1.5707963267949
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0 1
+
+ 0
+
+ 0 0
+ 0
+
+ 0
+ 0 0
+
+
+
+ 4 0 1
+
+
+
+
+
+
+
+Layer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.5707963267949
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+group:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Legend
+
+
+ #ffffff 1
+
+
+
+
+
+
+ 6
+
+
+ 0.02777777777777778 0.02777777777777778 0.02777777777777778 0.02777777777777778 0 0 0.5905511811023622 0 0
+
+ 4
+ 4
+ 0 0 0 0 0 0 3.467831298161776 0 3.467831298161776 0.3645551956013876 0 0.3645551956013876 0 0
+
+
+
+
+
+
+
+
+ Logo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -3.1415926535898 1
+
+
+
+3.118572104235407 0.1002583639443488 0.1815642961411839 0.1825750925010467 0.09078214807059196 0.09128754625052334 0.001666666666666667 1 0 1 #fab83d
+0.1815642961411839 0.09122437147803084 0.09021357511816668 0.1825750925010467 0 1 0 1 NURBS(1, 3, 0, 0, 1,0.77785467128028,0,1, 0.7759220598469,1,0,1) 0 0.09122437147803084 0 1 0 1 NURBS(1, 3, 0, 0, 0.22407794015309,1,0,1, 0,0.77785467128028,0,1) 0.09236151738288402 0 0 1 0 1 NURBS(1, 3, 0, 0, 0,0.22283737024221,0,1, 0.2303409881698,0,0,1) 0.1815642961411839 0.09122437147803084 0 1 0 1 NURBS(1, 3, 0, 0, 0.78218510786361,0,0,1, 1,0.22283737024221,0,1) 0.1815642961411839 0.09122437147803084
+
+
+3.117687657420529 0.6284626367475548 0.1984951351689621 0.7138749291563649 0.09924756758448103 0.3569374645781824 0.001666666666666667 1 0 1 #0082b8
+0.09918439281199015 0 0.1984951351689621 0.3568111150332008 0 1 0 1 NURBS(1, 3, 0, 0, 0.77593889242521,0,0,1, 1,0.22389380530973,0,1) 0.09918439281199015 0.7138749291563649 0 1 0 1 NURBS(1, 3, 0, 0, 1,0.77592920353982,0,1, 0.77593889242521,1,0,1) 0 0.3568111150332008 0 1 0 1 NURBS(1, 3, 0, 0, 0.22406110757479,1,0,1, 0,0.77592920353982,0,1) 0.09918439281199015 0 0 1 0 1 NURBS(1, 3, 0, 0, 0,0.22389380530973,0,1, 0.22406110757479,0,0,1) 0.09918439281199015 0
+
+
+0.276932932694675 0.6315582005996634 0.55386586538935 0.7049041114625431 0.276932932694675 0.3524520557312715 0.001666666666666667 1 0 1 #231f20
+0.4693380197954351 0.1794163538764673 0.3055890094969169 0.1314035267827663 0 1 0 1 NURBS(1, 3, 0, 0, 0.72762113331508,0.20666786162395,0,1, 0.64093439182407,0.18641333572325,0,1) 0.2209979891305113 0.1965998919942096 0 1 0 1 NURBS(1, 3, 0, 0, 0.46012409891413,0.18641333572325,0,1, 0.39900994616297,0.22333751568381,0,1) 0.3041991645020997 0.2640705490153627 0 1 0 1 NURBS(1, 3, 0, 0, 0.39900994616297,0.32658182469977,0,1, 0.43877178574687,0.35239290195376,0,1) 0.3849365237465071 0.284791874392645 0.5173508468891418 0.3602225527477542 0 1 0 1 NURBS(1, 3, 0, 0, 0.84282325029656,0.43359024914859,0,1, 0.89209781914408,0.46872199318874,0,1) 0.55386586538935 0.4734317450529055 0 1 0 1 NURBS(1, 3, 0, 0, 0.97878456063509,0.55529664814483,0,1, 1,0.60889048216526,0,1) 0.2691118958601998 0.7049041114625431 0 1 0 1 NURBS(1, 3, 0, 0, 1,0.8668220111131,0,1, 0.79332055844511,1,0,1) 0 0.6280835881126214 0 1 0 1 NURBS(1, 3, 0, 0, 0.33803266721416,1,0,1, 0.17581439912401,0.96325506363147,0,1) 0.06236613540382168 0.5007232467693243 0.2834020293978241 0.5761539251244335 0 1 0 1 NURBS(1, 3, 0, 0, 0.20905192079569,0.75658720200753,0,1, 0.37551327675883,0.81735077970963,0,1) 0.3717961710682343 0.5007232467693243 0 1 0 1 NURBS(1, 3, 0, 0, 0.60101286613742,0.81735077970963,0,1, 0.67127475134593,0.7711059329629,0,1) 0.2691118958601998 0.4187223920750786 0 1 0 1 NURBS(1, 3, 0, 0, 0.67127475134593,0.64599390571787,0,1, 0.61287526234145,0.61265459759814,0,1) 0.1910784168784391 0.4045712430369329 0.06880996219797674 0.3368478869258152 0 1 0 1 NURBS(1, 3, 0, 0, 0.26510174285975,0.56282487901058,0,1, 0.1665754174651,0.51837246818426,0,1) 0.0312209725654047 0.2173212173714989 0 1 0 1 NURBS(1, 3, 0, 0, 0.082124281412538,0.43735436458147,0,1, 0.05636919426955,0.36924179960566,0,1) 0.2886581704691366 0 0 1 0 1 NURBS(1, 3, 0, 0, 0.05636919426955,0.12367807850869,0,1, 0.241627885756,0,0,1) 0.5265743636729312 0.06241667522181275 0 1 0 1 NURBS(1, 3, 0, 0, 0.71370563007574,0,0,1, 0.84054202025732,0.046244846746728,0,1) 0.4693380197954351 0.1794163538764673 0.4693380197954351 0.1794163538764673
+
+
+0.9173735063066784 0.7707322243989039 0.6592919257235173 0.9673321163931188 0.3296459628617586 0.4836660581965594 0.001666666666666667 1 0 1 #231f20
+0.1780265088816454 0 0.293889041631446 0.3887775499140035 0.3288878655918609 0.5264985539459376 0 1 0 1 NURBS(1, 3, 0, 0, 0.46339593714067,0.44344305120167,0,1, 0.49885013415102,0.5442789968652,0,1) 0.3498618900591083 0.4199858875249167 0 1 0 1 NURBS(1, 3, 0, 0, 0.49885013415102,0.5442789968652,0,1, 0.51858949789191,0.46760710553814,0,1) 0.3756371972357235 0.3276243701420225 0 1 0 1 NURBS(1, 3, 0, 0, 0.53832886163281,0.41131138975967,0,1, 0.55404369490226,0.37095088819227,0,1) 0.4758323864075806 0.01023431314365834 0.6592919257235173 0.01023431314365834 0.4174588966252377 0.6864570778949583 0.2899722057369635 0.9061789366211378 0 1 0 1 NURBS(1, 3, 0, 0, 0.56400919892679,0.84273772204807,0,1, 0.51284016864699,0.90047021943574,0,1) 0.1286238367931275 0.9673321163931188 0 1 0 1 NURBS(1, 3, 0, 0, 0.37274817937907,0.9703500522466,0,1, 0.28593330778076,0.99190177638454,0,1) 0.06886050201596991 0.852859428638134 0.1767630134318114 0.8087634374389202 0 1 0 1 NURBS(1, 3, 0, 0, 0.16174779609046,0.87095088819227,0,1, 0.22844001533154,0.85488505747126,0,1) 0.2260393359753486 0.7541804340060809 0 1 0 1 NURBS(1, 3, 0, 0, 0.29762361057877,0.82131661442006,0,1, 0.32138750479111,0.8025078369906,0,1) 0.2639441994703736 0.6762227647513057 0 1 0 1 NURBS(1, 3, 0, 0, 0.36872364890763,0.75130616509927,0,1, 0.37658106554235,0.739289446186,0,1) 0.157305183504366 0.4888463895408789 0 1 0 1 NURBS(1, 3, 0, 0, 0.40034495975469,0.69905956112853,0,1, 0.34285166730548,0.70128004179728,0,1) 0 0.02072132537728286 0.1780265088816454 0 0.1780265088816454 0
+
+
+1.746100171852979 0.6244826260805785 0.873833453105393 0.6776126097461085 0.4369167265526965 0.3388063048730542 0.001666666666666667 1 0 1 #231f20
+0.1573051835043664 0 0.1808061988712878 0.06772335611111607 0 1 0 1 NURBS(1, 3, 0, 0, 0.19346443030654,0.026664180495991,0,1, 0.19939271255061,0.049785567779228,0,1) 0.3432917137199733 0 0 1 0 1 NURBS(1, 3, 0, 0, 0.25882012724118,0.034495618124184,0,1, 0.32287449392713,0,0,1) 0.4784857268522453 0.05458300343283965 0 1 0 1 NURBS(1, 3, 0, 0, 0.45532099479468,0,0,1, 0.50751879699248,0.026664180495991,0,1) 0.5045137331188281 0.08705483649357826 0 1 0 1 NURBS(1, 3, 0, 0, 0.55798149219202,0.09416371433899,0,1, 0.56868131868132,0.11131829200075,0,1) 0.6931536037790925 0 0 1 0 1 NURBS(1, 3, 0, 0, 0.64748409485252,0.036360246130897,0,1, 0.70994794679005,0,0,1) 0.8243044314718887 0.04156900029954715 0 1 0 1 NURBS(1, 3, 0, 0, 0.85280508964719,0,0,1, 0.9091960670908,0.022934924482566,0,1) 0.873833453105393 0.2041808646932176 0 1 0 1 NURBS(1, 3, 0, 0, 0.9866975130133,0.10926720119336,0,1, 1,0.16707066940145,0,1) 0.873833453105393 0.6776126097461085 0.7047777619175615 0.6776126097461085 0.7047777619175615 0.2379161932037866 0.6503211080297043 0.143027684921235 0 1 0 1 NURBS(1, 3, 0, 0, 0.80653556969346,0.23401081484244,0,1, 0.79598033545402,0.21107589035987,0,1) 0.5344585752798993 0.1990005333488917 0 1 0 1 NURBS(1, 3, 0, 0, 0.70691150954309,0.21107589035987,0,1, 0.65485829959514,0.24389334327802,0,1) 0.5344585752798993 0.6776126097461085 0.3691933704415774 0.6776126097461085 0.3691933704415774 0.2444863695429275 0.3095563852094012 0.1417641894714025 0 1 0 1 NURBS(1, 3, 0, 0, 0.4224985540775,0.23792653365654,0,1, 0.4091960670908,0.20921126235316,0,1) 0.1950836974544143 0.1924303570097575 0 1 0 1 NURBS(1, 3, 0, 0, 0.31694621168305,0.20921126235316,0,1, 0.26633892423366,0.23401081484244,0,1) 0.1950836974544143 0.6776126097461085 0.0247645108167521 0.6776126097461085 0.0247645108167521 0.2131516823870409 0 0.04283249574938162 0 1 0 1 NURBS(1, 3, 0, 0, 0.02834008097166,0.17266455342159,0,1, 0.020821283979179,0.11131829200075,0,1) 0.1573051835043664 0 0.1573051835043664 0
+
+4.251864347964288 0.6218924604084224 0.5486097243180468 0.6827929410904385 0.2743048621590234 0.3413964705452193 0.001666666666666667 1 0 1 #231f20
+0.1546518430597181 0 0.1792900043314874 0.0832643501440801 0 1 0 1 NURBS(1, 3, 0, 0, 0.31045601105481,0.039970392301998,0,1, 0.32680792261631,0.081976313841598,0,1) 0.2561105276814092 0.03373532851057469 0 1 0 1 NURBS(1, 3, 0, 0, 0.37448180561953,0.095299777942265,0,1, 0.41455550437586,0.072538860103626,0,1) 0.3756371972357323 0.005180331344320125 0 1 0 1 NURBS(1, 3, 0, 0, 0.53086135421465,0.022760917838637,0,1, 0.61400276370336,0.0075869726128788,0,1) 0.5357220707297365 0.101458684621692 0 1 0 1 NURBS(1, 3, 0, 0, 0.82012897282358,0.0075869726128788,0,1, 0.93850760018425,0.064766839378238,0,1) 0.5486097243180468 0.1962208433592625 0 1 0 1 NURBS(1, 3, 0, 0, 0.99309074159374,0.18467801628423,0,1, 1,0.22649888971133,0,1) 0.5486097243180468 0.6827929410904385 0.377027042230548 0.6827929410904385 0.377027042230548 0.2496667008872495 0.3185272029032227 0.152124852160046 0 1 0 1 NURBS(1, 3, 0, 0, 0.68724090280976,0.25518134715026,0,1, 0.66374942422847,0.22279792746114,0,1) 0.1974843388090961 0.2118881869372093 0 1 0 1 NURBS(1, 3, 0, 0, 0.51681252878858,0.22279792746114,0,1, 0.43367111929986,0.25703182827535,0,1) 0.1974843388090961 0.6827929410904385 0.02324831627695143 0.6827929410904385 0.02324831627695143 0.200264028798728 0 0.04422234074419915 0 1 0 1 NURBS(1, 3, 0, 0, 0.042376784891756,0.20928941524796,0,1, 0.028327959465684,0.12953367875648,0,1) 0.1546518430597181 0 0.1546518430597181 0
+
+
+3.595667986092844
+0.6340220167268359
+0.5287728457556354
+0.7007345764780822 0.2643864228778177 0.3503672882390411 0.001666666666666667 1 0 1 #231f20
+0.5275093503058033 0.2339993573093043 0.5157588426223406 0.1152307850248828 0 1 0 1 NURBS(1, 3, 0, 0, 1,0.23278038225748,0,1, 0.99259259259259,0.20320952037504,0,1) 0.302607160235302 0 0 1 0 1 NURBS(1, 3, 0, 0, 0.92664277180406,0.059141723764875,0,1, 0.78231780167264,0,0,1) 0.1215482622740579 0.03878931030991179 0 1 0 1 NURBS(1, 3, 0, 0, 0.45710872162485,0,0,1, 0.35221027479092,0.016949152542373,0,1) 0.01427749858312748 0.09324596419776855 0 1 0 1 NURBS(1, 3, 0, 0, 0.14169653524492,0.083122971510999,0,1, 0.092712066905616,0.10169491525424,0,1) 0.08793928330846486 0.2173212173714948 0.2791061448683873 0.1423959371963179 0 1 0 1 NURBS(1, 3, 0, 0, 0.30083632019116,0.24179588892896,0,1, 0.42293906810036,0.20320952037504,0,1) 0.3568111150331932 0.2405695336484467 0 1 0 1 NURBS(1, 3, 0, 0, 0.64802867383513,0.20320952037504,0,1, 0.67479091995221,0.23800937612694,0,1) 0.3568111150331932 0.2676083362748981 0.3180218047232806 0.2664711903700441 0 1 0 1 NURBS(1, 3, 0, 0, 0.64802867383513,0.38027407140281,0,1, 0.6258064516129,0.38027407140281,0,1) 0 0.493900371340213 0 1 0 1 NURBS(1, 3, 0, 0, 0.20286738351254,0.38027407140281,0,1, 0,0.48341146772449,0,1) 0.2274291809701655 0.7007345764780822 0 1 0 1 NURBS(1, 3, 0, 0, 0,0.89307609087631,0,1, 0.15173237753883,1,0,1) 0.5277620493957698 0.4789911250321693 0 1 0 1 NURBS(1, 3, 0, 0, 0.69486260454002,1,0,1, 0.99808841099164,0.88532275513884,0,1) 0.5275093503058033 0.2339993573093043 0.5275093503058033 0.2339993573093043 0.5275093503058033 0.2339993573093043 0.3516307836888736 0.5391335084442792 0.2611645094807392 0.5843666455483455 0 1 0 1 NURBS(1, 3, 0, 0, 0.61600955794504,0.80995311936531,0,1, 0.55483870967742,0.83393436711143,0,1) 0.1848493843107511 0.4875828940910451 0 1 0 1 NURBS(1, 3, 0, 0, 0.41075268817204,0.83393436711143,0,1, 0.34958183990442,0.7695636494771,0,1) 0.3465768018895345 0.3866296076492872 0 1 0 1 NURBS(1, 3, 0, 0, 0.34958183990442,0.583122971511,0,1, 0.42771804062127,0.55174900829427,0,1) 0.3544104736785096 0.3866296076492872 0.3516307836888736 0.5391335084442792 0.3516307836888736 0.5391335084442792
+
+
+
+
+2.606477398417586
+0.4882146418159622
+0.5866409373580704
+0.9764292836319244
+0.2933204686790352 0.4882146418159622
+
+0.001666666666666667 1 0 1 #231f20
+0.3225703883426996 0.2810013880431448 0.1806798493263054 0.3341945464811697 0 1 0 1 NURBS(1, 3, 0, 0, 0.44561705793668,0.28778467908903,0,1, 0.3661425802283,0.30499482401656,0,1) 0.1845966852207934 0.2756947071538366 0 1 0 1 NURBS(1, 3, 0, 0, 0.31272883911264,0.33165113871636,0,1, 0.31466724100797,0.30227743271222,0,1) 0.1845966852207934 0.1183895236494696 0.1781528584266378 0 0 1 0 1 NURBS(1, 3, 0, 0, 0.31466724100797,0.074663561076604,0,1, 0.31272883911264,0.046583850931677,0,1) 0 0.04169534984453165 0.01162415813847498 0.205444360143048 0 1 0 1 NURBS(1, 3, 0, 0, 0.01550721516261,0.081262939958592,0,1, 0.019814774930001,0.12655279503106,0,1) 0.01099241041355838 0.7443251694973729 0.2967950811660775 0.9764292836319244 0 1 0 1 NURBS(1, 3, 0, 0, 0.018737884988154,0.86801242236025,0,1, 0.17079474477708,1,0,1) 0.4633237814542409 0.9286691556281899 0 1 0 1 NURBS(1, 3, 0, 0, 0.61705793667887,1,0,1, 0.7124703855266,0.988483436853,0,1) 0.5866409373580704 0.6189864208738077 0 1 0 1 NURBS(1, 3, 0, 0, 0.92957139780314,0.8847049689441,0,1, 1,0.77251552795031,0,1) 0.3225703883426996 0.2810013880431448 0 1 0 1 NURBS(1, 3, 0, 0, 1,0.42093685300207,0,1, 0.82683609735085,0.28778467908903,0,1) 0.3225703883426996 0.2810013880431448 0.3225703883426996 0.2810013880431448 0.3693197199865704 0.7891792579664891 0.284791874392652 0.840982571409691 0 1 0 1 NURBS(1, 3, 0, 0, 0.60521214731854,0.8440734989648,0,1, 0.55869050183071,0.86128364389234,0,1) 0.1872500256654446 0.7981500756603084 0 1 0 1 NURBS(1, 3, 0, 0, 0.40534137411157,0.86128364389234,0,1, 0.3590351066121,0.83876811594203,0,1) 0.1872500256654446 0.4786120763972224 0.2861817193874724 0.4252925684142154 0 1 0 1 NURBS(1, 3, 0, 0, 0.35688132672841,0.4648033126294,0,1, 0.4100796898557,0.43555900621118,0,1) 0.3810702276700285 0.5098204140081316 0 1 0 1 NURBS(1, 3, 0, 0, 0.56536721947017,0.43555900621118,0,1, 0.62718070213224,0.46350931677019,0,1) 0.3887775499140149 0.6230296063132751 0 1 0 1 NURBS(1, 3, 0, 0, 0.6607796683179,0.55124223602484,0,1, 0.66271807021322,0.57686335403727,0,1) 0.3693197199865704 0.7891792579664891 0 1 0 1 NURBS(1, 3, 0, 0, 0.66271807021322,0.72192028985507,0,1, 0.65625673056214,0.77083333333333,0,1) 0.3693197199865704 0.7891792579664891
+
+3.806608551442684 1.467676314527476 0.4811390672968658 0.6658621020626642 0.2405695336484329 0.3329310510313321 0.001666666666666667 1 0 1 #231f20
+0.1194003200093314 0.1356994113121999 0.2410749318283679 0.07366178472533552 0 1 0 1 NURBS(1, 3, 0, 0, 0.3188025210084,0.1415559772296,0,1, 0.4030987394958,0.11062618595825,0,1) 0.3311621574015453 0.1058809186961139 0 1 0 1 NURBS(1, 3, 0, 0, 0.5703781512605,0.11062618595825,0,1, 0.6328781512605,0.12675521821632,0,1) 0.3919362885385687 0.1968525910841815 0 1 0 1 NURBS(1, 3, 0, 0, 0.7436974789916,0.19127134724858,0,1, 0.78571428571429,0.23681214421252,0,1) 0.4126576139158514 0.3339418473912029 0 1 0 1 NURBS(1, 3, 0, 0, 0.84348739495798,0.35426944971537,0,1, 0.85766806722689,0.42296015180266,0,1) 0.3640130390972348 0.5258668062210249 0 1 0 1 NURBS(1, 3, 0, 0, 0.85766806722689,0.62599620493359,0,1, 0.82405462184874,0.72220113851992,0,1) 0.2403168345584678 0.5934638127871622 0 1 0 1 NURBS(1, 3, 0, 0, 0.6890756302521,0.85749525616698,0,1, 0.60346638655462,0.89127134724858,0,1) 0.117252377744616 0.526498553945945 0 1 0 1 NURBS(1, 3, 0, 0, 0.3967962184874,0.89127134724858,0,1, 0.31144957983193,0.85787476280835,0,1) 0.06835510383602939 0.3431653641749883 0 1 0 1 NURBS(1, 3, 0, 0, 0.17594537815126,0.72371916508539,0,1, 0.14206932773109,0.63187855787476,0,1) 0.1194003200093314 0.1356994113121999 0 1 0 1 NURBS(1, 3, 0, 0, 0.14206932773109,0.36982922201139,0,1, 0.17725840336134,0.26603415559772,0,1) 0.1194003200093314 0.1356994113121999 0.02868134671123594 0.5021130917641439 0.1135882409400955 0.6218924604084333 0 1 0 1 NURBS(1, 3, 0, 0, 0.09952731092437,0.83017077798861,0,1, 0.15835084033613,0.89013282732448,0,1) 0.2406958831934179 0.6658621020626642 0 1 0 1 NURBS(1, 3, 0, 0, 0.31381302521008,0.97798861480076,0,1, 0.40178571428571,1,0,1) 0.3628758931923846 0.6261883449378659 0 1 0 1 NURBS(1, 3, 0, 0, 0.59112394957983,1,0,1, 0.67568277310924,0.98007590132827,0,1) 0.4501834287759266 0.509188666283213 0 1 0 1 NURBS(1, 3, 0, 0, 0.83245798319328,0.90056925996205,0,1, 0.89285714285714,0.84193548387097,0,1) 0.4811390672968658 0.3340681969361843 0 1 0 1 NURBS(1, 3, 0, 0, 0.97846638655462,0.68728652751423,0,1, 1,0.59981024667932,0,1) 0.4518259728607117 0.1613483689438346 0 1 0 1 NURBS(1, 3, 0, 0, 1,0.40493358633776,0,1, 0.97951680672269,0.31859582542695,0,1) 0.3666663795418852 0.04257979665941466 0 1 0 1 NURBS(1, 3, 0, 0, 0.89863445378151,0.16603415559772,0,1, 0.83954831932773,0.10664136622391,0,1) 0.2406958831934179 0 0 1 0 1 NURBS(1, 3, 0, 0, 0.6843487394958,0.021442125237192,0,1, 0.59716386554622,0,0,1) 0.06721795793117921 0.09071897329809818 0 1 0 1 NURBS(1, 3, 0, 0, 0.35320378151261,0,0,1, 0.23293067226891,0.045540796963947,0,1) 0 0.3415228200902041 0 1 0 1 NURBS(1, 3, 0, 0, 0.046481092436974,0.226944971537,0,1, 0,0.35256166982922,0,1) 0.02868134671123594 0.5021130917641439 0 1 0 1 NURBS(1, 3, 0, 0, 0,0.5977229601518,0,1, 0.01969537815126,0.67817836812144,0,1)
+4.325842006552052 1.467676314527476 0.4034340971320827 0.6658621020626642 0.2017170485660414 0.3329310510313321 0.001666666666666667 1 0 1 #231f20
+0.3818283249399175 0.3819546744849037 0.3143576679187665 0.3163792606385015 0 1 0 1 NURBS(1, 3, 0, 0, 0.91042906357657,0.53396584440228,0,1, 0.85468211713122,0.5011385199241,0,1) 0.1995059315288306 0.2754420080638698 0 1 0 1 NURBS(1, 3, 0, 0, 0.72784215471344,0.45768500948767,0,1, 0.63294707171939,0.43719165085389,0,1) 0.09602565418740551 0.2295771232348852 0 1 0 1 NURBS(1, 3, 0, 0, 0.35609145004698,0.39032258064516,0,1, 0.27059191982462,0.3673624288425,0,1) 0.07555702790008854 0.1725934784473617 0 1 0 1 NURBS(1, 3, 0, 0, 0.20419668023802,0.32258064516129,0,1, 0.18728468524898,0.29392789373814,0,1) 0.104112025066343 0.104364724156311 0 1 0 1 NURBS(1, 3, 0, 0, 0.18728468524898,0.21916508538899,0,1, 0.21108675227059,0.18519924098672,0,1) 0.1950836974544131 0.07606242608002124 0 1 0 1 NURBS(1, 3, 0, 0, 0.30535546507986,0.12846299810247,0,1, 0.38051988725337,0.11423149905123,0,1) 0.2854236221175612 0.1070180646009661 0 1 0 1 NURBS(1, 3, 0, 0, 0.58221108675227,0.11423149905123,0,1, 0.65706232383339,0.12979127134725,0,1) 0.3139786192838157 0.1581896303192541 0 1 0 1 NURBS(1, 3, 0, 0, 0.73943000313185,0.18026565464896,0,1, 0.76291888506107,0.20588235294118,0,1) 0.3765216440506149 0.1258441468034943 0.3618650968325349 0.09084532284308622 0 1 0 1 NURBS(1, 3, 0, 0, 0.92358283745694,0.17058823529412,0,1, 0.91168180394613,0.15313092979127,0,1) 0.2940153911764371 0.02312196673196695 0 1 0 1 NURBS(1, 3, 0, 0, 0.85812715314751,0.091650853889943,0,1, 0.80206702160977,0.057685009487666,0,1) 0.192051308374811 0 0 1 0 1 NURBS(1, 3, 0, 0, 0.65549639837144,0.011574952561669,0,1, 0.57124960851863,0,0,1) 0.09691010100229063 0.02211117037209946 0 1 0 1 NURBS(1, 3, 0, 0, 0.38928906984027,0,0,1, 0.31067961165049,0.011195445920304,0,1) 0.03184008533582372 0.08654943831364687 0 1 0 1 NURBS(1, 3, 0, 0, 0.16943313498277,0.055218216318785,0,1, 0.11556529909176,0.087476280834914,0,1) 0.009476215873756964 0.1777738097916838 0 1 0 1 NURBS(1, 3, 0, 0, 0.041966802380206,0.17248576850095,0,1, 0.02348888192922,0.21821631878558,0,1) 0.02767055035137058 0.2581321204011444 0 1 0 1 NURBS(1, 3, 0, 0, 0.02348888192922,0.31157495256167,0,1, 0.038521766363921,0.35180265654649,0,1) 0.08301165105411214 0.3181481542682738 0 1 0 1 NURBS(1, 3, 0, 0, 0.098653304102725,0.42352941176471,0,1, 0.14406514249922,0.45370018975332,0,1) 0.1833331897709516 0.3583273095730041 0 1 0 1 NURBS(1, 3, 0, 0, 0.25336673974319,0.49677419354839,0,1, 0.33604760413404,0.5168880455408,0,1) 0.2758210566988207 0.3897883462738743 0 1 0 1 NURBS(1, 3, 0, 0, 0.57250234888819,0.5595825426945,0,1, 0.64891951143126,0.57533206831119,0,1) 0.3226967378876711 0.4276932097689002 0 1 0 1 NURBS(1, 3, 0, 0, 0.73692452239273,0.60075901328273,0,1, 0.77575947384905,0.61973434535104,0,1) 0.3374796346507348 0.4805073195719725 0 1 0 1 NURBS(1, 3, 0, 0, 0.82430316316943,0.66489563567362,0,1, 0.83651738177263,0.69127134724858,0,1) 0.3226967378876711 0.5355957211847491 0 1 0 1 NURBS(1, 3, 0, 0, 0.83651738177263,0.75142314990512,0,1, 0.82430316316943,0.77912713472486,0,1) 0.2778426494185581 0.5752694783095473 0 1 0 1 NURBS(1, 3, 0, 0, 0.77575947384905,0.82960151802657,0,1, 0.73849044785468,0.84952561669829,0,1) 0.208224050132686 0.5897996759826429 0 1 0 1 NURBS(1, 3, 0, 0, 0.6385844033824,0.87855787476281,0,1, 0.58095834638271,0.88576850094877,0,1) 0.12824478815818 0.5707208946901453 0 1 0 1 NURBS(1, 3, 0, 0, 0.4428437206389,0.88576850094877,0,1, 0.37676166614469,0.87609108159393,0,1) 0.07568337744507211 0.5205601253317215 0 1 0 1 NURBS(1, 3, 0, 0, 0.25869088631381,0.83795066413662,0,1, 0.21547134356405,0.81290322580645,0,1) 0.06241667522181157 0.4870774959111162 0 1 0 1 NURBS(1, 3, 0, 0, 0.17413091136862,0.76717267552182,0,1, 0.16348261822737,0.75028462998102,0,1) 0 0.519296629881888 0.01819433447761321 0.5641507183510016 0 1 0 1 NURBS(1, 3, 0, 0, 0.011274663326025,0.8034155597723,0,1, 0.026307547760727,0.82599620493359,0,1) 0.09311961465278704 0.6404658435209922 0 1 0 1 NURBS(1, 3, 0, 0, 0.090197306608205,0.89829222011385,0,1, 0.15220795490135,0.93643263757116,0,1) 0.2111300896673045 0.6658621020626642 0 1 0 1 NURBS(1, 3, 0, 0, 0.30942687128093,0.98728652751423,0,1, 0.40714062010648,1,0,1) 0.311451628384148 0.6405921930659803 0 1 0 1 NURBS(1, 3, 0, 0, 0.61603507673035,1,0,1, 0.6987159411212,0.98728652751423,0,1) 0.3796803826752006 0.5700891469652252 0 1 0 1 NURBS(1, 3, 0, 0, 0.84528656435954,0.93681214421252,0,1, 0.90165988098967,0.90151802656546,0,1) 0.4034340971320827 0.4734317450529034 0 1 0 1 NURBS(1, 3, 0, 0, 0.98058252427184,0.81062618595825,0,1, 1,0.76223908918406,0,1) 0.3818283249399175 0.3819546744849037 0 1 0 1 NURBS(1, 3, 0, 0, 1,0.65920303605313,0,1, 0.98214844973379,0.6134724857685,0,1)
+
+
+
+
+Legend item
+
+
+
+ #ffffff 1
+
+
+
+
+
+
+
+
+
+ 4 0
+
+
+
+
+
+
+
+
+
+
+
+ 0.19685039 0 0 0 2 1 0 Adjust Corner Rounding
+ 0.7874015748031497 1.181102362204725 0 0 0 0
+ 0.7874015748031497 0 0 0 0 0
+ 0 0.5905511811023623 0 0 0 0
+ 1.574803149606299 0.5905511811023623 0 0 0 0
+ 0.7874015748031497 0.5905511811023623 0 0 0 0
+ 0 0 0 0 0
+
+ 0
+ 0 0
+ 2 1
+ 0
+
+
+ 0 0 0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Legend text ( )
+
+
+
+
+
+
+
+
+ 0
+
+
+ 1.5707963267949
+
+
+
+
+
+
+
+
+
+Legend text ( )
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+
+
+
+ 10
+
+
+
+
+ 1
+ 0
+
+ 0 0 0 0
+ 4 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ non-legend descriptive text " "
+
+
+
+
+
+
+ 10
+
+
+
+ 1
+ 0
+
+ 4 0
+
+
+
+
+
+
+
+cbox
+
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 0 1
+ 0.4556939945017345 0 0 0 0 0 0.911387989003469 0.09113879890034685 0 0 0 0 0.4556939945017345 0.1822775978006937 0 0 0 0 0 0.09113879890034685 0 0 0 0 0.4556939945017345 0.09113879890034685 0 0 0 0
+ 0 0 0 -1 0 0 1
+
+ 0.02777777777777778 0.02777777777777778 0.02777777777777778 0.02777777777777778 1 0 0.5905511811023622 0 0
+ 0 0 0 0 0 0 0.911387989003469 0 0.911387989003469 0.1822775978006937 0 0.1822775978006937 0 0
+ 4 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.4
+
+
+
+
+ 0 1 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ 16
+ 0 1
+
+
+ 1
+
+ 40
+ 40
+ 0 1
+
+
+
+
+
+
+
+
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+ 5
+ 12
+ 12
+ 6
+ 9
+ 8
+ 18
+ 12
+ 5.5
+ 36
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 2
+
+
+ 0 0 0 -1 0 0
+
+
+ 0
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ 12
+ 12
+ 6
+ 9
+ 8
+ 18
+ 12
+ 5.5
+ 36
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 -1 0 0
+
+
+ 0
+ 2
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+ 5
+ 12
+ 12
+ 6
+ 9
+ 8
+ 18
+ 12
+ 5.5
+ 36
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.25
+ 0.25
+ 0.25
+ 0.25
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 2
+ 8
+ 7
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/validate-raw.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/validate-raw.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,176 @@
+
+
+
+
+
+ERROR: Invalid root element:
+
+
+
+ERROR: Invalid element:
+
+
+
+
+
+
+
+NOTE: unexpected attribute " " on < >
+
+
+
+
+ERROR: unexepected text:
+
+
+
+
+
+Note: missing System Model name
+
+
+ERROR: duplicate name for " " ( )
+
+
+
+collection
+package
+layer
+
+
+
+
+
+
+Note: Level names used:
+
+
+ component
+
+
+
+
+
+
+
+Note: Extra attributes:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ERROR: unsupported syntax:
+
+
+
+
+
+
+WARNING: invalid attribute " " on < >
+
+
+
+
+
+
+
+ERROR: < name=" "> cannot be a child of < >
+
+
+
+
+
+ERROR: Invalid level name " " on " " ( )
+
+
+
+
+
+
+ERROR: Invalid level name " " on " " ( )
+
+
+
+ERROR: Invalid level name " " on " " ( )
+
+
+
+
+
+
+
+
+WARNING: invalid value " " on < name=" ">
+
+
+
+
+ERROR: using 1.x syntax element: < >
+
+
+
+WARNING: using 1.x syntax attribute: < =" ">
+
+
+
+
+ERROR: attribute " " on < > must not be empty
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+WARINING: path separator must be "\" for =" "
+
+
+
+WARINING: path separator must be "/" for =" "
+
+
+
+
+
+
+
+
+
+
+WARNING: < > must be empty.
+
+
+
+WARNING: multiple units must have "version" or "filter" attributes ( )
+
+ERROR: using 1.x syntax element: < >
+
+
+
+
+
+[ ]
+ /
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/extra/validate.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/extra/validate.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/group/build.xml
--- a/sysmodellibs/sysmodelgen/group/build.xml Thu Oct 21 16:36:53 2010 +0300
+++ b/sysmodellibs/sysmodelgen/group/build.xml Sat Nov 06 16:59:14 2010 +0200
@@ -19,13 +19,15 @@
-
+
-
+
-
+
+
+
@@ -47,31 +49,36 @@
-
+
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -97,27 +104,23 @@
${prop.dist.contents}
-
-
- ${prop.dist.contents.common}
-
-
-
- ${prop.dist.contents.documentation}
+
+
+ ${prop.dist.contents.core}
-
-
- ${prop.dist.contents.svg}
+
+
+ ${prop.dist.contents.src}
-
-
- ${prop.dist.contents.auxiliary}
+
+
+ ${prop.dist.contents.extra}
-
+
${prop.dist.contents.Xalan}
-
+
${prop.dist.contents.xsd}
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/installer/SystemModelToolkit.nsi
--- a/sysmodellibs/sysmodelgen/installer/SystemModelToolkit.nsi Thu Oct 21 16:36:53 2010 +0300
+++ b/sysmodellibs/sysmodelgen/installer/SystemModelToolkit.nsi Sat Nov 06 16:59:14 2010 +0200
@@ -2,8 +2,8 @@
; Script generated by the HM NIS Edit Script Wizard.
; HM NIS Edit Wizard helper defines
-!define PRODUCT_NAME "SystemModelToolkit"
-!define PRODUCT_VERSION "1.1.8"
+!define PRODUCT_NAME "SystemModelGenerator"
+!define PRODUCT_VERSION "2.0.0"
!define PRODUCT_PUBLISHER "Symbian Software Ltd"
!define PRODUCT_WEB_SITE "http://www.symbian.com"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
@@ -18,7 +18,7 @@
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall-full.ico"
; Welcome page
-!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of SystemModelToolkit 1.1\n\nClick Next to continue..."
+!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of SystemModelGenerator 2.0\n\nClick Next to continue..."
!insertmacro MUI_PAGE_WELCOME
; License page
!define MUI_LICENSEPAGE_CHECKBOX
@@ -39,8 +39,8 @@
; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
-OutFile "SystemModelToolkitInstaller.exe"
-InstallDir "D:\SystemModelToolkit"
+OutFile "SystemModelGeneratorInstaller.exe"
+InstallDir "C:\Apps\SystemModelGenerator"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show
@@ -51,58 +51,103 @@
SetOutPath "$INSTDIR"
SetOverwrite try
- File "..\src\svg\DrawSvg.pl"
- File "..\src\svg\distribution.policy"
+ File "..\SysModGen.pl"
- SetOutPath "$INSTDIR\svg"
+ SetOutPath "$INSTDIR\src\old\svg"
SetOverwrite try
- File "..\src\svg\Model.xsl"
- File "..\src\svg\Draw.xsl"
- File "..\src\svg\Legend.xsl"
- File "..\src\svg\DrawSvg.pm"
- File "..\src\svg\ModelTemplate.xml"
- File "..\src\svg\ModelTemplate.older.xml"
- File "..\src\svg\Overlay.xsl"
- File "..\src\svg\Postprocess.xsl"
- File "..\src\svg\Shapes.xsl"
+ File "..\src\old\svg\Draw.xsl"
+ File "..\src\old\svg\DrawSvg.pl"
+ File "..\src\old\svg\DrawSvg.pm"
+ File "..\src\old\svg\Legend.xsl"
+ File "..\src\old\svg\Model.xsl"
+ File "..\src\old\svg\ModelTemplate.mid.xml"
+ File "..\src\old\svg\ModelTemplate.older.xml"
+ File "..\src\old\svg\ModelTemplate.xml"
+ File "..\src\old\svg\output-csv.xsl"
+ File "..\src\old\svg\output-sysdef.xsl"
+ File "..\src\old\svg\Overlay.xsl"
+ File "..\src\old\svg\Postprocess.xsl"
+ File "..\src\old\svg\Shapes.xsl"
+ File "..\src\old\svg\sysdefdowngrade.xsl"
+ File "..\src\old\svg\validate-raw.xsl"
+ File "..\src\old\svg\validate.xsl"
+
+ SetOutPath "$INSTDIR\src\old\resources\auxiliary"
+ SetOverwrite try
+ File "..\src\old\resources\auxiliary\display-names.xml"
+ File "..\src\old\resources\auxiliary\Example-shapes.xml"
+ File "..\src\old\resources\auxiliary\Levels.xml"
+ File "..\src\old\resources\auxiliary\Levels91.xml"
+ File "..\src\old\resources\auxiliary\Shapes.xml"
+ File "..\src\old\resources\auxiliary\system_model_colors.xml"
+ File "..\src\old\resources\auxiliary\SystemInfo.xml"
- SetOutPath "$INSTDIR\common"
+ SetOutPath "$INSTDIR\src\old\resources\xsd"
SetOverwrite try
- File "..\src\common\DepConstants.pm"
- File "..\src\common\Logger.pm"
- File "..\src\common\LogItem.pm"
- File "..\src\common\distribution.policy"
+ File "..\src\old\resources\xsd\Border-shapes.xsd"
+ File "..\src\old\resources\xsd\Border-styles.xsd"
+ File "..\src\old\resources\xsd\Colours.xsd"
+ File "..\src\old\resources\xsd\Levels.xsd"
+ File "..\src\old\resources\xsd\Localisation.xsd"
+ File "..\src\old\resources\xsd\Patterns.xsd"
+ File "..\src\old\resources\xsd\Shapes.xsd"
- SetOutPath "$INSTDIR\resources\installed\Xalan"
+
+ SetOutPath "$INSTDIR\src"
SetOverwrite try
- File "..\resources\installed\Xalan\DISTRIBUTION.POLICY"
- File "..\resources\installed\Xalan\Xalan-C_1_8.dll"
- File "..\resources\installed\Xalan\Xalan.exe"
- File "..\resources\installed\Xalan\XalanMessages_1_8.dll"
- File "..\resources\installed\Xalan\xerces-c_2_5_0.dll"
+ File "..\src\Logger.pm"
+ File "..\src\LogItem.pm"
+ File "..\src\SysModelGen.pm"
- SetOutPath "$INSTDIR\resources\auxiliary"
+
+ SetOutPath "$INSTDIR\core"
SetOverwrite try
- File "..\resources\auxiliary\DISTRIBUTION.POLICY"
- File "..\resources\auxiliary\system_model_colors.xml"
- File "..\resources\auxiliary\display-names.xml"
- File "..\resources\auxiliary\Levels.xml"
- File "..\resources\auxiliary\Levels91.xml"
- File "..\resources\auxiliary\Shapes.xml"
- File "..\resources\auxiliary\Example-shapes.xml"
- File "..\resources\auxiliary\SystemInfo.xml"
+ File "..\core\draw-model.xsl"
+ File "..\core\draw.xsl"
+ File "..\core\filtersysdef-module.xsl"
+ File "..\core\joinmodel.xsl"
+ File "..\core\joinsysdef-module.xsl"
+ File "..\core\joinsysdef.xsl"
+ File "..\core\layout-module.xsl"
+ File "..\core\layoutsysdef.xsl"
+ File "..\core\legend-module.xsl"
+ File "..\core\legend.xsl"
+ File "..\core\mergesysdef-module.xsl"
+ File "..\core\mergesysdef.xsl"
+ File "..\core\overlay-module.xsl"
+ File "..\core\shapes.xsl"
- SetOutPath "$INSTDIR\docs"
+ SetOutPath "$INSTDIR\extra"
SetOverwrite try
- File "..\docs\Building the System Model.doc"
- File "..\docs\Customising the System Model Presentation.doc"
- File "..\docs\distribution.policy"
- File "..\docs\dep.css"
- File "..\docs\guide.css"
- File "..\docs\sample_drawsvg.ini"
- File "..\docs\SystemModelToolkitInstaller_main.jpg"
- File "..\docs\user_guide_system_model_toolkit.html"
+ File "..\extra\css-module.xsl"
+ File "..\extra\css2xml.xsl"
+ File "..\extra\dependencies.xsl"
+ File "..\extra\makeabbrev.xsl"
+ File "..\extra\output-csv.xsl"
+ File "..\extra\output-sysdef.xsl"
+ File "..\extra\postprocess.xsl"
+ File "..\extra\tovisio.xsl"
+ File "..\extra\validate-raw.xsl"
+ File "..\extra\validate.xsl"
+ File "..\extra\sample_config.ini"
+
+ SetOutPath "$INSTDIR\rsc\installed\Xalan"
+ SetOverwrite try
+ File "..\rsc\installed\Xalan\Xalan-C_1_8.dll"
+ File "..\rsc\installed\Xalan\Xalan.exe"
+ File "..\rsc\installed\Xalan\XalanMessages_1_8.dll"
+ File "..\rsc\installed\Xalan\xerces-c_2_5_0.dll"
+
+ SetOutPath "$INSTDIR\rsc"
+ SetOverwrite try
+ File "..\rsc\dictionary.xml"
+ File "..\rsc\fshapes.xml"
+ File "..\rsc\ModelTemplate.94.xml"
+ File "..\rsc\ModelTemplate.95.xml"
+ File "..\rsc\ModelTemplate.older.xml"
+ File "..\rsc\ModelTemplate.xml"
+ File "..\rsc\shapes.xml"
SectionEnd
@@ -134,50 +179,86 @@
Section Uninstall
Delete "$INSTDIR\uninst.exe"
- Delete "$INSTDIR\DrawSvg.pl"
- Delete "$INSTDIR\distribution.policy"
- Delete "$INSTDIR\svg\Draw.xsl"
- Delete "$INSTDIR\svg\Legend.xsl"
- Delete "$INSTDIR\svg\DrawSvg.pm"
- Delete "$INSTDIR\svg\Model.xsl"
- Delete "$INSTDIR\svg\ModelTemplate.xml"
- Delete "$INSTDIR\svg\ModelTemplate.older.xml"
- Delete "$INSTDIR\svg\Overlay.xsl"
- Delete "$INSTDIR\svg\Postprocess.xsl"
- Delete "$INSTDIR\svg\Shapes.xsl"
- Delete "$INSTDIR\common\DepConstants.pm"
- Delete "$INSTDIR\common\Logger.pm"
- Delete "$INSTDIR\common\LogItem.pm"
- Delete "$INSTDIR\common\distribution.policy"
- Delete "$INSTDIR\resources\installed\Xalan\DISTRIBUTION.POLICY"
- Delete "$INSTDIR\resources\installed\Xalan\Xalan-C_1_8.dll"
- Delete "$INSTDIR\resources\installed\Xalan\Xalan.exe"
- Delete "$INSTDIR\resources\installed\Xalan\XalanMessages_1_8.dll"
- Delete "$INSTDIR\resources\installed\Xalan\xerces-c_2_5_0.dll"
- Delete "$INSTDIR\resources\auxiliary\DISTRIBUTION.POLICY"
- Delete "$INSTDIR\resources\auxiliary\system_model_colors.xml"
- Delete "$INSTDIR\resources\auxiliary\display-names.xml"
- Delete "$INSTDIR\resources\auxiliary\Levels.xml"
- Delete "$INSTDIR\resources\auxiliary\Levels91.xml"
- Delete "$INSTDIR\resources\auxiliary\Shapes.xml"
- Delete "$INSTDIR\resources\auxiliary\Example-shapes.xml"
- Delete "$INSTDIR\resources\auxiliary\SystemInfo.xml"
- Delete "$INSTDIR\docs\Building the System Model.doc"
- Delete "$INSTDIR\docs\Customising the System Model Presentation.doc"
- Delete "$INSTDIR\docs\distribution.policy"
- Delete "$INSTDIR\docs\dep.css"
- Delete "$INSTDIR\docs\guide.css"
- Delete "$INSTDIR\docs\sample_drawsvg.ini"
- Delete "$INSTDIR\docs\SystemModelToolkitInstaller_main.jpg"
- Delete "$INSTDIR\docs\user_guide_system_model_toolkit.html"
+ Delete "$INSTDIR\core\draw-model.xsl"
+ Delete "$INSTDIR\core\draw.xsl"
+ Delete "$INSTDIR\core\filtersysdef-module.xsl"
+ Delete "$INSTDIR\core\joinmodel.xsl"
+ Delete "$INSTDIR\core\joinsysdef-module.xsl"
+ Delete "$INSTDIR\core\joinsysdef.xsl"
+ Delete "$INSTDIR\core\layout-module.xsl"
+ Delete "$INSTDIR\core\layoutsysdef.xsl"
+ Delete "$INSTDIR\core\legend-module.xsl"
+ Delete "$INSTDIR\core\legend.xsl"
+ Delete "$INSTDIR\core\mergesysdef-module.xsl"
+ Delete "$INSTDIR\core\mergesysdef.xsl"
+ Delete "$INSTDIR\core\overlay-module.xsl"
+ Delete "$INSTDIR\core\shapes.xsl"
+ Delete "$INSTDIR\extra\css-module.xsl"
+ Delete "$INSTDIR\extra\css2xml.xsl"
+ Delete "$INSTDIR\extra\dependencies.xsl"
+ Delete "$INSTDIR\extra\makeabbrev.xsl"
+ Delete "$INSTDIR\extra\output-csv.xsl"
+ Delete "$INSTDIR\extra\output-sysdef.xsl"
+ Delete "$INSTDIR\extra\postprocess.xsl"
+ Delete "$INSTDIR\extra\sample_config.ini"
+ Delete "$INSTDIR\extra\tovisio.xsl"
+ Delete "$INSTDIR\extra\validate-raw.xsl"
+ Delete "$INSTDIR\extra\validate.xsl"
+ Delete "$INSTDIR\rsc\dictionary.xml"
+ Delete "$INSTDIR\rsc\fshapes.xml"
+ Delete "$INSTDIR\rsc\installed\Xalan\Xalan-C_1_8.dll"
+ Delete "$INSTDIR\rsc\installed\Xalan\Xalan.exe"
+ Delete "$INSTDIR\rsc\installed\Xalan\XalanMessages_1_8.dll"
+ Delete "$INSTDIR\rsc\installed\Xalan\xerces-c_2_5_0.dll"
+ Delete "$INSTDIR\rsc\ModelTemplate.94.xml"
+ Delete "$INSTDIR\rsc\ModelTemplate.95.xml"
+ Delete "$INSTDIR\rsc\ModelTemplate.older.xml"
+ Delete "$INSTDIR\rsc\ModelTemplate.xml"
+ Delete "$INSTDIR\rsc\shapes.xml"
+ Delete "$INSTDIR\src\old\resources\auxiliary\display-names.xml"
+ Delete "$INSTDIR\src\old\resources\auxiliary\Example-shapes.xml"
+ Delete "$INSTDIR\src\old\resources\auxiliary\Levels.xml"
+ Delete "$INSTDIR\src\old\resources\auxiliary\Levels91.xml"
+ Delete "$INSTDIR\src\old\resources\auxiliary\Shapes.xml"
+ Delete "$INSTDIR\src\old\resources\auxiliary\system_model_colors.xml"
+ Delete "$INSTDIR\src\old\resources\auxiliary\SystemInfo.xml"
+ Delete "$INSTDIR\src\old\resources\xsd\Border-shapes.xsd"
+ Delete "$INSTDIR\src\old\resources\xsd\Border-styles.xsd"
+ Delete "$INSTDIR\src\old\resources\xsd\Colours.xsd"
+ Delete "$INSTDIR\src\old\resources\xsd\Levels.xsd"
+ Delete "$INSTDIR\src\old\resources\xsd\Localisation.xsd"
+ Delete "$INSTDIR\src\old\resources\xsd\Patterns.xsd"
+ Delete "$INSTDIR\src\old\resources\xsd\Shapes.xsd"
+ Delete "$INSTDIR\src\old\svg\Draw.xsl"
+ Delete "$INSTDIR\src\old\svg\DrawSvg.pl"
+ Delete "$INSTDIR\src\old\svg\DrawSvg.pm"
+ Delete "$INSTDIR\src\old\svg\Legend.xsl"
+ Delete "$INSTDIR\src\old\svg\Model.xsl"
+ Delete "$INSTDIR\src\old\svg\ModelTemplate.mid.xml"
+ Delete "$INSTDIR\src\old\svg\ModelTemplate.older.xml"
+ Delete "$INSTDIR\src\old\svg\ModelTemplate.xml"
+ Delete "$INSTDIR\src\old\svg\output-csv.xsl"
+ Delete "$INSTDIR\src\old\svg\output-sysdef.xsl"
+ Delete "$INSTDIR\src\old\svg\Overlay.xsl"
+ Delete "$INSTDIR\src\old\svg\Postprocess.xsl"
+ Delete "$INSTDIR\src\old\svg\Shapes.xsl"
+ Delete "$INSTDIR\src\old\svg\sysdefdowngrade.xsl"
+ Delete "$INSTDIR\src\old\svg\validate-raw.xsl"
+ Delete "$INSTDIR\src\old\svg\validate.xsl"
+ Delete "$INSTDIR\src\Logger.pm"
+ Delete "$INSTDIR\src\LogItem.pm"
+ Delete "$INSTDIR\src\SysModelGen.pm"
+ Delete "$INSTDIR\SysModGen.pl"
- RMDir "$INSTDIR\svg"
+ RMDir "$INSTDIR\src\old\svg"
RMDir "$INSTDIR\common"
- RMDir "$INSTDIR\resources\installed\Xalan"
- RMDir "$INSTDIR\resources\installed"
- RMDir "$INSTDIR\resources\auxiliary"
- RMDir "$INSTDIR\resources"
- RMDir "$INSTDIR\docs"
+ RMDir "$INSTDIR\src\old\resources\installed\Xalan"
+ RMDir "$INSTDIR\src\old\resources\installed"
+ RMDir "$INSTDIR\src\old\resources\auxiliary"
+ RMDir "$INSTDIR\src\old\resources"
+ RMDir "$INSTDIR\core"
+ RMDir "$INSTDIR\extra"
+ RMDir "$INSTDIR\rsc"
RMDir "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/auxiliary/Example-shapes.xml
--- a/sysmodellibs/sysmodelgen/resources/auxiliary/Example-shapes.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Plug-in
- Reference
- New {@ver}
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/auxiliary/Levels.xml
--- a/sysmodellibs/sysmodelgen/resources/auxiliary/Levels.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/auxiliary/Levels91.xml
--- a/sysmodellibs/sysmodelgen/resources/auxiliary/Levels91.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/auxiliary/Shapes.xml
--- a/sysmodellibs/sysmodelgen/resources/auxiliary/Shapes.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/auxiliary/SystemInfo.xml
--- a/sysmodellibs/sysmodelgen/resources/auxiliary/SystemInfo.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Programming Support/Java J2ME/Bluetooth and SMS Push
-
-
- Programming Support/Java J2ME/Bluetooth and SMS Push
-
-
-
-
- Programming Support/Java J2ME/MIDP 2.0 Packages
-
-
-
-
-
- Programming Support/Java J2ME/MIDP 2.0 Packages
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/auxiliary/display-names.xml
--- a/sysmodellibs/sysmodelgen/resources/auxiliary/display-names.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/auxiliary/system_model_colors.xml
--- a/sysmodellibs/sysmodelgen/resources/auxiliary/system_model_colors.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,806 +0,0 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- -
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/installed/Xalan/Xalan-C_1_8.dll
Binary file sysmodellibs/sysmodelgen/resources/installed/Xalan/Xalan-C_1_8.dll has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/installed/Xalan/Xalan.exe
Binary file sysmodellibs/sysmodelgen/resources/installed/Xalan/Xalan.exe has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/installed/Xalan/XalanMessages_1_8.dll
Binary file sysmodellibs/sysmodelgen/resources/installed/Xalan/XalanMessages_1_8.dll has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/installed/Xalan/xerces-c_2_5_0.dll
Binary file sysmodellibs/sysmodelgen/resources/installed/Xalan/xerces-c_2_5_0.dll has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/xsd/Border-shapes.xsd
--- a/sysmodellibs/sysmodelgen/resources/xsd/Border-shapes.xsd Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The regular expression on the "value" attribute is as follows: 1) one of the special keywords as specified or 2) "#" followed by one or more characters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/xsd/Border-styles.xsd
--- a/sysmodellibs/sysmodelgen/resources/xsd/Border-styles.xsd Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/xsd/Colours.xsd
--- a/sysmodellibs/sysmodelgen/resources/xsd/Colours.xsd Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The regular expression in the constraint of
- the "value" attribute is: 1) a valid rgb() expression or 2) a
- valid hex number or 3) a valid alpha expression or 4) a three
- digit hex triple or 5) a valid %rgb() expression.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/xsd/Levels.xsd
--- a/sysmodellibs/sysmodelgen/resources/xsd/Levels.xsd Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/xsd/Localisation.xsd
--- a/sysmodellibs/sysmodelgen/resources/xsd/Localisation.xsd Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/xsd/Patterns.xsd
--- a/sysmodellibs/sysmodelgen/resources/xsd/Patterns.xsd Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The regular expression on the "value" attribute is as follows: 1) one of the special keywords as specified or 2) "#" followed by one or more characters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/resources/xsd/Shapes.xsd
--- a/sysmodellibs/sysmodelgen/resources/xsd/Shapes.xsd Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,389 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The regular expression on the
- "type"
- attribute is as follows: 1)
- one of the special keywords as
- specified or 2) "#" followed by
- one or more character
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The regular expression on the
- "type"
- attribute is as follows: 1)
- one of the special keywords as
- specified
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The regular expression in the constraint
- of
- the "value" attribute is: 1) a valid rgb() expression or
- 2) a
- valid hex number or 3) a valid alpha expression or 4)
- a
- three
- digit hex triple or 5) a valid %rgb() expression.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The regular expression in the constraint of
- the "value" attribute is: 1) a valid rgb() expression or 2) a
- valid hex number or 3) a valid alpha expression or 4) a three
- digit hex triple or 5) a valid %rgb() expression.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/ModelTemplate.94.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/rsc/ModelTemplate.94.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/ModelTemplate.95.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/rsc/ModelTemplate.95.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/ModelTemplate.older.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/rsc/ModelTemplate.older.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/ModelTemplate.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/rsc/ModelTemplate.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/dictionary.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/rsc/dictionary.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/fshapes.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/rsc/fshapes.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,56 @@
+
+
+
+
+ svg.package-fixed text.lgd, svg.package text.lgd,
+ svg.package-fixed text.layer, svg.package text.layer
+ svg.package text.package, svg.package-fixed text.package {
+ font-size: 17px;
+ font-weight: normal
+ }
+ #legend-box text.lgd {font-size: 4.233px}
+
+ svg.collection-fixed text.lgd, svg.collection text.lgd,
+ svg.collection-fixed text.layer, svg.collection text.layer {
+ font-size: 12px;
+ font-weight: normal
+ }
+ svg.collection-fixed text.package {
+ font-size: 6px;
+ font-weight: normal;
+ }
+ svg.collection-fixed #legend-box g.component use {stroke-width: 0.0882px;}
+
+ text.title:lang(jp) {letter-spacing: -0.15}
+ #legend-box text.lgd:lang(zh) {
+ font-size: 3.5px!important;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/installed/Xalan/Xalan-C_1_8.dll
Binary file sysmodellibs/sysmodelgen/rsc/installed/Xalan/Xalan-C_1_8.dll has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/installed/Xalan/Xalan.exe
Binary file sysmodellibs/sysmodelgen/rsc/installed/Xalan/Xalan.exe has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/installed/Xalan/XalanMessages_1_8.dll
Binary file sysmodellibs/sysmodelgen/rsc/installed/Xalan/XalanMessages_1_8.dll has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/installed/Xalan/xerces-c_2_5_0.dll
Binary file sysmodellibs/sysmodelgen/rsc/installed/Xalan/xerces-c_2_5_0.dll has changed
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/rsc/shapes.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/rsc/shapes.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/LogItem.pm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/LogItem.pm Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,108 @@
+# Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+package LogItem;
+
+use FindBin;
+use lib $FindBin::Bin;
+use strict;
+
+use constant ERROR => 1;
+use constant WARNING => 2;
+use constant INFO => 3;
+use constant VERBOSE => 4;
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: new
+# Purpose: Constructor
+# Input: None (extracted from command line args)
+# Output: A reference to itself
+#-------------------------------------------------------------------------------------------------
+sub new()
+ {
+ my $package = shift;
+ my $self = {}; # Create reference to object
+ bless $self, $package; # Associate a reference with class name
+ my %parameters = @_;
+ $self->{iMessage} = $parameters{'msg'} ? $parameters{'msg'} : "";
+ $self->{iCode} = $parameters{'code'} ? $parameters{'code'} : 0;
+ $self->{iModule} = $parameters{'module'} ? $parameters{'module'} : 0;
+ $self->{iSeverity} = $parameters{'severity'} ? $parameters{'severity'} : 3; # default is INFO
+ $self->{iDepth} = $parameters{'depth'} ? $parameters{'depth'} : 0;
+
+ $self->{iCode} = 0;
+
+ $self->{iDate} = scalar(localtime);
+ return $self;
+ }
+
+sub Message()
+ {
+ my $self = shift;
+ $self->{iMessage} = $_[0] if $_[0];
+ return $self->{iMessage};
+ }
+
+sub Module()
+ {
+ my $self = shift;
+ $self->{iModule} = $_[0] if $_[0];
+ return $self->{iModule};
+ }
+
+sub Severity()
+ {
+ my $self = shift;
+ $self->{iSeverity} = $_[0] if $_[0];
+ return $self->{iSeverity};
+ }
+
+sub Depth()
+ {
+ my $self = shift;
+ $self->{iDepth} = $_[0] if $_[0];
+ return $self->{iDepth};
+ }
+
+sub Date()
+ {
+ my $self = shift;
+ $self->{iDate} = $_[0] if $_[0];
+ return $self->{iDate};
+ }
+
+sub Code()
+ {
+ my $self = shift;
+ $self->{iCode} = $_[0] if $_[0];
+ return $self->{iCode};
+ }
+
+sub LogText()
+ {
+ my $self = shift;
+ return $self->SeverityText()."(".$self->{iCode}.") [".$self->{iDate}."]: "." " x $self->{iDepth}.$self->{iMessage}."\n";
+ }
+
+sub SeverityText()
+ {
+ my $self = shift;
+ return " ERROR" if $self->Severity() == ERROR;
+ return "WARNING" if $self->Severity() == WARNING;
+ return "VERBOSE" if $self->Severity() == VERBOSE;
+ return " INFO";
+ }
+
+1;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/Logger.pm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/Logger.pm Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,209 @@
+# Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+package Logger;
+
+use FindBin;
+use lib $FindBin::Bin;
+
+use LogItem;
+
+
+# -------------------------------------------------------
+# ERROR & WARNING CODES
+# -------------------------------------------------------
+
+use constant KErrorNone => 0;
+
+use constant KIncorrectSyntax => 1;
+use constant KFileDoesNotExist => 2;
+use constant KCannotOpenFile => 3;
+use constant KBinaryDoesNotExist => 7;
+use constant KFailure => 9;
+use constant KNothingToDo => 10;
+use constant KUnknownError => 200;
+
+# System_Definition.xml error codes:
+use constant KSysDefNotFound => 31;
+use constant KInvalidSysDefXML => 32;
+use constant KConfigurationNotFound => 33;
+
+# Global statics:
+
+# This is expected to be set by the client code using $Logger::LOGFILE
+# If it's not defined, the logging is done to stdout
+$LOGFILE = "";
+
+$SEVERITY = LogItem::ERROR;
+
+# Forward declarations:
+sub Log($$$$);
+sub LogFatal($$$);
+sub LogError($$$);
+sub LogWarning($$$);
+sub LogInfo($$$);
+sub LogRaw($);
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: Log
+# Purpose: Logs to the screen
+# Input: Messsage, Module Code, Severity
+# Output: None
+#-------------------------------------------------------------------------------------------------
+sub Log($$$$)
+ {
+ my $message = $_[0];
+ my $callingModule = $_[1];
+ my $severity = $_[2] ? $_[2] : LogItem::INFO;
+ my $depth = $_[3] ? $_[3] : 0;
+
+ # log this only if its severity level is less than or equal to the user-defined level:
+ # -w1: errors only (default)
+ # -w2: warnings as well as errors
+ # -w3: info messages, warnings and errors.
+ return if $severity > $SEVERITY;
+
+ my $code = $callingModule;
+ my $logItem = new LogItem(msg => $message, code => $code, severity => $severity, depth => $depth);
+ &WriteToFile($logItem->LogText());
+ }
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: LogFatal
+# Purpose: Logs to the screen
+# Input: Message Module Code
+# Output: None
+#-------------------------------------------------------------------------------------------------
+sub LogFatal($$$)
+ {
+ my $message = $_[0];
+ my $callingModule = $_[1];
+ my $depth = $_[2] ? $_[2] : 0;
+ my $exitCode = $_[3] ? $_[3] : KFailure;
+ &Log("Fatal! ".$message, $callingModule, LogItem::ERROR, $depth);
+ exit $exitCode;
+ }
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: LogError
+# Purpose: Logs to the screen
+# Input: Message Module Code
+# Output: None
+#-------------------------------------------------------------------------------------------------
+sub LogError($$$)
+ {
+ my $message = $_[0];
+ my $callingModule = $_[1];
+ my $depth = $_[2] ? $_[2] : 0;
+ &Log($message, $callingModule, LogItem::ERROR, $depth);
+ }
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: LogWarning
+# Purpose: Logs to the screen
+# Input: Message Module Code
+# Output: None
+#-------------------------------------------------------------------------------------------------
+sub LogWarning($$$)
+ {
+ # first check the severity level:
+ return if $SEVERITY < LogItem::WARNING;
+
+ my $message = $_[0];
+ my $callingModule = $_[1];
+ my $depth = $_[2] ? $_[2] : 0;
+ &Log($message, $callingModule, LogItem::WARNING, $depth);
+ }
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: LogInfo
+# Purpose: Logs to the screen
+# Input: Message Module Code
+# Output: None
+#-------------------------------------------------------------------------------------------------
+sub LogInfo($$$)
+ {
+ # first check the severity level:
+ return if $SEVERITY < LogItem::INFO;
+
+ my $message = $_[0];
+ my $callingModule = $_[1];
+ my $depth = $_[2] ? $_[2] : 0;
+ &Log($message, $callingModule, LogItem::INFO, $depth);
+ }
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: LogRaw
+# Purpose: Logs a piece of raw text to the screen
+# Input: Messsage string
+# Output: None
+#-------------------------------------------------------------------------------------------------
+sub LogRaw($)
+ {
+ # only log raw text if the warning level is on info - i.e. the most verbose:
+ return if $SEVERITY < LogItem::INFO;
+ &WriteToFile($_[0]);
+ }
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: LogList
+# Purpose: Logs a list of log items
+# Input: array of logs starting with ERROR, WARNING or Note
+# Output: None
+#-------------------------------------------------------------------------------------------------
+sub LogList
+ {
+ foreach my $log (@_)
+ {
+ $log.="\n";
+ if($log=~s/^ERROR:\s*//)
+ {
+ &LogError($log,KUnknownError,1);
+ }
+ elsif($log=~s/^WARNING:\s*//)
+ {
+ &LogWarning($log,KUnknownError,1);
+ }
+ elsif($log=~s/^Note:\s*//)
+ {
+ &LogInfo($log,KUnknownError,1);
+ }
+ else
+ {
+ &LogRaw($log);
+ }
+ }
+ }
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: WriteToFile
+# Purpose:
+# Input: A message string
+# Output: None
+#-------------------------------------------------------------------------------------------------
+sub WriteToFile()
+ {
+ my $message = shift;
+ if ($LOGFILE ne "")
+ {
+ open(LOGFILE, ">> $LOGFILE") or die "Can't open the log file '$LOGFILE': $!";
+ print LOGFILE $message;
+ }
+ else
+ {
+ print $message; # print to stdout
+ }
+ }
+
+1;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/SysModelGen.pm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/SysModelGen.pm Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,1372 @@
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Package: SysModelGen
+# Build an SVG System Model diagram
+#
+#
+
+package SysModelGen;
+
+use Cwd;
+use Cwd 'abs_path';
+use File::Copy;
+use File::Path;
+use FindBin;
+use lib $FindBin::Bin."/../common";
+use Getopt::Long qw(:config no_ignore_case);
+use File::Basename;
+use File::Spec;
+use Logger;
+use Env qw(@PATH);
+use Env qw(@PATHEXT);
+use Env qw(@CLASSPATH);
+use strict;
+
+my @Filters;
+
+
+use constant KSystemModelGenerator => 201;
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: new
+# Purpose:
+# Input: None (extracted from command line args)
+# Output: A reference to itself
+#-------------------------------------------------------------------------------------------------
+sub new
+ {
+ my $package = shift;
+ my $self = {}; # Create reference to object
+ bless $self, $package; # Associate a reference with class name
+
+ my $dataroot =&SystemModelXmlDataDir();
+ my @yr = gmtime();
+ my %Args = (
+ 'iHelp' => {'param' => "h",
+ 'desc' => 'Help on usage'},
+ 'iIniFile' => { 'param' => "i=s", 'type'=>'file',
+ 'desc' => 'An INI file listing one argument per line, with the syntax: = . Command line arguments will override ini file settings.' },
+ 'iDiagram' => { 'param' => "output=s" , default=>"sysmodel.svg",'type'=>'outfile',
+ 'class' => 'Build Control', 'desc' => 'The name of the file to save the built System Model SVG. If in the format filename.svgz, it will attempt to compress the file. If compression is not supported, it will rename the output to filename.svg. Defaults to sysmodel.svg or sysmodel.svgz if -compress is set.'},
+ 'iOutputCsv' => { 'param' => "csv_output=s" , 'type'=>'outfile',
+ 'class' => 'Build Control', 'desc' => 'The name of the file to save a CSV description of the built System Model. Only items shown on the system model will be included.'},
+ 'iCsvColumns' => { 'param' => "csv_columns=s" , 'type'=>'outfile',
+ 'class' => 'Build Control', 'desc' => 'Comma-separated list of columns to include in the output CSV. This does nothing if -csv_output is not present. By default (if -csv_columns is not present), the columns will be a sorted list of all attributes on all items. '},
+ 'iCsvLabels' => { 'param' => "csv_labels=s" , 'type'=>'outfile',
+ 'class' => 'Build Control', 'desc' => 'Comma-separated list of columns labels include in the output CSV. Do not use quotes or commas in label names. This does nothing if -csv_output is not present. If this list is shorter than -csv_columns, the remaining columns will use the attribute name as the label. '},
+ 'iOutputXml' => { 'param' => 'xml_output=s' ,'type'=>'outfile',
+ 'class' => 'Build Control', 'desc' => 'The name of the file to save a combined system definition XML. Only items shown in the built system model will be included.'},
+ 'iWarningLevel' => { 'param' => "w=s", 'type' => 'number',
+ 'class' =>'Build Control', 'desc' => 'Warning level. 1: errors only (default), 2: warnings as well as errors, 3: info messages, warnings and errors, 4: all plus deep syntax validation and reporting -- note that this can take a long time to compute so do not use this warning level by default'},
+ 'iLowMem' => { 'param' => "lowmem",
+ 'class' =>'Build Control', 'desc' => 'Build the model storing more data in the temp directory and using less runtime memory. If building fails due to an out of memory condition, try running again with the -lowmem option.'},
+ "iClean" => { 'param' => 'clean' ,
+ 'class' => 'Build Control', 'desc' =>'Caution: if set, it will delete the contents of the temporary directory.'},
+ 'iCompress' => { 'param' => "compress",
+ 'class' => 'Build Control', 'desc' => 'If set, it will attempt to compress the output as an SVGZ file. In order to success gzip must be installed and in the PATH. This will also rename the output file from filename.svg to filename.svgz.'},
+ 'iTemporaryDirectory' => { 'param' => "tempdir=s", 'default' => 'drawsvg_temp','type'=>'dir',
+ 'class' => 'Build Control', 'desc' => 'Temporary directory for build files.'},
+ 'iLogFile' => { 'param' => "log=s", 'type'=>'outfile',
+ 'class' => 'Build Control', 'desc' => 'File in which to store output. Defaults to stdout'},
+ 'iModel' => { 'param' => "model=s" ,'type'=>'file/uri', 'default' => "$dataroot/ModelTemplate.xml",
+ 'class' => 'Files or URIs', 'desc' => 'The location of the Model XML file to use to build the file. Content of this file will be overridden by anything set on the command line on in an ini file'},
+ 'iSysDefFile' => { 'param' => "sysdef=s", 'multi' => 1,'type'=>'file/uri', 'xpath' => '/model/sysdef',
+ 'class' => 'Model Control', 'desc' => 'The System Definition XML file(s) used to build the model.'},
+ "iSourceRoot" => {'param'=>'srcvar=s' ,'multi' => 1,
+ 'class' => 'Model Control'},
+ 'iPathPrefix' => {'param' => 'sysdef-prefix=s', 'multi' => 1, 'class' => 'Model Control','type'=>'file/uri',},
+ "iSysDefPath" => {'param' => "sysdef-path=s", 'multi' => 1,'type'=>'path',
+ 'class' => 'Model Control', 'desc' => 'The directory which the system definition file should be considered to be in when turning unit\'s relative links into absolute paths. This is only necessary to provide if the result requires the absolute paths to be meaningful. The order of this parameter must match the order of the -sysdef parameter'},
+ 'iShapes' => { 'param' => "shapes=s", 'xpath' => '/model/@shapes','type'=>'file/uri',
+ 'class' => 'Files or URIs', 'desc' => 'The location of the Shapes XML file used to provide rules to control the display of the system model items. If not present, default behaviour (in Shapes.xml) is used. This and the default bahaviours are overrriden by using the -color, -border, -pattern, and -style options. '},
+ 'iLink' => { 'param' => "link=s", 'xpath' => '/model/@link',
+ 'class' => 'Files or URIs', 'desc' => 'The base URL to use for all hyperlinks in the model. A base URL will be appended by the type and name (e.g. Blocks/Comms%20Services.html) of the items to create the full URL of the linked file. Window directories will be converted into file URIs.'},
+ 'iLinkExpr' => { 'param' => "link-expr=s", 'multi' => 1, 'xpath' => 'model/link',
+ 'class' => 'Model Control', 'desc' => 'The link used on any system model item. Any values within {...} are evaluled as an expression on the item. All xpath locations in the expresion must be set otherwise the link will not be created for the item'},
+ 'iName' => { 'param' => "system_name=s" , 'xpath' => '/model/@name',
+ 'class' => "Labels", 'desc' =>'The name of the product described in the model. It appears at the bottom right.'},
+ 'iRelease' => { 'param' => "system_version=s" , 'xpath' => '/model/@ver',
+ 'class' =>"Labels", 'desc' =>'The version of the product described in the model. It appears at the bottom right after the name.'},
+ 'iLabel' => { 'param' => "model_name=s" , 'xpath' => '/model/@label',
+ 'class' =>"Labels", 'desc' =>'The label for the model. It appears at the bottom right, under the name.'},
+ 'iRevision' => { 'param' => "model_version=s", 'xpath' => '/model/@revision',
+ 'class' =>"Labels", 'desc' =>'A number which appears before the model-revision-type. If specified this overrides the build number used by depmodel. If not building depmodel, this defaults to "1"'},
+ 'iRevisionType' => { 'param' => "model_version_type=s", 'xpath' => '/model/@revision-type',
+ 'class' =>"Labels", 'desc' =>'One of "draft", "issued", "build", "date" or free-text value. Appears below the model label. If specified this overrides the build number used by DepToolkit.If not building depmodel, this defaults to "draft"'},
+ 'iCopyright' => { 'param' => "copyright=s", 'default' => (1900+$yr[5])." Nokia Corporation", 'xpath' => '/model/@copyright',
+ 'class' =>"Labels", 'desc' =>'The copyright to appear in the lower left. Set to empty string to leave out.'},
+ 'iDistribution' => { 'param' => "distribution=s", 'xpath' => '/model/@distribution',
+ 'class' => "Labels", 'desc' =>'Text to appear on the bottom centre to indicate to whom the model can be shown. Informational only. Suggested values are "internal", "secret" or "unrestrictred". Not shown if not set.'},
+ 'iLgdTitle' => { 'param' => "legend_title=s", 'xpath' => '/model/layout/legend/@label',
+ 'class' =>"Labels", 'desc' =>'The title to appear in the leftmost part of the legend.'},
+ 'iLgdFloat' => { 'param' => "legend_float=s", 'xpath' => '/model/layout/legend/@float', 'type' => 'boolean',
+ 'class' =>"Model Control", 'desc' =>'If set, the legend will appear when the mouse hovers over the bottom of the window. The floating legend will span the full width of the window. This may not be readable, depending on the amonent of content in the legend.'},
+ 'iCoreOs' => { 'param' => "coreos=s", 'type' => 'on/off/new',
+ 'class' =>'Model Control', 'desc' => 'Turn on or off Core OS colouring for 9.4 and later models -- For backwards compatibility only! Use "on" for Symbian OS 9.4 models and "new" for Symbian OS 9.5 and later models (non-Foundation)'},
+
+ 'iExtra' => { 'multi' => 1, 'param' => "sysinfo=s",'type'=>'file/uri', info=>'extra', 'xpath' => '/model/sysdef',
+ 'class' => 'Files or URIs', 'desc' => 'The location of extra component information used to provided additional properies for components. By default, the provided "SystemInfo.xml" is used.'},
+ 'iLocalize' => { 'multi' => 1, 'param' => "localize=s", 'xpath' => '/model/layout','type'=>'file/uri', info=>'abbrev',
+ 'class' => 'Files or URIs', 'desc' => 'The location of the Localization file used to provide displayable names for the model entities.'},
+ 'iDict' => { 'param' => "dictionary=s", 'type'=>'file/uri',
+ 'class' => 'Build Control', 'desc' => 'A term dictionary file used to semi-intelligently generate the abbreviations for the names of system model entries. Anything mentioned in the Localization files overrides generated abbreviations.'},
+ 'iS12' => { 'multi' => 1, 'param' => "s12=s",'type'=>'file/uri' , info=>'s12', 'xpath' => '/model/sysdef',
+ 'depr' => "Only works on 2.0 syntax and older models",
+ 'class' => 'Files or URIs', 'desc' => 'The location of the Schedule 12 XML file used to provide the border shapres of the components. If this a directory, the S12 XML file is found by appending "Symbian_OS_v[system_version]_Schedule12.xml" to the directory.'},
+ 'iLevels' => { 'multi' => 1, 'param' => "levels=s",'type'=>'file/uri' , info=>'levels', 'xpath' => '/model/sysdef',
+ 'depr' => "Only works on 2.0 syntax and older models. Use info file instead",
+ 'class' =>'Files or URIs', 'desc' => 'The location of the Levels XML file used to override the stacking of collections. '},
+ 'iDepsFile' => { 'multi' => 1, 'param' => "deps=s", 'xpath' => '/model/sysdef','type'=>'file/uri', info=>'extra',
+ 'class' => 'Files or URIs', 'desc' => 'The location of a sysinfo file containing Dependencies. If not present, dependencies will not be drawn'},
+
+ 'iColor' => { 'multi' => 1, 'param' => "color=s", 'xpath' => '/model/layout','type'=>'file/uri', 'info'=>'color',
+ 'class' =>'Files or URIs', 'desc' => 'The location of a Values XML file used to specify per-component colours. If not present, the default colours are used.'},
+ 'iBorder' => { 'multi' => 1, 'param' => "border-shape=s", 'xpath' => '/model/layout','type'=>'file/uri','info'=>'border',
+ 'class' =>'Files or URIs', 'desc' => 'The location of a Values XML file used to specify the shape (border) of each component. If not present, the default borders are used.'},
+ 'iOverlay' => { 'multi' => 1, 'param' => "pattern=s", 'xpath' => '/model/layout','type'=>'file/uri','info'=>'overlay',
+ 'class' => 'Files or URIs', 'desc' => 'The location of a Values XML file used to specify per-component overlay patterns. If not present, the default patterns (for new and reference components) are used.'},
+ 'iStyle' => { 'multi' => 1, 'param' => "border-style=s", 'xpath' => '/model/layout','type'=>'file/uri','info'=>'style',
+ 'class' => 'Files or URIs', 'desc' => 'The location of a Values XML file used to specify per-component border styles. If not present, the default border styles are used. '},
+
+ 'iFilter' =>{ 'type' => 'filter-name', 'multi' => 1, 'param' => "filter=s",
+ 'depr' => "Only works on 2.0 syntax and older models",
+ 'class' =>'Model Control', 'desc' => 'The name of a filter to turn on when building the model. All filters on an item must be present in this list in order for that item to appear. Can have any number of these Defaults to "java" and "gt"'},
+ 'iFilterHas' =>{ 'type' => 'filter-name', 'ordered' => 1,'param' => "filter-has=s",
+ 'class' => 'Model Control', 'desc' =>'Like -filter, except any filter on an item must be present in this list in order for that item to appear. Include "*" in the list in order to show items with no filters. Equivalent to "-show-attr filter xxx"'},
+ 'iShow' => { 'type' => 'attr[=val]', 'ordered' => 1,'param' => "show-attr=s",
+ 'class' =>'Model Control', 'desc' => 'A mechanism of filtering which allows filtering based on component attribute values. If a value is set for that attribute, the component will be shown. Use in conjunction with -hide-attr for fine contol of what is shown. "class" and "filter" attribtues are handled specially -- see the documentation for details'},
+ 'iHide' => { 'type' => 'attr[=val]', 'ordered' => 1,'param' => "hide-attr=s",
+ 'class' =>'Model Control', 'desc' => 'A mechanism of filtering which allows filtering based on component attribute values. If a value is set for that attribute, the component will not be shown on the model. Use in conjunction with -show-attr for fine contol of what is shown. "class" and "filter" attribtues are handled specially -- see the documentation for details'},
+ 'iIgnore' => { 'type' => 'item', 'multi' => 1, 'param' => "ignore=s", 'xpath' => '/model/ignore',
+ 'class' =>'Model Control', 'desc' => 'The ID of a model entity to not draw. Any number of these can be used'},
+ 'iIgnoreMeta' => { 'type' => 'item', 'multi' => 1, 'param' => "ignore-meta=s", 'xpath' => '/model/ignore',
+ 'class' =>'Model Control', 'desc' => 'The "rel" meta value to ignore. Takes the form of [relvalue] or [relvalue]:[type]. Any number of these can be used'},
+
+ 'iNavCtrl' =>{'param' => "navctrl=s" , 'type'=>'boolean' , 'xpath' => '/model/layout/@navctrl',
+ 'class' =>'Model Control', 'desc' => 'If set, a navigation control widget will appear in the upper left corner of the model. The control might not work on some SVG viewers.'},
+ 'iDetail' =>{'param' => "detail=s", 'type' => 'item-type' , 'xpath' => '/model/layout/@detail',
+ 'class' =>'Model Control', 'desc' => 'The type of the smallest System Model entity to draw. One of "layer", "package", "collection" or "component". Defaults to "component"'},
+ 'iLevelDetail' =>{'param' => "level-detail=s", 'type' => 'show/hide' , 'xpath' => '/model/layout/@levels',
+ 'class' =>'Model Control', 'desc' => 'Toggles display of level names on packages or layers. A value of "show" will display level names inside either layers (at "layer" level of detail only) or packages (at "package" level of detail only). A value of "hide" (default) will not show any level names.'},
+ 'iDetailType' => { 'param' => "detail-type=s", 'type' => 'type' , 'xpath' => '/model/layout/@detail-type',
+ 'class' =>'Model Control', 'desc' => 'If set to "fixed", the smallest System Model entity drawn will have a fixed with (rather then sized by their invisible components). This can be used to reduce the size and complexity of the overall model.'},
+ 'iPlaceholderDetail' => { 'param' => "placeholder=s", 'type' => 'item-type' , 'xpath' => '/model/layout/@placeholder-detail',
+ 'class' =>'Model Control', 'desc' => 'The type of the smallest *empty* System Model entity to draw. One of "layer", "package", "collection" or "component". For example, if set to "package" empty layers and packages will be drawn, but empty collections will be ignored. If not set, no empty items will be drawn.'},
+ 'iPageWidth' =>{'param' => "page-width=s", 'type' => 'length', 'xpath' => '/model/layout/@page-width',
+ 'depr' => "Only works on 2.0 syntax and older models",
+ 'class' =>'Model Control', 'desc' => 'The width of the drawn image (with units). If not specified it will fit the viewer window. Valid units: "in", "mm", "cm", "px", "pt"'},
+ 'iStatic' => { 'param' => "static=s", 'type' => 'boolean', 'xpath' => '/model/layout/@static',
+ 'class' =>'Model Control', 'desc' => 'If present, the model will not have any mouseover effects (this is overriden by builing the depmodel).'},
+ 'iPrintResolution' =>{ 'param' => "dpi=s", 'type' => 'number', 'xpath' => '/model/layout/@resolution',
+ 'class' =>'Model Control', 'desc' => 'The DPI to use when printing from the Adobe SVG Viewer. If not present, it will print well at A4 size. A value of 300 will look good on A3 size paper'},
+ 'iModelFont' =>{'param' => "model_font=s", 'type' =>'font', 'xpath' => '/model/layout/@font',
+ 'class' =>'Model Control', 'desc' => 'The name of the base font to use to draw the model. This will be overriden by any custom CSS in the Shapes XML'},
+ 'iVersions' => { 'param' => "version-list=s",
+ 'class' =>'Model Control'},
+ 'iLogoSrc' =>{ 'param' => "logo=s", 'type'=>'file/uri', 'xpath' => '/model/layout/logo/@src',
+ 'class' => 'Model Control', 'desc' => 'If present, the logo will be drawn in the lower-left corner of the model. If the logo is an SVG file, -logo-width and -logo-height are optional, otherwise the must both be specified'},
+ 'iLogoEmbed' =>{ 'xpath' => '/model/layout/logo/@embed', 'class' => 'Model Control' },
+ 'iLogoHeight' => { 'param' => "logo-height=s", 'type' => 'length', 'xpath' => '/model/layout/logo/@height',
+ 'class' =>'Model Control', 'desc' => 'Specifies the height of the logo (if any) in mm. Width is scaled along with height unless otherwise specified. Both width and height MUST be specified if a bitmap image is used'},
+ 'iLogoWidth' => { 'param' => "logo-width=s", 'type' => 'length', 'xpath' => '/model/layout/logo/@width',
+ 'class' =>'Model Control', 'desc' => 'Specifies the width of the logo (if any) in mm. Height is scaled along with width unless otherwise specified. Both width and height MUST be specified if a bitmap image is used'},
+ 'iLegendWidth' =>{ 'param' => "legend-width=s", 'type' => '%', 'xpath' => '/model/layout/legend/@width',
+ 'class' => 'Model Control', 'desc' =>'The percent width of the model the legend takes up. This will scale the size of the legend and model title, but not the logo, to fill the specified space. If a logo is included, but no width specified, the legend cannot be scaled since it will not be able to determine the available space. Note that that -max-legend-scale will further limit the potential width.'},
+ 'iLegendMaxScale' =>{ 'param' => "legend-max-scale=s", 'type' => 'scale', 'xpath' => '/model/layout/legend/@maxscale',
+ 'class' => 'Model Control', 'desc' =>'Specifies the maximum scale factor for resizing the legend. If this is present and -legend-width is not, the legend and title will scale to 100% of the available width. If both are present the scale factor will take precedent. If neither is present, the legend will not resize. Note that when this is used, the legend can shrink if it would normally be wider than the model.'},
+ 'iTitleScale' => { 'param' => "title-scale=s", 'type' => 'scale', 'xpath' => '/model/layout/legend/@title-scale',
+ 'class' => 'Model Control', 'desc' =>'Specifies the scale factor for the size of the title font (the text in the lower right). Use this instead of CSS to control the size, since the model generator needs to explicitly know how much space to allocate for the title.'},
+ 'iXsltParam' =>{ 'multi' => 2, 'param' => "xslt-param=s",
+ 'class' =>'Build Control', 'desc' => 'Advanced: Parameters to feed directly to the XSLT transforms'},
+ 'iLegendNote' =>{ 'multi' => 1, 'param' => "note=s", 'xpath' => '/model/layout/legend/note',
+ 'class' => 'Labels', 'desc' => 'Free text to appear inside the legend box, on the rightmost side. If multiple ones are provided, they will appear as separate boxes from left to right. Newlines and other special characters can be entity-encoded (e.g.
). When using entities in an INI file, you *must* quote the value, otherwise the # will be treated as a comment delimiter.',}
+ );
+
+ $self->{iArgs} = \%Args;
+
+
+ # basic test of command line:
+ if (scalar(@ARGV) == 0)
+ {
+ $self->Help();
+ exit Logger::KErrorNone; # nothing to do. Leave
+ }
+
+ # process the input:
+ $self->ParseCommandLineOptions();
+
+ $self->{iReturnCode} = Logger::KErrorNone;
+ return $self;
+ }
+
+
+sub ParseCommandLineOptions()
+ {
+ my $self = shift;
+
+ my %opt;
+ while(my ($n,$b) = each %{$self->{iArgs}} )
+ {
+ if(!$b->{'param'}) {next} # not a command line arg
+ my @ps = ($b->{'param'});
+ ($ps[1]=$ps[0]) =~ tr/_-/-_/;
+ if($ps[1] eq $ps[0]) {shift(@ps)}
+ foreach my $p (@ps)
+ {
+ if($b->{'multi'}==1)
+ {
+ $opt{$p} = \@{$self->{$n}};
+ }
+ elsif($b->{'multi'}==2)
+ {
+ $opt{$p} = \%{$self->{$n}};
+ }
+ elsif($b->{'ordered'})
+ {
+ $opt{$p} = \&OrderedOption;
+ }
+ else
+ {
+ $opt{$p} = \$self->{$n};
+ }
+ }
+ }
+
+ foreach (@ARGV) {
+ # some MS products replace "-" with en-dash in an effort to be "intelligent".
+ # This replaces all leading en-dashes in the command line with "-"
+ # There is a small risk that the en-dash is intentional and this will clobber it.
+ s/^\x96/-/;
+ }
+
+ GetOptions(%opt);
+
+ if ($self->{'iHelp'})
+ {
+ $self->Help();
+ exit Logger::KErrorNone;
+ }
+
+ # set read files to absolute paths
+ my $dir = cwd;
+
+ while(my ($n,$b) = each %{$self->{iArgs}} )
+ {
+ my $type =$b->{'type'};
+ if( $type eq 'file' or $type eq 'dir' or $type eq 'file/uri')
+ {
+ if($self->{$n} eq '') {next} # no value, so do nothing
+ if ($b->{'multi'} == 1)
+ {
+ foreach my $v (@{$self->{$n}})
+ {
+ $v =&fixFile($type,$dir,$v);
+ }
+ }
+ elsif ($b->{'multi'} == 2)
+ {
+ while(my ($var,$val)=each (%{$self->{$n}}))
+ {
+ $self->{$n}->{$var}=&fixFile($type,$dir,$val);
+ }
+ }
+ else
+ {
+ $self->{$n} = &fixFile($type,$dir,$self->{$n} );
+ }
+ }
+ }
+
+
+ @{$self->{'iFiltering'}} = @Filters;
+ @Filters=();
+ my $i=0;
+ for($i=0;$i<=$#ARGV;$i++)
+ { # check remaining args to ensure they are valid
+ if($ARGV[$i]=~/^(http|file):\/\//) { # assume URLs are correct
+ next;
+ }
+ if($ARGV[$i] eq "-" || $ARGV[$i] eq "")
+ { #special values to use nothing or use the tmp file, but only valid for odd numbered args
+ if($i%2==1) {next}
+ $self->HelpBase();
+ &Logger::LogFatal("Invalid syntax", KSystemModelGenerator, 0,Logger::KIncorrectSyntax);
+ }
+ if(!(-e $ARGV[$i])) {
+ $self->HelpBase();
+ &Logger::LogFatal("file $ARGV[$i] does not exist", KSystemModelGenerator, 0,Logger::KFileDoesNotExist);
+ }
+ }
+ $self->ReadIniFile();
+
+ if($self->{'iDetail'})
+ { # for ease of BC with ini files
+ $self->{'iDetail'} =~ s/^(block|subblock|logical(sub)?set)$/package/ ||
+ $self->{'iDetail'} =~ s/^(module)$/collection/;
+ }
+
+
+ while(my ($n,$b) = each %{$self->{iArgs}} ) # set defaults
+ {
+ if($b->{'default'} and !defined $self->{$n})
+ {
+ $self->{$n} =$b->{'default'};
+ }
+ if($b->{'type'} eq 'boolean' and (defined $self->{$n}))
+ { #set booleans to true/false
+ if($self->{$n} == 1 or $self->{$n} =~/^(yes|on|true|y)$/i)
+ {
+ $self->{$n} = 'true';
+ }
+ else
+ {
+ $self->{$n} = 'false';
+ }
+ }
+ }
+
+ # computed defaults:
+
+ # if saving to .svgz, try to compress
+ $self->{iCompress} = $self->{iCompress} || ( $self->{iDiagram} =~ /\.svgz$/i );
+
+ if($self->{'iLogoSrc'} =~ /\.svg$/i) # embed SVG logos only
+ {
+ $self->{'iLogoEmbed'}= "yes";
+ }
+
+ if(defined $self->{iCoreOs} and ($self->{'iModel'} eq $self->{'iArgs'}->{'iModel'}->{'default'}))
+ {
+ my $dataroot =&SystemModelXmlDataDir();
+ if($self->{iCoreOs}=~/(on|yes|true)$/i )
+ {
+ $self->{'iModel'} = "$dataroot/ModelTemplate.94.xml",
+ }
+ elsif($self->{iCoreOs}=~/(off|no|false)$/i )
+ {
+ $self->{'iModel'} = "$dataroot/ModelTemplate.xml",
+ }
+ elsif(! ($self->{iCoreOs}=~/^[0-9]+$/ )) # any other non-number
+ {
+ $self->{'iModel'} = "$dataroot/ModelTemplate.95.xml",
+ }
+ }
+
+
+ $self->{iTemporaryDirectory} = &fixFile('dir', cwd,$self->{iTemporaryDirectory} ); # now gives the full path name $self->{iTemporaryDirectory}
+
+ mkpath $self->{iTemporaryDirectory} if ! -d $self->{iTemporaryDirectory};
+
+ # set the log file if needed:
+ $Logger::LOGFILE = $self->{iLogFile} if $self->{iLogFile};
+
+ # set the correct warning level:
+ # -w=1: errors only (default)
+ # -w=2: warnings as well as errors
+ # -w=3: info messages, warnings and errors.
+ if (defined $self->{iWarningLevel} and $self->{iWarningLevel} > 1)
+ {
+ if ($self->{iWarningLevel} == 2)
+ {
+ $self->{iWarningLevel} = LogItem::WARNING;
+ }
+ elsif ($self->{iWarningLevel} == 3)
+ {
+ $self->{iWarningLevel} = LogItem::INFO;
+ }
+ else # for anything higher than set it to LogItem::VERBOSE
+ {
+ $self->{iWarningLevel} = LogItem::VERBOSE;
+ }
+ }
+ else
+ {
+ $self->{iWarningLevel} = LogItem::ERROR;
+ }
+ # set the logger up:
+ $Logger::SEVERITY = $self->{iWarningLevel};
+
+ #determine the XSLT Processor we need to use
+ $self->{'iXslt'} = XsltProcessor();
+
+ }
+
+sub OrderedOption() {
+ my $var = shift;
+ my $val = shift;
+ if($var=~/^(show|hide)-attr$/) {
+ my $f = " "}
+ else {$f.="select='$val'/>"}
+ push(@Filters,$f);
+ } elsif($var eq 'filter-has' && $val eq '*') {
+ push(@Filters," ");
+ }elsif($var eq 'filter-has') {
+ if(!scalar(@Filters)) { # if the 1st is showing a filter than that implies everythig without a filter is turned off
+ push(@Filters,' ');
+ }
+ foreach my $v (split(/,/,$val)) {
+ push(@Filters," ");
+ }
+ }
+}
+
+
+sub fixFile {
+ my $type = shift;
+ my $dir = shift;
+ my $val = shift;
+ if($val eq '') {return}
+ $val = &FullPath("$dir/", $val );
+ if($type eq 'file/uri') { $val =&FileAsUrl($val)}
+ return $val;
+}
+
+
+sub FullPath {
+ my $root = shift;
+ my $file = shift;
+
+ # If the file is not specified then return null
+ if (!$file) {
+ return;
+ }
+
+
+ # If the file is a URL or Windows path then return it as is
+ if ($file =~ /:/) {
+ return $file;
+ }
+
+ # If the file is a windows remote path then return it as is
+ if ($file =~ /\\\\/ || $file =~ /\/\//) {
+ return $file;
+ }
+
+ if ($root && !-e $root) {
+ &Logger::LogFatal("root$root does not exist");
+ }
+
+ if (-f $root) {
+ $root = File::Basename::dirname($root)
+ }
+
+ # if root is empty or the same dir, then file is relative
+ if($root eq '' or $root eq '.') {
+ return $file;
+ }
+
+ # If the file is relative from the root then we want to add the drive letter to the file (if one exists)
+ if ($file =~ s/^[\\\/]// ) {
+ if ($root =~ /^([a-z]:)/i) {
+ return File::Spec->catdir($1, $file);
+ } else { # it's a unix path, put the / back on
+ return "/$file";
+ }
+ }
+
+ # Return the concatenated root and filename
+ return File::Spec->catdir($root, $file);
+}
+
+
+sub ReadIniFile()
+ {
+ my $self = shift;
+ my %setHere;
+ return if ! defined $self->{iIniFile};
+
+ # Log a fatal error if the ini file is defined but doesn't exist:
+ &Logger::LogFatal("ini file does not exist\"$self->{iIniFile}\": $!", KSystemModelGenerator) if ! -e $self->{iIniFile};
+
+ open(INI, $self->{iIniFile}) or
+ &Logger::LogFatal("Could not open the ini file \"$self->{iIniFile}\": $!", KSystemModelGenerator);
+
+ &Logger::LogInfo("Reading ini file \"$self->{iIniFile}...", KSystemModelGenerator);
+
+
+ my %IniMap; # map from ini var to internal var
+ foreach my $a (keys %{$self->{'iArgs'}}) {
+ my $v = $self->{'iArgs'}->{$a}->{'param'};
+ $v=~s/=.*//;
+ $IniMap{$v}=$a;
+ $v=~tr/-_/_-/; # allow both model_name and model-name
+ $IniMap{$v}=$a;
+ }
+
+ my $iniDir = $self->{iIniFile};
+ $iniDir =~ s,[^\\//]+$,,;
+ #$iniDir .= '\\';
+
+ foreach my $line ()
+ {
+ $line =~ s/^\s*//; # remove spaces
+ $line =~ s/\s*$//; # a/a
+ $line =~ s/\n$//; # remove new line
+ if($line =~/"/) {
+ $line =~ s/^(([^"#]*"[^"]*")+)#.*$/$1/; # remove comments indicated by # (to the end of the line)
+ } else {
+ $line =~ s/#.*$//; # remove comments indicated by # (to the end of the line)
+ }
+ next if $line eq ""; # ignore blank lines
+ if ($line =~ m/([^=]+)\s*=\s*(.*)/)
+ {
+ my $argType = lc $1; # case-insensitive
+ my $argValue = $2; # case-sensitive as it can have strings intended for html output
+
+ $argType =~ s/^\s*//; # remove spaces on either end (Cannot use s/\s+// as this will not be suitable for html text)
+ $argType =~ s/\s*$//;
+ $argValue =~ s/^\s*//;
+ $argValue =~ s/\s*$//;
+
+ $argValue =~ s/^'//; # no need for quotes around the values
+ $argValue =~ s/'$//;
+ $argValue =~ s/^"//;
+ $argValue =~ s/"$//;
+
+ if(!defined $IniMap{$argType}) {next}
+ my $param = $IniMap{$argType};
+ if($self->{'iArgs'}->{$param}->{'ordered'}) {
+ &OrderedOption($argType, $argValue);
+ } else {
+ my $type = $self->{'iArgs'}->{$param}->{'type'};
+ # make sure all files mentioned are taken relative to the ini file
+ if($type eq 'file' or $type eq 'outfile' or $type eq 'dir' or $type eq 'file/uri')
+ {
+ $argValue =&fixFile($type,$iniDir,$argValue);
+ }
+
+ # do not override! Only set values that have not been set on command line already
+
+ if ($self->{'iArgs'}->{$param}->{'multi'} == 1) {
+ if(scalar(@{$self->{$param}})==0 || $setHere{$param}) {
+ push(@{$self->{$param}}, $argValue) ;
+ $setHere{$param}=1;
+ }
+ } elsif ($self->{'iArgs'}->{$param}->{'multi'} == 2) {
+ $argValue=~s/^([^=]+)=//;
+ if(scalar(%{$self->{$param}})==0 || $setHere{$param}) {
+ $self->{$param}->{$1}=$argValue;
+ $setHere{$param} = 1;
+ }
+ } else
+ {
+ $self->{$param} = $argValue if ! $self->{$param};
+ }
+ }
+ }
+ }
+
+ close(INI);
+ @{$self->{'iFiltering'}} = @Filters if ! @{$self->{'iFiltering'}};
+ @Filters=();
+ }
+
+sub getModel()
+ {
+ my $self = shift;
+
+ my $tempDirectoryPathname = $self->{iTemporaryDirectory};
+ my $modelXml = "$tempDirectoryPathname/Model.xml";
+
+ if(defined $self->{'iModelCreated'}) {return $modelXml}
+
+ my $needsMod=0;
+ # the following needs a bit of work
+ foreach my $param (keys %{$self->{'iArgs'}}) {
+ if (! ($self->{'iArgs'}->{$param}->{'class'} =~ /^(Build Control|)$/ ))
+ {
+ if ($self->IsSet($param)) {$needsMod=1; last}
+ }
+ }
+ # if no parameters are set that would impact the model, just use the raw Model XML provided
+ if(!$needsMod) {return $self->{iModel}}
+
+ my $dir = $self->{iModel};
+ $dir=~s,[^/\\]+$,,;
+
+ my $command = $self->XsltTransformCmd("-",$self->{'iModel'},$modelXml,1); # does not take any params
+
+ open XSLT, "|$command"
+ #open XSLT, ">$tempDirectoryPathname/xslt.xsl"
+ || &Logger::LogFatal("error in running $command", KSystemModelGenerator);
+ my $basedir = &FileAsUrl($dir);
+ $basedir=~s,/$,,; # make sure no //
+print XSLT '
+',$basedir,'/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @shapes#
+
+
+
+
+
+
+
+';
+
+my %at;
+my %info='';
+ foreach my $param (keys %{$self->{'iArgs'}}) {
+ my $cur = $self->{'iArgs'}->{$param};
+ if (! ($cur->{'class'} =~ /^(Build Control|)$/) && $self->IsSet($param) ) {
+ if($cur->{'xpath'}) {
+ my $x = $cur->{'xpath'};
+ my $match = $x;
+ $x=~s,/([^/]+)$,,;
+ my $item = $1;
+ if($item=~s/^@//) {
+ if($self->{$param} ne '') {
+ if($self->{'iArgs'}->{$param}->{'type'} ne 'boolean' || $self->{$param} eq 'true') { # if boolean and false, don't set attribute in XML
+ $at{$x}.="\t".&SafeXml($self->{$param})." \n";
+ }
+ }
+ print XSLT "\n";
+ } elsif($item eq 'note') { # just in case there's other things that can take plan text later, can add them here
+ if($cur->{'multi'}==1) {
+ my $count =0;
+ foreach my $n (@{$self->{$param}}) {
+ print XSLT "",&SafeXml($n)," \n";
+ $count++;
+ }
+ } elsif(!$cur->{'multi'}) {
+ my $n =$self->{$param};
+ print XSLT "&SafeXml($n) \n";
+ }
+ } elsif($cur->{'info'}) {
+ my $t = $cur->{'info'};
+ if( ! ($self->{'iArgs'}->{$param}->{'dontclear'} )) { # can force it to be included anyway if necessary
+ print XSLT "\n"; # remove from doc, add explicitly
+ }
+ if($cur->{'multi'}==1){
+ foreach my $n (@{$self->{$param}}) {
+ if($n ne '') {
+ $info{$match}.="\t \n";
+ }
+ }
+ } elsif(!$cur->{'multi'}){
+ $info{$match}.="\t \n";
+ }
+ } elsif($param eq 'iIgnore' or $param eq 'iIgnoreMeta' or $param eq 'iLinkExpr' or $param eq 'iSysDefFile') {
+ print XSLT " \n" # ignore any already present if set
+ }
+ } elsif($param eq 'iModel' || $param eq 'iSysDefPath' || $param eq 'iPathPrefix' || $param eq 'iSourceRoot') {
+ } else {
+ print STDERR "$param ",$self->{$param},"\n"; # should not get here
+ }
+ }
+ }
+ if(scalar @{$self->{'iFiltering'}}) {
+ print XSLT " \n" # ignore all already present if set
+ }
+ while (my ($a,$b) = each(%at) ){
+ print XSLT "\n\t\n$b \n";
+ }
+ print XSLT '';
+ my $count=0;
+ foreach my $sys (@{$self->{'iSysDefFile'}}) {
+ $count++;
+ print XSLT "\n\t\n";
+ print XSLT "\t\t$sys \n";
+ my $src=$count;
+ if(scalar(@{$self->{'iSourceRoot'}}) == 1) {$src=0}
+ if($self->{'iSourceRoot'}->[$src]) {
+ print XSLT "\t\t",$self->{'iSourceRoot'}->[$src]," \n";
+ }
+ $src=$count;
+ if(scalar(@{$self->{'iPathPrefix'}}) == 1) {$src=0}
+ if($self->{'iPathPrefix'}->[$src]) {
+ print XSLT "\t\t",$self->{'iPathPrefix'}->[$src]," \n";
+ }
+ $src=$count;
+ if(scalar(@{$self->{'iSysDefPath'}}) == 1) {$src=0}
+ if($self->{'iSysDefPath'}->[$src]) {
+ print XSLT "\t\t",$self->{'iSysDefPath'}->[$src]," \n";
+ }
+ print XSLT $info{'/model/sysdef'},
+ "\n\t \n";
+ $count++;
+ }
+ foreach my $link (@{$self->{'iLinkExpr'}}) {
+ print XSLT "\t",&SafeXml($link)," \n";
+ }
+ print XSLT " \n",
+ "\n";
+ foreach my $ig (@{$self->{'iIgnore'}}) {
+ print XSLT "\t \n"}
+ elsif($ig=~/:.*\//) {print XSLT "namespace='$ig'/>\n"} # assume it's a namespace if it has a colon and a slash
+ else {print XSLT "ref='$ig'/>\n"}
+ }
+ foreach my $ig (@{$self->{'iIgnoreMeta'}}) {
+ print XSLT "\t \n"}
+ else {print XSLT "meta='$ig'/>\n"}
+ }
+ print XSLT join("\n\t",@{$self->{'iFiltering'}}),
+ " \n";
+
+ print XSLT '',"\n";
+ if($self->{'iShapes'}) {print XSLT ' ',"\n";}
+ foreach my $link ('iColor','iBorder','iOverlay' , 'iStyle') {
+ my $type=$self->{'iArgs'}->{$link}->{'info'};
+ if(scalar @{$self->{$link}}) {
+ my $use ="#$type";
+ print XSLT "\t";
+ } else {
+ print XSLT "\t";
+ }
+ print XSLT " \n";
+ }
+ $count =1;
+ my $notes='';
+ foreach my $n (@{$self->{'iLegendNote'}}) {
+ $notes.="\t".&SafeXml($n)." \n";
+ }
+ print XSLT "$notes \n",
+ '',
+ "\n\t \n$notes \n",
+ '',"\n",$info{'/model/layout'};
+ if($self->{'iLogoSrc'}) {
+ print XSLT "\t\n",$at{'/model/layout/logo'},"\t \n";
+ }
+ print XSLT "\t \n";
+ print XSLT " \n";
+ close XSLT;
+ $self->{'iModelCreated'}=1;
+ return $modelXml;
+ }
+
+
+sub GetXsltDir()
+ {
+ my $self = shift;
+ my $xsltDir = $FindBin::Bin."/core"; # calcluated w.r.t root of Dep directory
+ return $xsltDir;
+ }
+
+
+sub GetExtrasDir()
+ {
+ my $self = shift;
+ my $dir = $FindBin::Bin."/extra"; # calcluated w.r.t root of Dep directory
+ return $dir;
+ }
+
+
+
+sub FileAsUrl()
+ {
+ my $file = $_[0];
+ if($file=~/^..+:/){ return $file} # already a URL
+ if(-f $file)
+ { # abs_path only works on dirs, so strip off file name and put it back when done
+ if(! ($file=~/^[a-z]:[\\\/][^\\\/]+$/i))
+ { # if it's in the root dir, do nothing
+ my $tail = "/$file";
+ # if it's just a file name, need to find cwd;
+ if($file =~ s,([\\/][^\\/]+)$,,)
+ {
+ $tail = $1;
+ }
+ else {$file = "."}
+ $file = abs_path($file)."$tail";
+ }
+ }
+ elsif (-d $file)
+ {
+ $file = abs_path($file);
+ } # else does not exist, so just convert to unix-style path
+ $file=~tr/\\/\//;
+ return "file:///$file";
+ }
+
+
+sub RunCmd() {
+ my $command = shift;
+ open(EXE,"$command 2>&1|");
+ while(){
+ chomp;
+ s/^XSLT Message: //;
+ s/\.Source tree node:.*$//;
+ if($_ ne '') {
+ if(s/^note: //i) {
+ &Logger::LogInfo($_, KSystemModelGenerator,2, 100);
+ } elsif(s/^Warning: //) {
+ &Logger::LogWarning($_, KSystemModelGenerator,2, 600);
+ } elsif(s/^Error: //i) {
+ &Logger::LogError($_, KSystemModelGenerator,2, 400);
+ } else {
+ print STDERR "$_\n";
+ }
+ }
+ }
+ close(EXE);
+ return $?;
+}
+
+sub ShouldCreateDepmodel()
+ {
+ my $self = shift;
+ if (@{$self->{iDepsFile}})
+ {
+ return 1;
+ }
+ my $should = 0;
+ my $model = $self->getModel();
+ my $t = $/;
+ $/='>';
+ open(M,$model);
+ while()
+ {
+ if(/{'iXslt'} . ' ' ;
+
+ if(join('',@PATH)=~/\\/) {
+ # use windows path
+ $command =~ s#\/#\\#g;
+ }
+
+ if($command =~ /xalan\.jar/i) {
+ return $command. XalanJTransformCmd(@_);
+ }
+ if($command =~ /xsltproc/i) {
+ return $command. XsltprocTransformCmd(@_);
+ }
+
+ return $command. XalanTransformCmd(@_);
+ }
+
+sub XalanTransformCmd()
+ {
+ my $xslt = shift;
+ my $from = shift;
+ my $to = shift;
+ my $indent = shift;
+ my %params = (scalar @_) ? %{$_[0]} : ();
+
+ if($from=~/ /) {$from= "\"$from\""}
+ if($to=~/ /) {$to= "\"$to\""}
+ if($xslt=~/ /) {$xslt= "\"$xslt\""}
+
+ my $command;
+ while (my($p,$v) = each(%{$_[0]}))
+ {
+ $v =~ s/"/"/g; # replace quotes with entities
+ $command.= " -p $p \"$v\"";
+ }
+
+ if($indent >=0) {
+ $command .= " -i $indent";
+ }
+ if($to ne '') {
+ $command .= " -o $to";
+ }
+ return "$command $from $xslt";
+ }
+
+
+sub XalanJTransformCmd()
+ {
+ my $xslt = shift;
+ my $from = shift;
+ my $to = shift;
+ my $indent = shift; # not used in versions of xalan.jar we expect to see
+ my %params = (scalar @_) ? %{$_[0]} : ();
+
+ if($from=~/ /) {$from= "\"$from\""}
+ if($to=~/ /) {$to= "\"$to\""}
+ if($xslt=~/ /) {$xslt= "\"$xslt\""}
+
+ my $command;
+ while (my($p,$v) = each(%{$_[0]}))
+ {
+ $v =~ s/"/"/g; # replace quotes with entities
+ $command.= " -param $p \"$v\"";
+ }
+
+ if($to ne '') {
+ $command .= " -out $to";
+ }
+
+ die &Logger::LogError("Model transforms are not supported using Xalan-J", KSystemModelGenerator, 1) if ($xslt eq '-');
+
+ $command .= " -xsl $xslt";
+ $command .= " -in $from";
+ return $command;
+ }
+
+sub XsltTransform()
+ {
+ my $self = shift;
+ my $to=$_[2];
+ my $command = $self->XsltTransformCmd(@_);
+ &Logger::LogInfo("System Call: $command", KSystemModelGenerator,3,800);
+ if($to eq '') {return `$command`}
+ return &RunCmd($command);
+ }
+
+sub XsltprocTransformCmd()
+ {
+ my $xslt = shift;
+ my $from = shift;
+ my $to = shift;
+ my $indent = shift;
+ my %params = (scalar @_) ? %{$_[0]} : ();
+ my $command;
+
+ if($from=~/ /) {$from= "\"$from\""}
+ if($to=~/ /) {$to= "\"$to\""}
+ if($xslt=~/ /) {$xslt= "\"$xslt\""}
+
+ while (my($p,$v) = each(%{$_[0]}))
+ {
+ $v =~ s/"/"/g;
+ $command.= " --param $p \"$v\"";
+ }
+
+ if($to ne '') {
+ $command .= " -o $to";
+ }
+ return "$command $xslt $from";
+ }
+
+
+sub makeAbbrev
+ {
+ my $self = shift;
+ my $xsltDir = $self->GetExtrasDir();
+ my %params = (
+ 'dict' => "'".$self->{'iDict'}."'"
+ );
+ if(scalar @{$self->{'iSysDefFile'}})
+ { # if sysdefs provided, create one abbrev file for each
+ my $count = 1;
+ if(! (scalar @{$self->{'iLocalize'}}))
+ { # do not fitler out any abbrev already in the model template
+ $self->{'iArgs'}->{'iLocalize'}->{'dontclear'}=1;
+ }
+ foreach my $sysdef (@{$self->{'iSysDefFile'}})
+ {
+ my $afile = $self->{'iTemporaryDirectory'} . "/abbrev$count.xml";
+ my $error = $self->XsltTransform("$xsltDir/makeabbrev.xsl",$sysdef,$afile,1,\%params);
+ &Logger::LogError("Xalan error ($error) occured in creating abbrev file", KSystemModelGenerator, 1) if $error;
+ # prepend generated file to the list (order does not matter since the same name appearing twice will have the same abbreviation)
+ unshift(@{$self->{'iLocalize'}}, &FileAsUrl($afile));
+ $count++;
+ }
+ }
+ else
+ { # no sysdefs provided, run against template model xml
+ if(scalar @{$self->{'iLocalize'}})
+ {# if localize files provided, include = 0, which means it will ignore any localize files in the model template
+ # if there are none provided, then any in the model template will be appended to the generated file
+ # this is only needed for the case where it's run on the model. When run on the sysdef, inclusion has no meaning
+ $params{'include'} = 0;
+ }
+ my $afile = $self->{'iTemporaryDirectory'} . "/abbrev.xml";
+ my $error = $self->XsltTransform("$xsltDir/makeabbrev.xsl",$self->{'iModel'},$afile,1,\%params);
+ &Logger::LogError("Xalan error ($error) occured in creating abbrev file", KSystemModelGenerator, 1) if $error;
+ # prepend generated file to the list
+ unshift(@{$self->{'iLocalize'}}, &FileAsUrl($afile));
+ }
+ }
+
+sub Draw()
+ {
+ my $self = shift;
+ my $genSvg = $self->{'iDiagram'} ne '';
+ my $genCsv = $self->{'iOutputCsv'} ne '';
+ my $genXml = $self->{'iOutputXml'} ne '';
+ my $error;
+
+ if(!$genSvg && !$genCsv && !$genXml)
+ {
+ &Logger::LogFatal("Must specify at least one type of output file. Cannot continue...", KSystemModelGenerator, 0,Logger::KNothingToDo);
+ }
+
+ # Step 0:
+ # Prepare some file names and create output directory:
+
+ # construct full path name:
+
+ my $xsltDir = $self->GetXsltDir();
+ my $extraDir = $self->GetExtrasDir();
+ my $tempDirectoryPathname = $self->{'iTemporaryDirectory'};
+ my $tempStuctureFile = "$tempDirectoryPathname/system_definition_tmp.xml";
+ my $tempXslFile = "$tempDirectoryPathname/styling_tmp.xsl";
+ my $tempModelFile = "$tempDirectoryPathname/model_tmp.svg";
+ my $tempModelFile2 = "$tempDirectoryPathname/model_tmp2.svg";
+ my $modelXsl = $xsltDir."/layoutsysdef.xsl";
+
+ if($self->{'iDict'})
+ {
+ &Logger::LogInfo("Create an abbreviation file...", KSystemModelGenerator, 0);
+ $self->makeAbbrev();
+ }
+
+ &Logger::LogInfo("Generating Model XML...", KSystemModelGenerator, 0);
+ my $modelXml = $self->getModel();
+
+ # Step 2 -
+ &Logger::LogInfo("Generating merged sysdef XML...", KSystemModelGenerator, 0);
+ $error = $self->XsltTransform($modelXsl,$modelXml,$tempStuctureFile,1); # does not take any params
+
+ &Logger::LogError("Xalan error ($error) occured in combining sysdefs", KSystemModelGenerator, 1) if $error;
+
+ # Step 3 - validation
+ if($self->{iWarningLevel} == LogItem::VERBOSE )
+ {
+ &Logger::LogInfo("Validating merged XML...", KSystemModelGenerator, 0);
+ my $errors = $self->XsltTransform($extraDir."/validate.xsl",$tempStuctureFile,'',-1);
+ &Logger::LogList(split(/\n/,$errors));
+ }
+
+ if($genSvg)
+ { # only needed for model building
+ &Logger::LogInfo("Generating Model Diagram...", KSystemModelGenerator, 0);
+
+ # Step 4
+ &Logger::LogInfo("Creating styling XSLT...", KSystemModelGenerator, 1);
+ $error = $self->XsltTransform("$xsltDir/shapes.xsl",$modelXml,$tempXslFile,1,
+ {%{$self->{'iXsltParam'}},'Model-Transform' => "'".&FileAsUrl("$xsltDir/draw.xsl")."'" });
+ &Logger::LogError("Xalan error ($error) occured generating Styling transform", KSystemModelGenerator, 2) if $error;
+
+ if($self->{iLowMem})
+ { # split step 5 into parts so we don't use as much runtime memory
+ # Step 5a
+ my $tempDetailsFile = "$tempDirectoryPathname/system_definition_draw.xml";
+ &Logger::LogInfo("Generating temp details XML", KSystemModelGenerator, 1);
+ $error = $self->XsltTransform($tempXslFile,$tempStuctureFile,$tempDetailsFile,1,
+ {%{$self->{'iXsltParam'}},'Run' => "'calc'" } );
+ &Logger::LogError("Xalan error ($error) occured in building temp datafile", KSystemModelGenerator, 2) if $error;
+ # Step 5b
+ &Logger::LogInfo("Generating SVG model...", KSystemModelGenerator, 1);
+ $error = $self->XsltTransform($tempXslFile,$tempDetailsFile,$tempModelFile,1,
+ {%{$self->{'iXsltParam'}},'Run' => "'draw'" } );
+ &Logger::LogError("Xalan error ($error) occured in building SVG", KSystemModelGenerator, 2) if $error;
+ }
+ else
+ {
+ # Step 5
+ &Logger::LogInfo("Generating SVG model...", KSystemModelGenerator, 1);
+ $error = $self->XsltTransform($tempXslFile,$tempStuctureFile,$tempModelFile,1,$self->{'iXsltParam'});
+ &Logger::LogError("Xalan error ($error) occured in building SVG", KSystemModelGenerator, 2) if $error;
+ }
+ if ($self->ShouldCreateDepmodel()) { # insert as 1st transform
+ @ARGV=( $extraDir."/dependencies.xsl",'-',@ARGV)
+ }
+
+ my $tmpsvg = $tempModelFile;
+ while(scalar(@ARGV)) {
+ my $transform = shift(@ARGV);
+ my $datafile = shift(@ARGV);
+ if($datafile eq '-') {$datafile = &FileAsUrl($tempStuctureFile)}
+ elsif($datafile ne '') {$datafile = &FileAsUrl($datafile)}
+ # save to the output if this is the last transform
+ # otherwise save to tempModelFile2 if reading from tempModelFile, and vis versa
+ my $saveto = $self->{'iDiagram'};
+ if(scalar(@ARGV)) {
+ $saveto = ($tmpsvg eq $tempModelFile) ? $tempModelFile2 : $tempModelFile;
+ }
+ # Step 6
+ &Logger::LogInfo("Applying post-processing transformation...", KSystemModelGenerator,1);
+ my %p = %{$self->{'iXsltParam'}};
+ if($datafile ne '') {
+ $p{'Data'}="'$datafile'"; # optional -- only if needed for transform
+ }
+ $error = $self->XsltTransform($transform,$tmpsvg,$saveto,1,\%p);
+ &Logger::LogError("Xalan error ($error) occured in post-processing SVG file", KSystemModelGenerator, 2) if $error;
+ $tmpsvg = $saveto; # read from this next time.
+ }
+ if ($tmpsvg ne $self->{'iDiagram'}) {
+ open(OUT,">".$self->{iDiagram});
+ open(IN,$tmpsvg);
+ print OUT ;
+ close OUT;
+ close IN;
+ }
+
+ my $zipname = $self->{iDiagram};
+ my $unzipname = $zipname;
+ $zipname =~ s/\.svg$/.svgz/i;
+ $unzipname =~ s/\.svgz$/.svg/i;
+ my $compressed = 0;
+ if($self->{iCompress})
+ {
+ my $gzip = &GzipCommand();
+ if($gzip)
+ {
+ &Logger::LogInfo("Compressing output model", KSystemModelGenerator,1);
+ my $command = "$gzip ".$self->{iDiagram};
+ &Logger::LogInfo("System Call: $command", KSystemModelGenerator,2);
+ $error = &RunCmd($command);# this should generate the sysmodel.svg in the output directory
+ &Logger::LogError("Gzip error ($error) occured when comrpessing SVG", KSystemModelGenerator, 2) if $error;
+ &Logger::LogInfo("Renaming output to : $zipname", KSystemModelGenerator,2);
+ rename $self->{iDiagram}.".gz", $zipname;
+ $compressed = 1;
+ }
+ }
+ if(!$compressed && $unzipname ne $self->{iDiagram})
+ {
+ &Logger::LogInfo("Renaming output to : $unzipname", KSystemModelGenerator,1);
+ rename $self->{iDiagram}, $unzipname;
+ }
+ }
+ # create CSV if desired
+ if($genCsv)
+ {
+ &Logger::LogInfo("Generating CSV output", KSystemModelGenerator, 0);
+ my %p;
+ if($self->{iCsvColumns})
+ {
+ $p{'atts'}="'".$self->{iCsvColumns}."'";
+ }
+ if($self->{iCsvLabels})
+ {
+ $p{'labels'}="'".$self->{iCsvLabels}."'";
+ }
+ $error = $self->XsltTransform($extraDir."/output-csv.xsl",$tempStuctureFile,$self->{iOutputCsv},-1,\%p);
+ &Logger::LogError("Xalan error ($error) occured in CSV output...", KSystemModelGenerator, 1) if $error;
+ }
+
+ # create sysdef XML if desired
+
+ if($genXml)
+ {
+ &Logger::LogInfo("Generating XML output", KSystemModelGenerator, 0);
+ $error = $self->XsltTransform($extraDir."/output-sysdef.xsl",$tempStuctureFile,$self->{iOutputXml},1,$self->{'iXsltParam'});
+ &Logger::LogError("Xalan error ($error) occured in Sysdef output...", KSystemModelGenerator, 1) if $error;
+ }
+
+ # delete the contents of the temp directory if -clean is specified by the user:
+ if ($self->{iClean})
+ {
+ &Logger::LogInfo("Deleting contents of the temp directory $self->{iTemporaryDirectory}...", KSystemModelGenerator,0);
+ $self->DeleteTempDirectory();
+ }
+ }
+
+
+
+sub SafeXml {
+ my $txt = shift;
+ if(!($txt=~/?[0-9a-z]+;/i))
+ { # if not entity-encoded, entity encode the stuff
+ $txt=~ s/([&<>\x7f-\xff])/"".ord($1).";"/eg;
+ }
+ return $txt;
+}
+
+sub IsSet()
+ {
+ my $self = shift;
+ my $param = shift;
+ if ($self->{'iArgs'}->{$param}->{'multi'} == 1)
+ {
+ if (scalar @{$self->{$param}} ) {return 1}
+ }
+ elsif ($self->{'iArgs'}->{$param}->{'multi'} == 2)
+ {
+ if (scalar %{$self->{$param}} ) {return 1}
+ }
+ elsif (defined $self->{$param}){return 1}
+ return 0;
+ }
+
+
+sub SystemModelXmlDataDir()
+ {
+ my $file =$FindBin::Bin."/rsc";
+ return $file;
+ }
+
+
+#-----------------------------------------------------------------------------
+# Xalan
+#-----------------------------------------------------------------------------
+my $KXalanDirectory = $FindBin::Bin."/rsc/installed/Xalan";
+my $KXalan = $KXalanDirectory."/xalan.exe";
+sub Xalan()
+ {
+ my $xalan = &FindInPath("xalan");
+ if($xalan ne '') {
+ if($xalan=~/ /) {return "\"$xalan\""}
+ return $xalan
+ }
+ # not found, use windows built-in version
+ $xalan = $KXalan;
+ return $xalan;
+ }
+
+sub XsltProcessor()
+ {
+ #first try xalan-c
+ my $proc = &FindInPath("xalan");
+ if($proc ne '') {
+ if($proc=~/ /) {return "\"$proc\""}
+ return $proc
+ }
+ # now try xsltproc
+ my $proc = &FindInPath("xsltproc");
+ if($proc ne '')
+ {
+ if($proc=~/ /) {return "\"$proc\""}
+ return $proc
+ }
+ # now try xalan-j
+ foreach my $dir(@CLASSPATH)
+ {
+ my $file = "$dir/xalan.jar";
+ if(-e $file)
+ {
+ if($file=~/ /) {$file="\"$file\""}
+ return "java -jar $file"; # assume java is installed. Why would ever have a CLASSPATH and not have java?
+ }
+ }
+ # not found, use windows built-in version. If we're not in windows this will fail, but since we have no other options we may as well try it.
+ $proc = $KXalan;
+ $proc = $FindBin::Bin."/../../resources/installed/Xalan/xalan.exe" if ! -e $proc;
+ if($proc=~/ /) {return "\"$proc\""}
+ return $proc;
+ }
+
+
+#-----------------------------------------------------------------------------
+# Gzip
+#-----------------------------------------------------------------------------
+sub GzipCommand
+ { # returns empty if gzip not in path
+ my $dir = &FindInPath("gzip");
+ if($dir ne '') {return "gzip -9"}
+ return "";
+ }
+
+sub FindInPath
+ {
+ my $exe = shift;
+ foreach my $d (@PATH)
+ {
+ my $dir = $d;
+ $dir=~s,[\\\/]$,,; # remove trailing slash
+ $dir.="/$exe"; # try w/o extension
+ foreach my $ext ('',@PATHEXT) {
+ if(-f "$dir$ext" && -x "$dir$ext") {return "$dir$ext"} # must be a file and must be executable
+ }
+ }
+ return "";
+ }
+
+
+#-------------------
+
+
+sub DeleteTempDirectory()
+ {
+ my $self = shift;
+ # This will delete all files in the $self->{iTemporaryDirectory}
+ rmtree $self->{iTemporaryDirectory};
+ }
+
+sub Help()
+ {
+ my $self = shift;
+ my ($param,$text);
+
+ my @helporder = ('','', 'Build Control', '','Files or URIs',"All of these take a file name (relative or absolute path) or URI of a data source",
+ "Labels","All of these take a plain text value which is displayed on the model",'Model Control','');
+
+format STDERR =
+ @<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$param, $text,
+ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~
+ $text
+.
+
+
+my @list =(
+ 'Switch', 'Explanation' );
+
+for(my $i=0;$i<=$#helporder;$i+=2) {
+ my $item=$helporder[$i];
+ my $next = $helporder[$i+1];
+ if($next ne '') {$next="\n$next"}
+ if($item ne '') {
+ push (@list,"==== $item ====$next");
+ }
+ foreach my $b (sort values %{$self->{'iArgs'}}) {
+ if(!$b->{'param'}) {next} # not an arg
+ my $a = $b->{'param'};
+ if ($b->{'class'} eq $item) {
+ if ($a=~s/=.*// && $b->{'type'} ne '') {
+ $a .= ' ['.$b->{'type'}.']';
+ }
+ my $ex = $b->{'desc'};
+ if($b->{'default'}) { $ex.= ($ex=~/./ ? '. ' : '' ). 'Defaults to "'.$b->{'default'}.'"'}
+ if($b->{'multi'}) { $ex.= ($ex=~/./ ? '. ' : '' ). "Can specify multiple times."}
+ if($b->{'depr'}) { $ex.= ($ex=~/./ ? '. ' : '' ). "DEPRECATED: ".$b->{'depr'}}
+ push(@list,'-'.$a,$ex);
+ }
+ }
+}
+
+$self->HelpBase();
+print STDERR "\nArguments:\n";
+ my $head=2;
+while(@list) {
+ $param = shift(@list);
+ if($head<=0 and !($param=~/^-/)){print STDERR "\n$param\n";next;}
+ $text = shift(@list);
+ write STDERR ;
+ $head--;
+}
+ return;
+ }
+
+sub HelpBase()
+ {
+ print STDERR "Usage: $0 [Arguments] [Transform Data-file] ...\n";
+ }
+1;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/common/DepConstants.pm
--- a/sysmodellibs/sysmodelgen/src/common/DepConstants.pm Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,467 +0,0 @@
-#!perl
-# Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-package DepConstants;
-
-use FindBin;
-use lib $FindBin::Bin;
-use strict;
-use Cwd;
-
-# -------------------------------------------------------
-# Data stores, etc
-# -------------------------------------------------------
-my $KDataDirectory = $FindBin::Bin."deptoolkit_data";
-sub DataDirectory { return $KDataDirectory; }
-
-my $KDataFile = $FindBin::Bin."deptoolkit_data"; # this is the default value, to be used if the user hasn't specified a value
-sub DataFile { return $KDataFile; }
-
-# -------------------------------------------------------
-# Html and icons files:
-# -------------------------------------------------------
-my $KIconsSourceDirectory = $FindBin::Bin."/../resources/html/icons";
-sub IconsSource() { return $KIconsSourceDirectory; }
-
-my $KZoomInIcon = "dep_zoom_in.gif";
-my $KZoomInDisabledIcon = "dep_zoom_in_disabled.gif";
-my $KTopOfPageIcon = "dep_top_of_page.gif";
-my $KSeperatorIcon = "dep_separator.gif";
-my $KArrowIcon = "dep_arrow.gif";
-my $KAtSignIcon = "dep_at_sign.gif";
-my $KHierarchyIcon = "dep_hierarchy.gif";
-my $KSysDefIcon = "dep_sysdef.gif";
-my $KLayerIcon = "dep_layer.gif";
-my $KBlockIcon = "dep_block.gif";
-my $KSubBlockIcon = "dep_sub_block.gif";
-my $KCollectionIcon = "dep_collection.gif";
-my $KComponentIcon = "dep_component.gif";
-my $KExeIcon = "dep_exe.gif";
-my $KWarningIcon = "dep_warning.gif";
-
-sub ZoomInIcon() { return $KZoomInIcon; }
-sub ZoomInDisabledIcon() { return $KZoomInDisabledIcon; }
-sub TopOfPageIcon() { return $KTopOfPageIcon; }
-sub SeperatorIcon() { return $KSeperatorIcon; }
-sub ArrowIcon() { return $KArrowIcon; }
-sub AtSignIcon() { return $KAtSignIcon; }
-sub HierarchyIcon() { return $KHierarchyIcon; }
-sub SysDefIcon() { return $KSysDefIcon; }
-sub LayerIcon() { return $KLayerIcon; }
-sub BlockIcon() { return $KBlockIcon; }
-sub SubBlockIcon() { return $KSubBlockIcon; }
-sub CollectionIcon() { return $KCollectionIcon; }
-sub ComponentIcon() { return $KComponentIcon; }
-sub ExeIcon() { return $KExeIcon; }
-sub WarningIcon() {return $KWarningIcon; }
-
-# Following methods contsruct the HTML image tags using the source directory
-# (For output files, use the ImgHtml() by passing the /icons directory file names)
-sub ZoomInImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KZoomInIcon", 'Causal details of relationship');
- }
-
-sub ZoomInDisabledImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KZoomInDisabledIcon", 'Manual dependency: no details available');
- }
-
-sub TopOfPageImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KTopOfPageIcon", 'Top', "\#_top");
- }
-
-sub SeperatorImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KSeperatorIcon");
- }
-
-sub ArrowImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KArrowIcon");
- }
-
-sub AtSignImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KAtSignIcon", 'is located at');
- }
-
-sub HierarchyImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KHierarchyIcon", "System Model Hierarchy");
- }
-
-sub SysDefImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KSysDefIcon");
- }
-
-sub LayerImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KLayerIcon", "Layer");
- }
-
-sub BlockImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KBlockIcon", "Block");
- }
-
-sub SubBlockImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KSubBlockIcon", "Sub-block");
- }
-
-sub CollectionImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KCollectionIcon", "Collection");
- }
-
-sub ComponentImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KComponentIcon", "Component");
- }
-
-sub ExeImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KExeIcon", "Executable");
- }
-
-sub WarningImgHtml()
- {
- my $hrefRelativeDepth = $_[0] ? $_[0] : 0;
- return RelativeImgHtml($hrefRelativeDepth, "icons/$KWarningIcon", "Warning");
- }
-
-# Genric:
-sub RelativeImgHtml()
- {
- my $hrefRelativeDepth = shift;
- my $img = shift; # image file
- my $alt = shift; # tool tip text
- my $url = shift; # if a url is given, turn it into a href
-
- my $relativeDirText = ""; # where the main index file is.
- $relativeDirText = "../" x $hrefRelativeDepth if defined $hrefRelativeDepth;
- $relativeDirText =~ s@\/$@@; # now remove the trailing slash
- $img = $relativeDirText."/".$img;
-
- return ImgHtml($img, $alt, $url);
- }
-
-sub ImgHtml()
- {
- my $img = shift; # image file
- my $alt = shift; # tool tip text
- my $url = shift; # if a url is given, turn it into a href
- my $imgHtml = "";
- return $imgHtml if $img eq "";
- $imgHtml .= "" if $url;
- $imgHtml .= " 1;
-use constant KDependent => 2;
-# Dependency type between two items:
-use constant KStaticDependency => 1;
-use constant KDynamicDependency => 2;
-use constant KManualDependency => 3;
-
-# -------------------------------------------------------
-# ERROR & WARNING CODES
-# -------------------------------------------------------
-
-use constant KErrorNone => 0;
-
-use constant KIncorrectSyntax => 1;
-use constant KFileDoesNotExist => 2;
-use constant KCannotOpenFile => 3;
-use constant KInvalidROMLog => 4;
-use constant KBinaryNotInROM => 5;
-use constant KNoBinariesInROM => 6;
-use constant KBinaryDoesNotExist => 7;
-use constant KMapFileDoesNotExist => 8;
-use constant KFailure => 9;
-
-# System_Definition.xml error codes:
-use constant KSysDefNotFound => 31;
-use constant KInvalidSysDefXML => 32;
-use constant KConfigurationNotFound => 33;
-
-# Graphing error codes:
-use constant KDotExeNotFound => 41;
-
-# HTML rendering error codes:
-#
-
-# Codes for scripts and modules (starting at 100):
-use constant KStartOfScriptCodes => 100;
-use constant KUnknownModule => 100;
-use constant KModel => 101;
-use constant KFileMaps => 102;
-use constant KDepInfo => 103;
-use constant KDepInfoToLinkDeps => 104;
-use constant KDepInfoToHtml => 105;
-use constant KDepsTree => 106;
-use constant KModelEngine => 107;
-use constant KDepRendererCommon => 108;
-use constant KDepSummariesRenderer => 109;
-use constant KDepDetailsRenderer => 110;
-use constant KGenGraphs => 111;
-use constant KSysDefParser => 112;
-use constant KSysModelDepsGenerator => 113;
-use constant KDepsCommon => 114;
-use constant KDotDigraph => 115;
-
-# Logging severity levels:
-use constant ERROR => 1;
-use constant WARNING => 2;
-use constant INFO => 3;
-use constant VERBOSE => 4;
-
-# Script or module-level error codes (starting at 200):
-use constant KUnknownModuleError => 200;
-use constant KModelError => 201;
-use constant KFileMapsError => 202;
-use constant KDepInfoError => 203;
-use constant KDepInfoToLinkDepsError => 204;
-use constant KDepInfoToHtmlError => 205;
-use constant KDepsTreeError => 206;
-use constant KModelEngineError => 207;
-use constant KDepRendererCommonError => 208;
-use constant KDepSummariesRendererError => 209;
-use constant KDepDetailsRendererError => 210;
-use constant KGenGraphsError => 211;
-use constant KSysDefParserError => 212;
-use constant KSysModelDepsGeneratorError => 213;
-use constant KDepsCommonError => 214;
-use constant KDotDigraphError => 215;
-
-# Script or module-level warning codes (starting at 300):
-use constant KUnknownModuleWarning => 300;
-use constant KModelWarning => 301;
-use constant KFileMapsWarning => 302;
-use constant KDepInfoWarning => 303;
-use constant KDepInfoToLinkDepsWarning => 304;
-use constant KDepInfoToHtmlWarning => 305;
-use constant KDepsTreeWarning => 306;
-use constant KModelEngineWarning => 307;
-use constant KDepRendererCommonWarning => 308;
-use constant KDepSummariesRendererWarning => 309;
-use constant KDepDetailsRendererWarning => 310;
-use constant KGenGraphsWarning => 311;
-use constant KSysDefParserWarning => 312;
-use constant KSysModelDepsGeneratorWarning => 313;
-use constant KDepsCommonWarning => 314;
-use constant KDotDigraphWarning => 315;
-
-# Script or module-level info codes (starting at 400):
-use constant KUnknownModuleInfo => 400;
-use constant KModelInfo => 401;
-use constant KFileMapsInfo => 402;
-use constant KDepInfoInfo => 403;
-use constant KDepInfoToLinkDepsInfo => 404;
-use constant KDepInfoToHtmlInfo => 405;
-use constant KDepsTreeInfo => 406;
-use constant KModelEngineInfo => 407;
-use constant KDepRendererCommonInfo => 408;
-use constant KDepSummariesRendererInfo => 409;
-use constant KDepDetailsRendererInfo => 410;
-use constant KGenGraphsInfo => 411;
-use constant KSysDefParserInfo => 412;
-use constant KSysModelDepsGeneratorInfo => 413;
-use constant KDepsCommonInfo => 414;
-use constant KDotDigraphInfo => 415;
-
-my @KUnknownModuleCodes = (KUnknownModuleError, KUnknownModuleWarning, KUnknownModuleInfo);
-my @KModelCodes = (KModelError, KModelWarning, KModelInfo);
-my @KFileMapsCodes = (KFileMapsError, KFileMapsWarning, KFileMapsInfo);
-my @KDepInfoCodes = (KDepInfoError, KDepInfoWarning, KDepInfoInfo);
-my @KDepInfoToHtmlCodes = (KDepInfoToHtmlError, KDepInfoToHtmlWarning, KDepInfoToHtmlInfo);
-my @KDepInfoToLinkDepsCodes = (KDepInfoToLinkDepsError, KDepInfoToLinkDepsWarning, KDepInfoToLinkDepsInfo);
-my @KDepsTreeCodes = (KDepsTreeError, KDepsTreeWarning, KDepsTreeInfo);
-my @KModelEngineCodes = (KModelEngineError, KModelEngineWarning, KModelEngineInfo);
-my @KDepRendererCommonCodes = (KDepRendererCommonError, KDepRendererCommonWarning, KDepRendererCommonInfo);
-my @KDepSummariesRendererCodes = (KDepSummariesRendererError, KDepSummariesRendererWarning, KDepSummariesRendererInfo);
-my @KDepDetailsRendererCodes = (KDepDetailsRendererError, KDepDetailsRendererWarning, KDepDetailsRendererInfo);
-my @KGenGraphsCodes = (KGenGraphsError, KGenGraphsWarning, KGenGraphsInfo);
-my @KSysDefParserCodes = (KSysDefParserError, KSysDefParserWarning, KSysDefParserInfo);
-my @KSysModelDepsGeneratorCodes = (KSysModelDepsGeneratorError, KSysModelDepsGeneratorWarning, KSysModelDepsGeneratorInfo);
-my @KDepsCommonCodes = (KDepsCommonError, KDepsCommonWarning, KDepsCommonInfo);
-my @KDotDigraphCodes = (KDotDigraphError, KDotDigraphWarning, KDotDigraphInfo);
-
-sub ModuleErrorCodes()
- {
- my $moduleCode = shift;
- --(my $level = shift); # decrement as it's an index into an array
- return 0 if $moduleCode < KStartOfScriptCodes or $level < 0 or $level > 2;
- return $KModelCodes[$level] if ($moduleCode == KModel);
- return $KFileMapsCodes[$level] if ($moduleCode == KFileMaps);
- return $KDepInfoCodes[$level] if ($moduleCode == KDepInfo);
- return $KDepInfoToLinkDepsCodes[$level] if ($moduleCode == KDepInfoToLinkDeps);
- return $KDepInfoToHtmlCodes[$level] if ($moduleCode == KDepInfoToHtml);
- return $KDepsTreeCodes[$level] if ($moduleCode == KDepsTree);
- return $KModelEngineCodes[$level] if ($moduleCode == KModelEngine);
- return $KDepRendererCommonCodes[$level] if ($moduleCode == KDepRendererCommon);
- return $KDepSummariesRendererCodes[$level] if ($moduleCode == KDepSummariesRenderer);
- return $KDepDetailsRendererCodes[$level] if ($moduleCode == KDepDetailsRenderer);
- return $KGenGraphsCodes[$level] if ($moduleCode == KGenGraphs);
- return $KSysDefParserCodes[$level] if ($moduleCode == KSysDefParser);
- return $KSysModelDepsGeneratorCodes[$level] if ($moduleCode == KSysModelDepsGenerator);
- return $KDepsCommonCodes[$level] if ($moduleCode == KDepsCommon);
- return $KDotDigraphCodes[$level] if ($moduleCode == KDotDigraph);
-
- return $KUnknownModuleCodes[$level];
- }
-
-#-----------------------------------------------------------------------------
-# EPOCROOT, NM, CPPFILT, PETRAN
-#-----------------------------------------------------------------------------
-my $EPOCROOT = $ENV{EPOCROOT};
-
-# Global Variables:
-my $NM = "nm.exe";
-my $CPPFILT = "c++filt.exe";
-my $PETRAN = "petran.exe";
-my $ELFTRAN = "elftran.exe";
-
-sub EPOCROOT { return $EPOCROOT; }
-sub NM { return $NM; }
-sub CPPFILT { return $CPPFILT; }
-sub PETRAN { return $PETRAN; }
-sub ELFTRAN { return $ELFTRAN; }
-
-#-----------------------------------------------------------------------------
-# DOT (Graphing tool)
-#-----------------------------------------------------------------------------
-my $KDOTDirectory = $FindBin::Bin."/../resources/installed/Dot";
-my $KDOT = $KDOTDirectory."/dot.exe -q";
-sub Dot { return $KDOT." -q1"; }
-
-my $KNEATO = $KDOTDirectory."/neato.exe";
-sub Neato { return $KNEATO; }
-
-# -------------------------------------------------------
-# Auxiliary files:
-# -------------------------------------------------------
-my $KAuxiliaryDirectory = $FindBin::Bin."/resources/auxiliary";
-my $KSystemModelColorsXmlFile = $KAuxiliaryDirectory."/system_model_colors.xml";
-my $KSystemModelExtraInfoXmlFile = $KAuxiliaryDirectory."/SystemInfo.xml";
-
-sub SystemModelColorsXmlFile()
- {
- my $colorsFile = $KSystemModelColorsXmlFile;
- $colorsFile = $FindBin::Bin."/../../resources/auxiliary/system_model_colors.xml" if ! -e $colorsFile;
- return $colorsFile;
- }
-
-sub SystemModelXmlDataDir()
- {
- my $file = $KAuxiliaryDirectory;
- $file = $FindBin::Bin."/../../resources/auxiliary" if ! -e $file;
- return $file;
- }
-
-#-----------------------------------------------------------------------------
-# Xalan
-#-----------------------------------------------------------------------------
-my $KXalanDirectory = $FindBin::Bin."/resources/installed/Xalan";
-my $KXalan = $KXalanDirectory."/xalan.exe";
-sub Xalan()
- {
- my $xalan = $KXalan;
- $xalan = $FindBin::Bin."/../../resources/installed/Xalan/xalan.exe" if ! -e $xalan;
- return $xalan;
- }
-
-my $KSystemoModelSVG = $FindBin::Bin."/../temp/sysmodel.svg";
-sub SystemoModelSVG { return $KSystemoModelSVG; }
-
-#-----------------------------------------------------------------------------
-# Gzip
-#-----------------------------------------------------------------------------
-sub GzipCommand
- { # returns empty if gzip not in path
- foreach my $dir (split(/;/,$ENV{'PATH'}))
- {
- $dir.="\\gzip.exe";
- if(-e $dir) {return "gzip -9"}
- }
- return "";
- }
-
-
-#-----------------------------------------------------------------------------
-# Logging
-#-----------------------------------------------------------------------------
-my $KLogDirectory = $FindBin::Bin."/../temp";
-my $KDepToolkitLogFile = $KLogDirectory."/log.txt";
-sub LogFile { return $KDepToolkitLogFile; }
-
-1;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/common/LogItem.pm
--- a/sysmodellibs/sysmodelgen/src/common/LogItem.pm Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-# Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-package LogItem;
-
-use FindBin;
-use lib $FindBin::Bin;
-use DepConstants;
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: new
-# Purpose: Constructor
-# Input: None (extracted from command line args)
-# Output: A reference to itself
-#-------------------------------------------------------------------------------------------------
-sub new()
- {
- my $package = shift;
- my $self = {}; # Create reference to object
- bless $self, $package; # Associate a reference with class name
- my %parameters = @_;
- $self->{iMessage} = $parameters{'msg'} ? $parameters{'msg'} : "";
- $self->{iCode} = $parameters{'code'} ? $parameters{'code'} : 0;
- $self->{iModule} = $parameters{'module'} ? $parameters{'module'} : 0;
- $self->{iSeverity} = $parameters{'severity'} ? $parameters{'severity'} : 3; # default is INFO
- $self->{iDepth} = $parameters{'depth'} ? $parameters{'depth'} : 0;
-
- $self->{iCode} = &DepConstants::ModuleErrorCodes($self->{iModule}, $self->{iSeverity}) if $self->{iCode} == 0;
-
- $self->{iDate} = scalar(localtime);
- return $self;
- }
-
-sub Message()
- {
- my $self = shift;
- $self->{iMessage} = $_[0] if $_[0];
- return $self->{iMessage};
- }
-
-sub Module()
- {
- my $self = shift;
- $self->{iModule} = $_[0] if $_[0];
- return $self->{iModule};
- }
-
-sub Severity()
- {
- my $self = shift;
- $self->{iSeverity} = $_[0] if $_[0];
- return $self->{iSeverity};
- }
-
-sub Depth()
- {
- my $self = shift;
- $self->{iDepth} = $_[0] if $_[0];
- return $self->{iDepth};
- }
-
-sub Date()
- {
- my $self = shift;
- $self->{iDate} = $_[0] if $_[0];
- return $self->{iDate};
- }
-
-sub Code()
- {
- my $self = shift;
- $self->{iCode} = $_[0] if $_[0];
- return $self->{iCode};
- }
-
-sub LogText()
- {
- my $self = shift;
- return $self->SeverityText()."(".$self->{iCode}.") [".$self->{iDate}."]: "." " x $self->{iDepth}.$self->{iMessage}."\n";
- }
-
-sub SeverityText()
- {
- my $self = shift;
- return " ERROR" if $self->Severity() == DepConstants::ERROR;
- return "WARNING" if $self->Severity() == DepConstants::WARNING;
- return " INFO";
- }
-
-1;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/common/Logger.pm
--- a/sysmodellibs/sysmodelgen/src/common/Logger.pm Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-# Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-package Logger;
-
-use FindBin;
-use lib $FindBin::Bin;
-
-use DepConstants;
-use LogItem;
-
-# Global statics:
-
-# This is expected to be set by the client code using $Logger::LOGFILE
-# If it's not defined, the logging is done to stdout
-$LOGFILE = "";
-
-$SEVERITY = DepConstants::ERROR;
-
-# Forward declarations:
-sub Log($$$$);
-sub LogFatal($$$);
-sub LogError($$$);
-sub LogWarning($$$);
-sub LogInfo($$$);
-sub LogRaw($);
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: Log
-# Purpose: Logs to the screen
-# Input: Messsage, Module Code, Severity
-# Output: None
-#-------------------------------------------------------------------------------------------------
-sub Log($$$$)
- {
- my $message = $_[0];
- my $callingModule = $_[1];
- my $severity = $_[2] ? $_[2] : DepConstants::INFO;
- my $depth = $_[3] ? $_[3] : 0;
-
- # log this only if its severity level is less than or equal to the user-defined level:
- # -w1: errors only (default)
- # -w2: warnings as well as errors
- # -w3: info messages, warnings and errors.
- return if $severity > $SEVERITY;
-
- my $code = &DepConstants::ModuleErrorCodes($callingModule, $severity);
- my $logItem = new LogItem(msg => $message, code => $code, severity => $severity, depth => $depth);
- &WriteToFile($logItem->LogText());
- }
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: LogFatal
-# Purpose: Logs to the screen
-# Input: Message Module Code
-# Output: None
-#-------------------------------------------------------------------------------------------------
-sub LogFatal($$$)
- {
- my $message = $_[0];
- my $callingModule = $_[1];
- my $depth = $_[2] ? $_[2] : 0;
- my $exitCode = $_[3] ? $_[3] : DepConstants::KFailure;
- &Log("Fatal! ".$message, $callingModule, DepConstants::ERROR, $depth);
- exit $exitCode;
- }
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: LogError
-# Purpose: Logs to the screen
-# Input: Message Module Code
-# Output: None
-#-------------------------------------------------------------------------------------------------
-sub LogError($$$)
- {
- my $message = $_[0];
- my $callingModule = $_[1];
- my $depth = $_[2] ? $_[2] : 0;
- &Log($message, $callingModule, DepConstants::ERROR, $depth);
- }
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: LogWarning
-# Purpose: Logs to the screen
-# Input: Message Module Code
-# Output: None
-#-------------------------------------------------------------------------------------------------
-sub LogWarning($$$)
- {
- # first check the severity level:
- return if $SEVERITY < DepConstants::WARNING;
-
- my $message = $_[0];
- my $callingModule = $_[1];
- my $depth = $_[2] ? $_[2] : 0;
- &Log($message, $callingModule, DepConstants::WARNING, $depth);
- }
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: LogInfo
-# Purpose: Logs to the screen
-# Input: Message Module Code
-# Output: None
-#-------------------------------------------------------------------------------------------------
-sub LogInfo($$$)
- {
- # first check the severity level:
- return if $SEVERITY < DepConstants::INFO;
-
- my $message = $_[0];
- my $callingModule = $_[1];
- my $depth = $_[2] ? $_[2] : 0;
- &Log($message, $callingModule, DepConstants::INFO, $depth);
- }
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: LogRaw
-# Purpose: Logs a piece of raw text to the screen
-# Input: Messsage string
-# Output: None
-#-------------------------------------------------------------------------------------------------
-sub LogRaw($)
- {
- # only log raw text if the warning level is on info - i.e. the most verbose:
- return if $SEVERITY < DepConstants::INFO;
- &WriteToFile($_[0]);
- }
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: LogList
-# Purpose: Logs a list of log items
-# Input: array of logs starting with ERROR, WARNING or Note
-# Output: None
-#-------------------------------------------------------------------------------------------------
-sub LogList
- {
- foreach $log (@_)
- {
- $log.="\n";
- if($log=~s/^ERROR:\s*//)
- {
- &LogError($log,DepConstants::KUnknownModuleError,1);
- }
- elsif($log=~s/^WARNING:\s*//)
- {
- &LogWarning($log,DepConstants::KUnknownModuleError,1);
- }
- elsif($log=~s/^Note:\s*//)
- {
- &LogInfo($log,DepConstants::KUnknownModuleError,1);
- }
- else
- {
- &LogRaw($log);
- }
- }
- }
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: WriteToFile
-# Purpose:
-# Input: A message string
-# Output: None
-#-------------------------------------------------------------------------------------------------
-sub WriteToFile()
- {
- my $message = shift;
- if ($LOGFILE ne "")
- {
- open(LOGFILE, ">> $LOGFILE") or die "Can't open the log file '$LOGFILE': $!";
- print LOGFILE $message;
- }
- else
- {
- print $message; # print to stdout
- }
- }
-
-1;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/auxiliary/Example-shapes.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/auxiliary/Example-shapes.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Plug-in
+ Reference
+ New {@ver}
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/auxiliary/Levels.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/auxiliary/Levels.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/auxiliary/Levels91.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/auxiliary/Levels91.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/auxiliary/Shapes.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/auxiliary/Shapes.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/auxiliary/SystemInfo.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/auxiliary/SystemInfo.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,362 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Programming Support/Java J2ME/Bluetooth and SMS Push
+
+
+ Programming Support/Java J2ME/Bluetooth and SMS Push
+
+
+
+
+ Programming Support/Java J2ME/MIDP 2.0 Packages
+
+
+
+
+
+ Programming Support/Java J2ME/MIDP 2.0 Packages
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/auxiliary/display-names.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/auxiliary/display-names.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/auxiliary/system_model_colors.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/auxiliary/system_model_colors.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,806 @@
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/xsd/Border-shapes.xsd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/xsd/Border-shapes.xsd Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The regular expression on the "value" attribute is as follows: 1) one of the special keywords as specified or 2) "#" followed by one or more characters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/xsd/Border-styles.xsd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/xsd/Border-styles.xsd Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/xsd/Colours.xsd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/xsd/Colours.xsd Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The regular expression in the constraint of
+ the "value" attribute is: 1) a valid rgb() expression or 2) a
+ valid hex number or 3) a valid alpha expression or 4) a three
+ digit hex triple or 5) a valid %rgb() expression.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/xsd/Levels.xsd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/xsd/Levels.xsd Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/xsd/Localisation.xsd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/xsd/Localisation.xsd Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/xsd/Patterns.xsd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/xsd/Patterns.xsd Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The regular expression on the "value" attribute is as follows: 1) one of the special keywords as specified or 2) "#" followed by one or more characters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/xsd/Shapes.xsd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/xsd/Shapes.xsd Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The regular expression on the
+ "type"
+ attribute is as follows: 1)
+ one of the special keywords as
+ specified or 2) "#" followed by
+ one or more character
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The regular expression on the
+ "type"
+ attribute is as follows: 1)
+ one of the special keywords as
+ specified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The regular expression in the constraint
+ of
+ the "value" attribute is: 1) a valid rgb() expression or
+ 2) a
+ valid hex number or 3) a valid alpha expression or 4)
+ a
+ three
+ digit hex triple or 5) a valid %rgb() expression.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The regular expression in the constraint of
+ the "value" attribute is: 1) a valid rgb() expression or 2) a
+ valid hex number or 3) a valid alpha expression or 4) a three
+ digit hex triple or 5) a valid %rgb() expression.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/resources/xsd/sysinfo.xsd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/resources/xsd/sysinfo.xsd Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/Draw.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/Draw.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,2303 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ component
+
+
+1 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ER5 ER5U 6.0 6.1 6.2 7.0 7.0s 8.0 8.0a 8.0b 8.1 8.1a 8.1b 9.0 9.1 9.2 9.3 9.4 9.5 9.6 Future
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+resolution=" "
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Drawing in static mode:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ font-family: ' '
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on(' -content- ');off(' -label- ');
+ off(' -content- ');on(' -label- ');
+
+
+ -label-
+
+
+ -content-
+ hidden
+
+
+
+
+
+
+ on(' -content- ');
+ off(' -content- ');
+
+
+
+
+
+ -content-
+ hidden
+
+
+
+
+
+
+
+
+ on(' -content- ')
+ off(' -content- ')
+
+
+ -content-
+ hidden
+
+
+
+
+
+
+
+
+
+
+ block
+ subblock
+ layer
+ component
+ collection
+ Error
+
+
+
+
+
+
+
+
+details
+ /
+ Blocks
+ SubBlocks
+ Layers
+ Components
+ Collections
+ Error
+ / .html
+
+
+
+
+
+
+ ' '
+ Arial
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fill: !important;
+ fill: !important;
+
+
+
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ 0%
+ %
+
+
+
+
+ 100%
+ 0%
+ %
+
+
+
+
+ 100%
+ 0%
+ %
+
+
+
+
+ 100%
+ 0%
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fill: url(
+
+ ); stroke: none; stroke-width: 0;
+
+
+
+
+
+
+
+ url( )
+
+
+
+ url( )
+
+
+
+
+
+
+ fill: ;
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ url(#bg )
+
+
+
+
+
+
+ url(
+
+ )
+
+
+
+ url(
+
+ )
+
+
+
+ fill: url(
+
+
+
+ ); stroke: none; stroke-width: 0;
+
+
+
+
+
+
+
+
+
+
+ fill: ;
+
+
+
+
+
+
+
+
+
+
+
+
+stroke-width:
+ 2
+ 0.4
+ ;
+
+
+
+
+
+ grey
+
+
+
+
+
+
+ fill:
+
+ url(#Patternradial-grad)
+ url(#Patternradial-grad)
+ url(#Patternstriped-diag-up)
+ none
+
+ ; stroke: none; stroke-width: 0;
+
+
+
+
+fill: none; stroke: none; stroke-width: 0;
+
+#Borderbox
+
+ -clipLB
+ -clipLT
+ -clipRB
+ -clipRT
+ -clipAll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+
+
+ middle
+
+ mathematical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ with no level ( )
+
+
+
+
+
+ with no level ( ) given same level as parent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ mathematical
+ mathematical
+ ideographic
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mathematical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ translate(
+
+
+
+ )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Error: layer " " does not exist"
+
+
+
Error: layer " " does not exist"
+
+
+
Error: " " is after " "
+
+
+
Error: Layer group cannot be bounded by spanned layer " "
+
+
+
Error: Layer group cannot be bounded by spanned layer " "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
error: invalid level name: in " " [ ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Error! This template should not have been called
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ?
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+ scale(
+
+
+
+
+ 1
+ )
+ translate( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/DrawSvg.pl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/DrawSvg.pl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,43 @@
+#!perl
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+use strict;
+use warnings;
+use FindBin;
+use lib $FindBin::Bin;
+use lib $FindBin::Bin."/svg";
+
+use lib $FindBin::Bin."/../..";
+use SysModelGen;
+
+use DrawSvg;
+my %versions = &DrawSvg::SchemaVersionsFromArgs(@ARGV);
+my $drawer = new DrawSvg();
+
+
+foreach my $v (grep /^3\./,keys(%versions))
+ { # need to downgrade anything in 3.x syntax
+ my $i=0;
+ foreach my $sys (@{$versions{$v}})
+ {
+ $i++;
+ $drawer->Downgrade($sys,"sysdef$i.xml");
+ }
+ }
+
+$drawer->Draw();
+
+exit;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/DrawSvg.pm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/DrawSvg.pm Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,1368 @@
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Package: DrawSvg
+# Build the SVG diagram
+#
+#
+
+package DrawSvg;
+
+use Cwd;
+use Cwd 'abs_path';
+use File::Copy;
+use File::Path;
+use FindBin;
+use lib $FindBin::Bin."/../common";
+use Getopt::Long qw(:config no_ignore_case);
+use File::Basename;
+use File::Spec;
+
+
+use constant KNoCoreOs => 0;
+use constant KCoreOsWithHal => 1;
+use constant KCoreOsWithHardware => 2;
+use constant KOldSystemModelGenerator => 202;
+
+my @Filters;
+
+#-------------------------------------------------------------------------------------------------
+# Subroutine: new
+# Purpose:
+# Input: None (extracted from command line args)
+# Output: A reference to itself
+#-------------------------------------------------------------------------------------------------
+sub new
+ {
+ my $package = shift;
+ my $self = {}; # Create reference to object
+ bless $self, $package; # Associate a reference with class name
+
+ $self->{iScriptCode} = 999;
+
+ # basic test of command line:
+ if (scalar(@ARGV) == 0)
+ {
+ $self->Help();
+ exit Logger::KErrorNone; # nothing to do. Leave
+ }
+
+ # process the input:
+ $self->ParseCommandLineOptions();
+
+ $self->{iReturnCode} = Logger::KErrorNone;
+ return $self;
+ }
+
+
+# gets the schema versions without comsuming any of the command line arguments
+sub SchemaVersionsFromArgs
+ {
+ my @sysdefs;
+ my @ini;
+ my $model;
+ for(my $i=0;$i<=$#_;$i++)
+ {
+ if($_[$i] eq '-model')
+ {
+ $model=$_[++$i];
+ }
+ if($_[$i] eq '-sysdef')
+ {
+ $i++;
+ push(@sysdefs,split(/,/,$_[$i]));
+ }
+ elsif($_[$i] eq '-i')
+ {
+ push(@ini,$_[++$i]);
+ }
+ }
+ if(!scalar(@sysdefs) )
+ {
+ foreach my $in (@ini)
+ {
+ open(INI,$in);
+ my $iniDir = $in;
+ $iniDir =~ s,[^\\//]+$,,;
+ while(my $line = )
+ {
+ $line =~ s/^\s*//; # remove spaces
+ $line =~ s/\s*$//; # a/a
+ $line =~ s/\n$//; # remove new line
+ if($line =~/"/) {
+ $line =~ s/^(([^"#]*"[^"]*")+)#.*$/$1/; # remove comments indicated by # (to the end of the line)
+ } else {
+ $line =~ s/#.*$//; # remove comments indicated by # (to the end of the line)
+ }
+ next if $line eq ""; # ignore blank lines
+ if ($line =~ m/sysdef\s*=\s*(.*)/i)
+ {
+ foreach my $file (split(/,/,$1))
+ {
+ push(@sysdefs,&FullPath($iniDir,$file));
+ }
+ }
+ }
+ close INI;
+ }
+ }
+ my $dir = $model;
+ $dir=~s,[^/\\]+$,,;
+ open M,$model;
+ $/=">";
+ while(my $line=)
+ {
+ if($line=~s/)
+ {
+ if($line =~ /{iRelease} && return $self->{iRelease} ;
+ # if not there, it's in the s12,
+ my $ver;
+ my $t = $/;
+ foreach my $s12 (@{$self->{'iS12'}}) # use version from first s12 file listed
+ {
+ if(-d $s12) {next}
+ open(FILE,$s12) || return;
+ $/='>';
+ while()
+ {
+ if(/{'iDepsFile'})
+ {
+ open(FILE,$self->{'iDepsFile'}) || return;
+ $/='>';
+ while()
+ {
+ if(/ ',',
+ 'iS12' => ',',
+ 'iExtra' => ',',
+ 'iDepsFile' => '',
+ 'iLocalize' => ',',
+ 'iLevels' => ',',
+ 'iStyle' => ',',
+ 'iOverlay' => ',',
+ 'iBorder' => ',',
+ 'iColor' => ',',
+ 'iShapes' => '',
+ 'iLogoSrc' => '',
+ 'iModel' => '',
+ 'iLogFile' => '',
+ );
+
+sub ParseCommandLineOptions()
+ {
+ my $self = shift;
+
+ # Possible arguments (with default values where possible):
+ my $help;
+ $self->{iSysDefFile};
+ $self->{iDepsFile};
+ $self->{iOutputCsv};
+ $self->{iCsvColumns};
+ $self->{iCsvLabels};
+ $self->{iTemporaryDirectory};
+ $self->{iLogFile};
+ $self->{iWarningLevel};
+ $self->{iClean}; # if specified, it will delete the temp directory.
+
+ # custom properties:
+ $self->{iDiagram}; # the output svg
+ $self->{iCopyright};
+ $self->{iRelease};
+ $self->{iName};
+ $self->{iLabel};
+ $self->{iModel};
+ $self->{iCoreOs};
+ $self->{iLevels};
+ $self->{iExtra};
+ $self->{iIniFile};
+ $self->{iS12};
+ $self->{iLink};
+ # Read in the user arguments:
+ GetOptions( "h" => \$help,
+ "i=s" => \$self->{iIniFile},
+ "output=s" => \$self->{iDiagram} ,
+ "csv_output=s" => \$self->{iOutputCsv} ,
+ "csv_columns=s" => \$self->{iCsvColumns} ,
+ "csv_labels=s" => \$self->{iCsvLabels} ,
+ 'xml_output=s' => \$self->{iOutputXml} ,
+ "model=s" => \$self->{iModel} ,
+ "sysdef=s" => \@{$self->{iSysDefFile}} ,
+ "srcvar=s" => \@{$self->{iSourceRoot}} ,
+ "shapes=s" => \$self->{iShapes},
+ "link=s" => \$self->{iLink},
+ "system_name=s" => \$self->{iName} ,
+ "system_version=s" => \$self->{iRelease} ,
+ "model_name=s" => \$self->{iLabel} ,
+ "model_version=s" => \$self->{iRevision},
+ "model_version_type=s" => \$self->{iRevisionType},
+ "copyright=s" => \$self->{iCopyright},
+ "distribution=s" => \$self->{iDistribution},
+ "legend_title=s" => \$self->{iLgdTitle},
+ "coreos=s" => \$self->{iCoreOs},
+
+ "sysinfo=s" => \@{$self->{iExtra}},
+ "localize=s" => \@{$self->{iLocalize}},
+ "levels=s" => \@{$self->{iLevels}},
+
+ "color=s" => \@{$self->{iColor}},
+ "border-shape=s" => \@{$self->{iBorder}},
+ "pattern=s" => \@{$self->{iOverlay}},
+ "border-style=s" => \@{$self->{iStyle}},
+
+ "filter=s" => \@{$self->{iFilter}},
+ "filter-has=s" => \&OrderedOption,
+ "show-attr=s" => \&OrderedOption,
+ "hide-attr=s" => \&OrderedOption,
+ "ignore=s" => \@{$self->{iIgnore}},
+
+ "s12=s" => \@{$self->{iS12}},
+
+ "detail=s" => \$self->{iDetail},
+ "detail-type=s" => \$self->{iDetailType},
+ "page-width=s" => \$self->{iPageWidth},
+ "static" => \$self->{iStatic},
+ "deps=s" => \$self->{iDepsFile},
+ "w=s" => \$self->{iWarningLevel},
+ "clean" => \$self->{iClean},
+ "compress" => \$self->{iCompress},
+ "tempdir=s" => \$self->{iTemporaryDirectory},
+ "dpi=s" => \$self->{iPrintResolution},
+ "model_font=s" => \$self->{iModelFont},
+ "version-list=s" => \$self->{iVersions},
+ "log=s" => \$self->{iLogFile},
+ "logo=s" => \$self->{iLogoSrc},
+ "logo-height=s" => \$self->{iLogoHeight},
+ "logo-width=s" => \$self->{iLogoWidth},
+ "legend-width=s" => \$self->{iLegendWidth},
+ "legend-max-scale=s" => \$self->{iLegendMaxScale},
+ "title-scale=s" => \$self->{iTitleScale},
+ "xslt-param=s" => \%{$self->{iXsltParam}},
+ "note=s" => \@{$self->{iLegendNote}}
+ );
+
+ if ($help)
+ {
+ warn $self->Help();
+ exit Logger::KErrorNone;
+ }
+
+ @{$self->{'iFiltering'}} = @Filters;
+ @Filters=();
+ my $i=0;
+ for($i=0;$i<=$#ARGV;$i++)
+ { # check remaining args to ensure they are valid
+ if($ARGV[$i]=~/^(http|file):\/\//) { # assume URLs are correct
+ next;
+ }
+ if($ARGV[$i] eq "-" || $ARGV[$i] eq "")
+ { #special values to use nothing or use the tmp file, but only valid for odd numbered args
+ if($i%2==1) {next}
+ $self->Help();
+ &Logger::LogFatal("Invalid syntax", KOldSystemModelGenerator, 0,Logger::KIncorrectSyntax);
+ }
+ if(!(-e $ARGV[$i])) {
+ warn "file $ARGV[$i] does not exist";
+ exit Logger::KFileDoesNotExist;
+ }
+ }
+
+ # Now read the ini file and override command line if necessary:
+ my @yr = gmtime();
+ my $dataroot =&SystemModelXmlDataDir();
+ my %defaults = (
+ 'iCopyright' => (1900+$yr[5])." Nokia Corporation",
+ 'iDiagram' => "sysmodel.svg",
+ 'iTemporaryDirectory' => "drawsvg_temp",
+ 'iName' => "Symbian OS" ,
+ 'iLabel' => "System Model",
+ 'iLgdTitle' => "Key",
+ 'iShapes' => "$dataroot/Shapes.xml" ,
+ 'iLogFile' => "" # do not set this to any default: stdout is used if log file isn't set
+ );
+ my %defaultsForMulti = (
+ 'iLocalize' => "$dataroot/display-names.xml" ,
+ 'iExtra' => "$dataroot/SystemInfo.xml"
+ );
+
+ $self->ReadIniFile();
+
+ foreach my $type ('iSysDefFile', 'iFilter','iSourceRoot')
+ {
+ if(scalar(@{$self->{$type}})==1 && $self->{$type}->[0]=~/,/)
+ { # treat as comma-separated for backwards compatibility (leave alone if no commas)
+ @{$self->{$type}} = split(/,/,$self->{$type}->[0]);
+ }
+ }
+ if (scalar(@{$self->{iIgnore}}))
+ {
+ foreach my $type ('iIgnore')
+ {
+ if(scalar(@{$self->{$type}})==1)
+ { # treat as semicolon-separated for backwards compatibility
+ @{$self->{$type}} = split(/;/,$self->{$type}->[0]);
+ }
+ }
+ }
+ else
+ {
+ push(@{$self->{iIgnore}}, "layer:Tools and Utils and SDKENG","layer:MISC","block:Techview")
+ }
+
+
+ my $ver = $self->GuessReleaseNumber(); # determine release from attached files.
+
+ # Use a special levels.xml file for 9.1 (unless it's specified by the user):
+ push(@{$self->{iLevels}}, "$dataroot/Levels91.xml") if !scalar(@{$self->{iLevels}}) and $ver eq "9.1";
+ push(@{$self->{iLevels}}, "$dataroot/Levels.xml") if !scalar(@{$self->{iLevels}}) and ($ver eq "9.2" or $ver eq "9.2" );
+
+ if(!scalar(@{$self->{'iFiltering'}}) && !scalar(@{$self->{'iFilter'}}))
+ { # filter only has a default if fitler-has is not set
+ @{$self->{'iFilter'}}= ("java","gt");
+ }
+ while (($key, $value) = each %defaults) {
+ $self->{$key} = $value if ! defined $self->{$key};
+ }
+
+ while (($key, $value) = each %defaultsForMulti) {
+ push(@{$self->{$key}}, $value) if ! scalar(@{$self->{$key}});
+ }
+
+
+
+ # if saving to .svgz, try to compress
+ $self->{iCompress} = $self->{iCompress} || ( $self->{iDiagram} =~ /\.svgz$/i );
+
+ # if there's a deps file XSLT will get revision number and type from that.
+ # if there is no deps file and neither revision nor revision type are specified, default to "DRAFT 1"
+ if(!$self->{'iDepsFile'} && !$self->{'iRevision'} && !$self->{'iRevisionType'})
+ {
+ $self->{'iRevisionType'} = "draft";
+ $self->{'iRevision'} = "1";
+ }
+
+ if ($self->{iShapes} eq "$dataroot/Shapes.xml" && !scalar(@{$self->{'iColor'}}))
+ { # if it's got the default shapes use default colours
+ @{$self->{iColor}} = (&SystemModelColorsXmlFile());
+ }
+
+ if(defined $self->{iCoreOs})
+ {
+ if($self->{iCoreOs}=~/(on|yes|true)$/i )
+ {
+ $self->{iCoreOs} = KCoreOsWithHal;
+ }
+ elsif($self->{iCoreOs}=~/(off|no|false)$/i )
+ {
+ $self->{iCoreOs} = KNoCoreOs;
+ }
+ elsif(! ($self->{iCoreOs}=~/^[0-9]+$/ )) # any other non-number
+ {
+ $self->{iCoreOs} = KCoreOsWithHardware;
+ }
+ }
+ else # use version numebr to decide
+ {
+ $self->{iCoreOs} = ($self->{iRelease} eq 'Future' || $ver > 9.4) ? KCoreOsWithHardware :
+ (($ver=~/^9\.4/) ? KCoreOsWithHal : KNoCoreOs);
+ }
+
+ $self->{'iGuessVer'} = $ver;
+
+ mkpath $self->{iTemporaryDirectory} if ! -d $self->{iTemporaryDirectory};
+
+ # set the log file if needed:
+ $Logger::LOGFILE = $self->{iLogFile} if $self->{iLogFile};
+
+ # set the correct warning level:
+ # -w=1: errors only (default)
+ # -w=2: warnings as well as errors
+ # -w=3: info messages, warnings and errors.
+ if (defined $self->{iWarningLevel} and $self->{iWarningLevel} > 1)
+ {
+ if ($self->{iWarningLevel} == 2)
+ {
+ $self->{iWarningLevel} = LogItem::WARNING;
+ }
+ elsif ($self->{iWarningLevel} == 3)
+ {
+ $self->{iWarningLevel} = LogItem::INFO;
+ }
+ else # for anything higher than set it to LogItem::VERBOSE
+ {
+ $self->{iWarningLevel} = LogItem::VERBOSE;
+ }
+ }
+ else
+ {
+ $self->{iWarningLevel} = LogItem::ERROR;
+ }
+ # set the logger up:
+ $Logger::SEVERITY = $self->{iWarningLevel};
+
+ # set all URIs
+
+ (my $dir = cwd ) =~ s#\/#\\#g;
+
+
+ foreach ( keys(%KFileParams)) {
+ if($self->{$_} eq '') {next} # no value, so do nothing
+ if($KFileParams{$_} eq '') {
+ $self->{$_} = &FullPath("$dir\\", $self->{$_} );
+ } elsif($KFileParams{$_} eq ',') {
+ foreach my $item (@{$self->{$_}}) {
+ if ($item eq '') {next} # skip if explicitly set to empty
+ $item = &FileAsUrl(&FullPath("$dir\\",$item));
+ }
+ next;
+ }
+ $self->{$_} = &FileAsUrl($self->{$_});
+ }
+
+}
+
+
+sub OrderedOption() {
+ my $var = shift;
+ my $val = shift;
+ if($var=~/^(show|hide)-attr$/) {
+ my $f = " "}
+ else {$f.="select='$val'/>"}
+ push(@Filters,$f);
+ } elsif($var eq 'filter-has' && $val eq '*') {
+ push(@Filters," ");
+ }elsif($var eq 'filter-has') {
+ if(!scalar(@Filters)) { # if the 1st is showing a filter than that implies everythig without a filter is turned off
+ push(@Filters,' ');
+ }
+ foreach my $v (split(/,/,$val)) {
+ push(@Filters," ");
+ }
+ }
+}
+
+
+
+sub FullPath {
+ my $root = shift;
+ my $file = shift;
+
+ # If the file is not specified then return null
+ if (!$file) {
+ return;
+ }
+
+
+ # If the file is a URL or Windows path then return it as is
+ if ($file =~ /:/) {
+ return $file;
+ }
+
+ if ($root && !-e $root) {
+ &Logger::LogFatal("root $root does not exist");
+ }
+
+ if (-f $root) {
+ $root = File::Basename::dirname($root)
+ }
+
+ # if root is empty or the same dir, then file is relative
+ if($root eq '' or $root eq '.') {
+ return $file;
+ }
+
+ # If the file is relative from the root then we want to add the drive letter to the file (if one exists)
+ if ($file =~ s/^[\\\/]// ) {
+ if ($root =~ /^([a-z]:)/i) {
+ return File::Spec->catdir($1, $file);
+ }
+ }
+
+ # Return the concatenated root and filename
+ return File::Spec->catdir($root, $file);
+}
+
+
+sub ReadIniFile()
+ {
+ my $self = shift;
+
+ return if ! defined $self->{iIniFile};
+
+ # Log a fatal error if the ini file is defined but doesn't exist:
+ &Logger::LogFatal("ini file does not exist\"$self->{iIniFile}\": $!", KOldSystemModelGenerator) if ! -e $self->{iIniFile};
+
+ open(INI, $self->{iIniFile}) or
+ &Logger::LogFatal("Could not open the ini file \"$self->{iIniFile}\": $!", KOldSystemModelGenerator);
+
+ &Logger::LogInfo("Reading ini file \"$self->{iIniFile}...", KOldSystemModelGenerator);
+
+ %AllowMulitples = (
+ "iLocalize" => 1,
+ "iExtra" => 1,
+ 'iLevels' => 1,
+ 'iSysDefFile' => 1,
+ 'iSourceRoot' => 1,
+ 'iS12' => 1,
+ "iIgnore" => 1,
+ "iFilter" => 1,
+ "iStyle" => 1,
+ "iOverlay" => 1,
+ "iBorder" => 1,
+ "iColor" => 1,
+ "iLegendNote" => 1,
+ "iXsltParam" => 2
+ ); # value of 2 means it's a hash, value of 1 is an array
+
+ foreach my $m (keys %AllowMulitples) {
+ # if it's already set, note that we're to ignore anything in the ini file
+ if($AllowMulitples{$m}==2 ? (scalar(%{$self->{$m}})>0) : (scalar(@{$self->{$m}})>0)) {$AllowMulitples{$m}=0}
+ }
+
+ %Ordered = (
+ "filter-has" => 1,
+ "show-attr" => 1,
+ "hide-attr" => 1
+ );
+
+ %IniMap = (
+ "model" => 'iModel' ,
+ "sysdef" => 'iSysDefFile' ,
+ 'srcvar' => 'iSourceRoot',
+ "shapes" => 'iShapes',
+ "system_name" => 'iName' ,
+ "model_name" => 'iLabel' ,
+ "system_version" => 'iRelease' ,
+ "copyright" => 'iCopyright',
+ "model_version" => 'iRevision',
+ "model_version_type" => 'iRevisionType',
+ "distribution" => 'iDistribution',
+ "legend_title" => 'iLgdTitle',
+ "coreos" => 'iCoreOs',
+ "sysinfo" => 'iExtra',
+ "localize" => 'iLocalize',
+ "levels" => 'iLevels',
+ "filter" => 'iFilter',
+ "ignore" => 'iIgnore',
+ "output" => 'iDiagram',
+ "csv_output" => 'iOutputCsv',
+ "csv_columns" => 'iCsvColumns' ,
+ "csv_labels" => 'iCsvLabels' ,
+ 'xml_output' => 'iOutputXml' ,
+ "detail" => 'iDetail',
+ "detail-type" => 'iDetailType',
+ "page-width" => 'iPageWidth',
+ "static" => 'iStatic',
+ "color" => 'iColor',
+ "border-shape" => 'iBorder',
+ "pattern" => 'iOverlay',
+ "deps" => 'iDepsFile',
+ "border-style" => 'iStyle',
+ "w" => 'iWarningLevel',
+ "tempdir" => 'iTemporaryDirectory',
+ 'dpi' =>'iPrintResolution',
+ 'model_font' =>'iModelFont',
+ "s12" => 'iS12',
+ "log" => 'iLogFile',
+ "logo" => 'iLogoSrc',
+ "logo-height" => 'iLogoHeight',
+ "logo-width" => 'iLogoWidth',
+ 'version-list' => 'iVersions',
+ "link" => 'iLink',
+ "clean" => 'iClean',
+ "compress" => 'iCompress',
+ "legend-width" =>'iLegendWidth',
+ "legend-max-scale" => 'iLegendMaxScale',
+ "title-scale" => 'iTitleScale',
+ "xslt-param" => 'iXsltParam',
+ "note" => 'iLegendNote'
+ );
+
+ foreach my $line ()
+ {
+ $line =~ s/^\s*//; # remove spaces
+ $line =~ s/\s*$//; # a/a
+ $line =~ s/\n$//; # remove new line
+ if($line =~/"/) {
+ $line =~ s/^(([^"#]*"[^"]*")+)#.*$/$1/; # remove comments indicated by # (to the end of the line)
+ } else {
+ $line =~ s/#.*$//; # remove comments indicated by # (to the end of the line)
+ }
+ next if $line eq ""; # ignore blank lines
+ if ($line =~ m/([^=]+)\s*=\s*(.*)/)
+ {
+ my $argType = lc $1; # case-insensitive
+ my $argValue = $2; # case-sensitive as it can have strings intended for html output
+
+ $argType =~ s/^\s*//; # remove spaces on either end (Cannot use s/\s+// as this will not be suitable for html text)
+ $argType =~ s/\s*$//;
+ $argValue =~ s/^\s*//;
+ $argValue =~ s/\s*$//;
+
+ $argValue =~ s/^'//; # no need for quotes around the values
+ $argValue =~ s/'$//;
+ $argValue =~ s/^"//;
+ $argValue =~ s/"$//;
+
+ my $iniDir = $self->{iIniFile};
+ $iniDir =~ s,[^\\//]+$,,;
+ #$iniDir .= '\\';
+
+ if(defined $Ordered{$argType}) {
+ &OrderedOption($argType, $argValue);
+ } elsif(defined $IniMap{$argType}) {
+ my $param = $IniMap{$argType};
+ # make sure all files mentioned are taken relative to the ini file
+ if($KFileParams{$param} ne '' )
+ {# comma-separated filenames
+ my @list;
+ foreach my $item (split(/,/,$argValue))
+ {
+ push(@list,&FullPath($iniDir,$item));
+ }
+ $argValue = join(',',@list);
+ }
+ elsif(defined $KFileParams{$param} && $argValue ne '')
+ {# single file names
+ $argValue = &FullPath($iniDir,$argValue);
+ }
+ # do not override! Only set values that have not been set on command line already
+ if ($AllowMulitples{$param}==1) # check so we don't add if it's set by the cmd line
+ {
+ push(@{$self->{$param}}, $argValue);
+ }
+ elsif ($AllowMulitples{$param}==2) # check so we don't add if it's set by the cmd line
+ {
+ $argValue=~s/^([^=]+)=//;
+ $self->{$param}->{$1}=$argValue;
+ }
+ elsif (! defined $AllowMulitples{$param})
+ {
+ $self->{$param} = $argValue if ! $self->{$param};
+ }
+ }
+ }
+ }
+;
+ @{$self->{'iFiltering'}} = @Filters if ! @{$self->{'iFiltering'}};
+ @Filters=();
+ }
+
+sub MakeInfo() {
+ my $self = shift;
+ my %files = @_;
+ my $res="";
+ while (my ($key,$value) = each %files) {
+ if ($self->{$key} ne '') {
+ $res .= "\t\t \n"
+ }
+ }
+ return $res;
+}
+
+sub MakeMultiInfo() {
+ my $self = shift;
+ my %files = @_;
+ my $res="";
+ while (my ($key,$value) = each %files) {
+ foreach my $m (@{$self->{$key}}) {
+ if($m ne '') { # skip if empty
+ $res .= "\t\t \n"
+ }
+ }
+ }
+ return $res;
+}
+
+sub MakeAttirbutes() {
+ my $self = shift;
+ my %atts = @_;
+ my $res="";
+ while (my ($key,$value) = each %atts) {
+ if (defined $self->{$key}) {
+ my $cur = $self->{$key};
+ if($key=~/File$/) {$cur=&FileAsUrl($cur)} # anything that ends in File is treated as a URL
+ $res .= " $value=\"$cur\"";
+ }
+ }
+ return $res;
+}
+
+sub getSchedule12Xml ()
+ {
+ my $self = shift;
+ my $ver = shift;
+ my @files = @{$self->{'iS12'}};
+ my @ret;
+ foreach my $s12 (@files)
+ {
+ if($s12 eq '') {next}
+ if($s12=~/^file:\/\/\/(.*)$/)
+ {
+ if(-d $1)
+ {
+ # it's a directory, so append Symbian_OS_v[version]_Schedule12.xml
+ $s12=~s,[\\/]*$,/Symbian_OS_v${ver}_Schedule12.xml,;
+ }
+ }
+ push(@ret,$s12);
+ }
+ return @ret
+ }
+
+sub getModel()
+ {
+ my $self = shift;
+ if($self->{iModel}) {return $self->{iModel}}
+
+ my $xsltDir = $self->GetXsltDir();
+
+ my $tempDirectoryPathname = abs_path($self->{iTemporaryDirectory});
+
+ (my $modelXml = "$tempDirectoryPathname/Model.xml") =~ s#\/#\\#g;
+ (my $modelTemplateXml = $xsltDir."/") =~ s#\/#\\#g;
+
+ if($self->{iCoreOs} == KCoreOsWithHardware) { # show 9.5+ CoreOS
+ $modelTemplateXml .= "ModelTemplate.xml";
+ } elsif($self->{iCoreOs} == KCoreOsWithHal ) { # show 9.4 CoreOS
+ $modelTemplateXml .= "ModelTemplate.mid.xml";
+ } else {
+ $modelTemplateXml .= "ModelTemplate.older.xml";
+ }
+
+
+ # the follownig params cannot be emtpy, delete if they are
+ foreach my $item ('iCopyright' , 'iDistribution' ,'iDepsFile', 'iLink', 'iDetailType', 'iDetail', 'iVersions')
+ {
+ if($self->{$item} eq '') {delete $self->{$item}}
+ }
+
+
+ # Step 1:
+ # Create a Model.xml based on the ModelTemplate.xml
+ open (INPUT, $modelTemplateXml) or &Logger::LogError("Xalan error ($?) occured in Step 1 of SVG building (<$modelTemplateXml)...", KOldSystemModelGenerator, 1);
+ open (OUTPUT, ">$modelXml") or &Logger::LogError("Xalan error ($?) occured in Step 1 of SVG building (>$modelXml)...", KOldSystemModelGenerator, 1);
+ my $release = $self->{iRelease};
+
+
+ # Since $self->{iSysDefFile} may be a comma-separated list of sysdefs, create a tag for each one of the files:
+ my $sysdefTagsForModelTemplate = "";
+
+ @{$self->{'iS12'}} = $self->getSchedule12Xml($self->{'iGuessVer'});
+
+ if(scalar(@{$self->{iSourceRoot}}) == 1)
+ {
+ @{$self->{iSourceRoot}} = ($self->{iSourceRoot}->[0]) x scalar($self->{iSourceRoot}->[0]);
+ }
+
+ for (my $index = 0; $index < scalar(@{$self->{iSysDefFile}}); ++$index)
+ {
+ $sysdefTagsForModelTemplate .= $self->CreateSysDefTagsForModelXML($self->{iSysDefFile}->[$index], $self->{iSourceRoot}->[$index]);
+ }
+
+ my $display;
+
+ if($self->{iLink}=~/\\/) # it's a windows dir, change to file URI
+ {
+ $self->{iLink} = &FileAsUrl($self->{iLink});
+ }
+
+ $display .= $self->MakeMultiInfo ('iLocalize' => 'abbrev');
+
+ my %infoMap = (
+ 'iStyle' => 'style',
+ 'iOverlay' => 'overlay',
+ 'iBorder' => 'border',
+ 'iColor' => 'color'
+ );
+
+ $display .=$self->MakeMultiInfo( %infoMap);
+ if($self->{'iLogoSrc'})
+ {
+ $display.="\nMakeAttirbutes(
+ 'iLogoSrc' => 'src',
+ 'iLogoWidth' => 'width',
+ 'iLogoHeight' => 'height'
+ ) ;
+ if($self->{'iLogoSrc'} =~ /\.svg$/i)
+ {
+ $display.= " embed=\"yes\"";
+ }
+ $display.= "/>";
+ }
+
+ my $filters='';
+ if(scalar @{$self->{'iFiltering'}}) # complex filtering
+ {
+ $filters = join("\n\t",@{$self->{'iFiltering'}});
+ }
+ elsif (@{$self->{iFilter}}) { # can't have both -filter and complex filtering
+ foreach ( @{$self->{iFilter}}) {
+ if($_ ne '') {$filters.=" \n\t";}
+ }
+ }
+
+ my $ignore='';
+
+ foreach ( @{$self->{iIgnore}}){
+ if(/^(.*):(.*)$/) {$ignore.=" \n\t"}
+ }
+
+
+ my $optional = $self->MakeAttirbutes(
+ 'iCopyright' => 'copyright',
+ 'iDistribution' => 'distribution',
+ 'iRevision' => 'revision',
+ 'iDepsFile' => 'deps',
+ 'iLink' => 'link',
+ 'iRevisionType' => 'revision-type',
+ 'iVersions' => 'version-list'
+ );
+
+ if($self->{iRelease} ne '') {$optional .= " ver='$self->{iRelease}'"}
+ elsif($self->{iGuessVer} eq 'Future' ) {$optional .= " ver='$self->{iGuessVer}'"}
+
+
+ my $layout = $self->MakeAttirbutes(
+ 'iDetail' => 'detail',
+ 'iDetailType' => 'detail-type',
+ 'iPageWidth' => 'page-width',
+ 'iPrintResolution' => 'resolution',
+ 'iModelFont' => 'font'
+ );
+ if($self->{iStatic}) {$layout .= " static='true'"}
+ my $legend = '';
+ my @legendmap = (
+ 'iColor', 'colors',
+ 'iStyle', 'styles',
+ 'iOverlay', 'patterns',
+ 'iBorder', 'borders'
+ ); # order is important
+ for(my $i=0; $i<$#legendmap;$i+=2){
+ my $cur='#'.$infoMap{$legendmap[$i]};
+ my $count = scalar(@{$self->{$legendmap[$i]}});
+ if ($count==0 || ($count==1 && $self->{$legendmap[$i]}->[0] eq '' )) {$cur='@shapes'."#$legendmap[$i+1]"}
+ $legend .= "\t\t\t\n";
+ }
+ foreach my $note (@{$self->{iLegendNote}})
+ {
+ if(!($note=~/?[0-9a-z]+;/i))
+ { # if not entity-encoded, entity encode the stuff
+ $note=~ s/([&<>\x7f-\xff])/"".ord($1).";"/eg;
+ }
+ $legend .= "\t\t\t$note ";
+ }
+
+ my $legendOptions;
+ if($self->{iLegendWidth}) {$legendOptions .= ' width="' .$self->{iLegendWidth} .'"'}
+ if($self->{iLegendMaxScale}) {$legendOptions .= ' maxscale="' .$self->{iLegendMaxScale} .'"'}
+ if($self->{iTitleScale}) {$legendOptions .= ' title-scale="' .$self->{iTitleScale} .'"'}
+ foreach my $line ( )
+ {
+ my $cur='';
+ $line =~ s/___SYMBIAN_OS_RELEASE___/$self->{iRelease}/g; # not used
+ $line =~ s/___NAME___/$self->{iName}/g;
+ $line =~ s/___LABEL___/$self->{iLabel}/g;
+ $line =~ s/___REVISION_TYPE___/$self->{iRevisionType}/g; # not used
+ $line =~ s/___LINK___/$self->{iLink}/g; # not used
+ $line =~ s/___OPTIONAL___/$optional/g;
+ $line =~ s/___LAYOUT_OPTIONS___/$layout/g;
+ $line =~ s/___FILTERS___/$filters/g;
+ $line =~ s/___IGNORE___/$ignore/g;
+ $line =~ s/___LEGEND___/$legend/g;
+ $line =~ s/___LEGEND_TITLE___/$self->{iLgdTitle}/g;
+ $line =~ s/___LEGEND_OPTIONS___/$legendOptions/g;
+ $line =~ s/___SHAPES_XML___/$self->{iShapes}/g;
+ $line =~ s/___SYSTEM_DEFINITIONS___/$sysdefTagsForModelTemplate/; # should be only one incident of it
+ $line =~ s/___DISPLAY___/$display/g;
+ $line =~ s/\sshapes=""//g; # remove empty attribute
+ print OUTPUT $line;
+ }
+ close INPUT;
+ close OUPUT;
+
+ # Open and close the file so that it can flush itself:
+ open (OUTPUT, "$modelXml") or &Logger::LogError("Xalan error ($error) occured in Step 1 of SVG building...", KOldSystemModelGenerator, 1);
+ close OUTPUT;
+ return $modelXml;
+ }
+
+sub GetXsltDir()
+ {
+ my $self = shift;
+ my $xsltDir = $FindBin::Bin."/svg"; # calcluated w.r.t old directory
+ $xsltDir = $FindBin::Bin."/src/old/svg" if ! -d $xsltDir; # calculated w.r.t the root directory
+ $xsltDir = $FindBin::Bin if ! -d $xsltDir; # calculated w.r.t the /svg directory
+ return $xsltDir;
+ }
+
+
+sub FileAsUrl()
+ {
+ my $file = $_[0];
+ if($file=~/^..+:/){ return $file} # already a URL
+ if(-f $file)
+ { # abs_path only works on dirs, so strip off file name and put it back when done
+ if(! ($file=~/^[a-z]:[\\\/][^\\\/]+$/i))
+ { # if it's in the root dir, do nothing
+ my $tail = "/$file";
+ # if it's just a file name, need to find cwd;
+ if($file =~ s,([\\/][^\\/]+)$,,)
+ {
+ $tail = $1;
+ }
+ else {$file = "."}
+ $file = abs_path($file)."$tail";
+ }
+ }
+ elsif (-d $file)
+ {
+ $file = abs_path($file);
+ } # else does not exist, so just convert to unix-style path
+ $file=~tr/\\/\//;
+ return "file:///$file";
+ }
+
+
+sub RunCmd() {
+ my $command = shift;
+ open(EXE,"$command 2>&1|");
+ while(){
+ chomp;
+ s/^XSLT Message: //;
+ s/\.Source tree node:.*$//;
+ if($_ ne '') {
+ if(s/^note: //i) {
+ &Logger::LogInfo($_, KOldSystemModelGenerator,2, 100);
+ } elsif(s/^Warning: //) {
+ &Logger::LogWarning($_, KOldSystemModelGenerator,2, 600);
+ } elsif(s/^Error: //i) {
+ &Logger::LogError($_, KOldSystemModelGenerator,2, 400);
+ } else {
+ print STDERR "$_\n";
+ }
+ }
+ }
+ close(EXE);
+ return $?;
+}
+
+sub ShouldCreateDepmodel()
+ {
+ my $self = shift;
+ if ($self->{iDepsFile})
+ {
+ return 1;
+ }
+ my $model = $self->getModel();
+ my $t = $/;
+ $/='>';
+ open(M,$model);
+ while()
+ {
+ if(/=0) {
+ $command .= " -i $indent";
+ }
+ if($to ne '') {
+ $command .= " -o \"$to\"";
+ }
+ $command.=" \"$from\" \"$xslt\"";
+ &Logger::LogInfo("System Call: $command", 800);
+ if($to eq '') {return `$command`}
+ return &RunCmd($command);
+ }
+
+sub Draw()
+ {
+ my $self = shift;
+ my $genSvg = $self->{'iDiagram'} ne '';
+ my $genCsv = $self->{'iOutputCsv'} ne '';
+ my $genXml = $self->{'iOutputXml'} ne '';
+
+ if(!$genSvg && !$genCsv && !$genXml)
+ {
+ &Logger::LogFatal("Must specify at least one type of output file. Cannot continue...", KOldSystemModelGenerator, 0,Logger::KNothingToDo);
+ }
+
+ &Logger::LogInfo("Creating sysmodel.svg...", KOldSystemModelGenerator,0);
+
+ # Step 0:
+ # Prepare some file names and create output directory:
+
+ # construct full path name:
+ ($self->{iRootDirectory} = cwd ) =~ s#\/#\\#g;
+ chdir($self->{iTemporaryDirectory});
+ my $tempDirectoryPathname = cwd; # now gives the full path name $self->{iTemporaryDirectory}
+ chdir($self->{iRootDirectory}); # change back!
+
+ my $xsltDir = $self->GetXsltDir();
+
+ my $tempStuctureFile = "$tempDirectoryPathname/system_model_svg_tmp.xml";
+ my $tempXslFile = "$tempDirectoryPathname/system_model_svg_tmp.xsl";
+ my $tempModelFile = "$tempDirectoryPathname/model_tmp.svg";
+ my $tempModelFile2 = "$tempDirectoryPathname/model_tmp2.svg";
+ my $modelXsl = $xsltDir."/Model.xsl";
+
+ my $modelXml = $self->getModel();
+
+ # Step 2
+ # xalan -i 2 model.xml model.xsl > tmp.xml
+ $error = &XsltTransform($modelXsl,$modelXml,$tempStuctureFile,1, $self->{'iXsltParam'});
+
+ &Logger::LogError("Xalan error ($error) occured in combining sysdefs", KOldSystemModelGenerator, 1) if $error;
+
+ # Step 3 - validation
+ # xalan tmp.xml validate.xsl
+ if($self->{iWarningLevel} == LogItem::VERBOSE )
+ {
+ my $errors = &XsltTransform($xsltDir."/validate.xsl",$tempStuctureFile,'',-1);
+ &Logger::LogList(split(/\n/,$errors));
+ }
+ if($genSvg)
+ { # only needed for model building
+
+ # Step 4
+ &Logger::LogInfo("Creating styling XSLT...", KOldSystemModelGenerator, 1);
+ $error = &XsltTransform("$xsltDir/Shapes.xsl",$modelXml,$tempXslFile,1,
+ {%{$self->{'iXsltParam'}},'Model-Transform' => "'".&FileAsUrl($modelXsl)."'" });
+ &Logger::LogError("Xalan error ($error) occured generating Styling transform", KOldSystemModelGenerator, 2) if $error;
+
+ # Step 5
+ &Logger::LogInfo("Generating SVG model...", KOldSystemModelGenerator, 1);
+ $error = &XsltTransform($tempXslFile,$tempStuctureFile,$tempModelFile,1,$self->{'iXsltParam'});
+ &Logger::LogError("Xalan error ($error) occured in building SVG", KOldSystemModelGenerator, 2) if $error;
+
+ if ($self->ShouldCreateDepmodel()) { # insert as 1st transform
+ @ARGV=( $xsltDir."/Postprocess.xsl",'-',@ARGV)
+ }
+ my $tmpsvg = $tempModelFile;
+ while(scalar(@ARGV)) {
+ my $transform = shift(@ARGV);
+ my $datafile = shift(@ARGV);
+ if($datafile eq '""' || $datafile eq "''") {$datafile=''} # not sure if this will work, but it should fix cygwin troubles
+ if($datafile eq '-') {$datafile = &FileAsUrl($tempStuctureFile)}
+ elsif($datafile ne '') {$datafile = &FileAsUrl($datafile)}
+ # save to the output if this is the last transform
+ # otherwise save to tempModelFile2 if reading from tempModelFile, and vis versa
+ my $saveto = $self->{'iDiagram'};
+ if(scalar(ARGV)) {
+ $saveto = ($tmpsvg eq $tempModelFile) ? $tempModelFile2 : $tempModelFile;
+ }
+ # Step 6
+ # xalan -i 2 -p Data tmp.xml 'tmp.svg' postprocess.xsl> final.svg
+ my %p;
+ if($datafile ne '') {
+ $p{'Data'}="'$datafile'"; # optional -- only if needed for transform
+ }
+ $error = &XsltTransform($transform,$tmpsvg,$saveto,1,\%p);
+ &Logger::LogError("Xalan error ($error) occured in post-processing SVG file", KOldSystemModelGenerator, 2) if $error;
+
+ $tmpsvg = $saveto; # read from this next time.
+ }
+ if ($tmpsvg ne $self->{'iDiagram'}) {
+ open(OUT,">".$self->{iDiagram});
+ open(IN,$tmpsvg);
+ print OUT ;
+ close OUT;
+ close IN;
+ }
+
+ my $zipname = $self->{iDiagram};
+ my $unzipname = $zipname;
+ $zipname =~ s/\.svg$/.svgz/i;
+ $unzipname =~ s/\.svgz$/.svg/i;
+ my $compressed = 0;
+ if($self->{iCompress})
+ {
+ my $gzip = &SysModelGen::GzipCommand();
+ if($gzip)
+ {
+ my $command = "$gzip ".$self->{iDiagram};
+ &Logger::LogInfo("System Call: $command", KOldSystemModelGenerator);
+ $error = &RunCmd($command);# this should generate the sysmodel.svg in the output directory
+ &Logger::LogError("Gzip error ($error) occured when comrpessing SVG", KOldSystemModelGenerator, 1) if $error;
+ &Logger::LogInfo("Renaming output to : $zipname", KOldSystemModelGenerator);
+ rename $self->{iDiagram}.".gz", $zipname;
+ $compressed = 1;
+ }
+ }
+ if(!$compressed && $unzipname ne $self->{iDiagram})
+ {
+ &Logger::LogInfo("Renaming output to : $unzipname", KOldSystemModelGenerator);
+ rename $self->{iDiagram}, $unzipname;
+ }
+ }
+ # create CSV if desired
+ if($genCsv)
+ {
+ &Logger::LogInfo("Generating CSV output", KOldSystemModelGenerator, 0);
+ my %p;
+ if($self->{iCsvColumns})
+ {
+ $p{'atts'}="'".$self->{iCsvColumns}."'";
+ }
+ if($self->{iCsvLabels})
+ {
+ $p{'labels'}="'".$self->{iCsvLabels}."'";
+ }
+ $error = &XsltTransform($xsltDir."/output-csv.xsl",$tempStuctureFile,$self->{iOutputCsv},-1,\%p);
+ &Logger::LogError("Xalan error ($error) occured in CSV output...", KOldSystemModelGenerator, 1) if $error;
+
+ }
+
+ # create sysdef XML if desired
+
+ if($genXml)
+ {
+ &Logger::LogInfo("Generating XML output", KOldSystemModelGenerator, 0);
+ $error = &XsltTransform($xsltDir."/output-sysdef.xsl",$tempStuctureFile,$self->{iOutputXml},1);
+ &Logger::LogError("Xalan error ($error) occured in Sysdef output...", KOldSystemModelGenerator, 1) if $error;
+ }
+
+ # delete the contents of the temp directory if -clean is specified by the user:
+ if ($self->{iClean})
+ {
+ &Logger::LogInfo("Deleting contents of the temp directory $self->{iTemporaryDirectory}...", 100);
+ $self->DeleteTempDirectory();
+ }
+ }
+
+sub Downgrade()
+ {
+ my $self = shift;
+ my $sysdef = shift;
+ my $saveto = $self->{iTemporaryDirectory}."/".shift;
+ my $sysdefurl=&FileAsUrl($sysdef);
+ my $xsltDir = $self->GetXsltDir();
+ foreach(@{$self->{iSysDefFile}})
+ {
+ if($_ eq $sysdefurl)
+ {
+ $error = &XsltTransform("$xsltDir/sysdefdowngrade.xsl",$sysdef,$saveto,1);
+ &Logger::LogError("Xalan error ($error) occured in downgrading $sysdef...", KOldSystemModelGenerator, 1) if $error;
+ $_=&FileAsUrl($saveto);
+ }
+ }
+ }
+
+
+sub SystemModelXmlDataDir()
+ {
+ my $file = $FindBin::Bin."/src/old/resources/auxiliary";
+ $file = $FindBin::Bin."/../resources/auxiliary" if ! -d $file; # calculated w.r.t the /svg directory
+ return $file;
+ }
+
+sub SystemModelColorsXmlFile()
+ {
+ my $colorsFile = &SystemModelXmlDataDir()."/system_model_colors.xml";
+ return $colorsFile;
+ }
+
+
+
+sub CreateSysDefTagsForModelXML()
+ {
+ my $self = shift;
+ my $sysdefXml = shift;
+ my $srcvar = shift;
+
+ if($sysdefXml eq '')
+ {
+ &Logger::LogInfo("Cannot find System Definition file", 100);
+ return;
+ }
+
+ my $ret = "MakeMultiInfo('iExtra' => 'extra', 'iLevels' => 'levels' , 'iS12' => 's12');
+ return "$ret\t \n";
+ }
+
+sub DeleteTempDirectory()
+ {
+ my $self = shift;
+ # This will delete all files in the $self->{iTemporaryDirectory}
+ rmtree $self->{iTemporaryDirectory};
+ }
+
+sub Help()
+ {
+ my $self = shift;
+format OK =
+ @<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$param, $text,
+ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~
+ $text
+.
+my @list =(
+ 'Switch', 'Explanation',
+ '------', '-----------',
+'-h' , 'Help on usage',
+ '-i' , 'An INI file listing one argument per line, with the syntax: = ',
+ '==== Build Control ====',
+ '-w' , 'Warning level. 1: errors only (default), 2: warnings as well as errors, 3: info messages, warnings and errors, 4: all plus deep syntax validation and reporting -- note that this can take a long time to compute so do not use this warning level by default',
+ '-tempdir', 'Temporary directory for build files. Defaults to drawsvg_temp',
+ '-output', 'The name of the file to save the built System Model SVG. If in the format filename.svgz, it will attempt to compress the file. If compression is not supported, it will rename the output to filename.svg. Defaults to sysmodel.svg or sysmodel.svgz if -compress is set.',
+ '-csv_output', 'The name of the file to save a CSV description of the built System Model. Only items shown on the system model will be included.',
+ '-csv_columns', 'Comma-separated list of columns to include in the output CSV. This does nothing if -csv_output is not present. By default (if -csv_columns is not present), the columns will be a sorted list of all attributes on all items. ',
+ '-csv_labels', 'Comma-separated list of columns labels include in the output CSV. Do not use quotes or commas in label names. This does nothing if -csv_output is not present. If this list is shorter than -csv_columns, the remaining columns will use the attribute name as the label. ',
+ '-xml_output', 'The name of the file to save a combined system definition XML. Only items shown in the built system model will be included.',
+ '-log' , 'File in which to store output. Defaults to stdout',
+ '-compress', 'If set, it will attempt to compress the output as an SVGZ file. In order to success gzip must be installed and in the PATH. This will also rename the output file from filename.svg to filename.svgz.',
+ '-clean' , 'Caution: if set, it will delete the contents of the temporary directory.',
+ "==== Files or URIs ====\nAll of these take a file name (relative or absolute path) or URI of a data source",
+'-model', 'The location of the Model XML file to use to build the file. If this is provided all other non-build control command line and ini options are ignored.',
+'-shapes', 'The location of the Shapes XML file used to provide rules to control the display of the components on the model. If not present, default behaviour (in Shapes.xml) is used. This and the default bahaviours are overrriden by using the -color, -border, -pattern, and -style options. ',
+'-localize', 'The location of the Localization file used to provide displayable names for the model entities. By default, the provided "display-names.xml" is used.',
+'-s12', 'The location of the Schedule 12 XML file used to provide the border shapres of the components. If this a directory, the S12 XML file is found by appending "Symbian_OS_v[system_version]_Schedule12.xml" to the directory.',
+'-levels', 'The location of the Levels XML file used to override the stacking of collections. ',
+'-sysinfo', 'The location of extra component information used to provided additional properies for components. By default, the provided "SystemInfo.xml" is used.',
+'-deps', 'The location of the Dependencies XML file used to draw the depmodel. If not present, dependencies will not be drawn',
+'-color', 'The location of a Values XML file used to specify per-component colours. If not present, the default colours are used.',
+'-border-shape', 'The location of a Values XML file used to specify the shape (border) of each component. If not present, the default borders are used.',
+'-pattern', 'The location of a Values XML file used to specify per-component overlay patterns. If not present, the default patterns (for new and reference components) are used.',
+'-border-style', 'The location of a Values XML file used to specify per-component border styles. If not present, the default border styles are used. ',
+'-link','The base URL to use for all hyperlinks in the model. A base URL will be appended by the type and name (e.g. Blocks/Comms%20Services.html) of the items to create the full URL of the linked file. Window directories will be converted into file URIs.',
+"==== Labels ====\nAll of these take a plain text value which is displayed on the model",
+'-system_name', 'The name of the product described in the model. It appears at the bottom right. Defaults to "Symbian OS"',
+'-system_version', 'The version of the product described in the model. It appears at the bottom right after the name.',
+'-model_name', 'The label for the model. It appears at the bottom right, under the name. Defaults to "System Model".',
+'-model_version', 'A number which appears before th model-revision-type. If specified this overrides the build number used by depmodel. If not building depmodel, this defaults to "1"',
+'-model_version_type', 'One of "draft", "issued", "build" or free-text value. Appears below the model label. If specified this overrides the build number used by DepToolkit.If not building depmodel, this defaults to "draft"',
+'-copyright', 'The copyright to appear in the lower left. Set to empty string to leave out. Defaults to "[this year] Nokia Corporation"',
+'-distribution', 'Text to appear on the bottom centre to indicate to whom the model can be show. Informational only. Suggested values are "internal", "secret" or "unrestrictred". Not shown if not set.',
+'-legend_title', 'The title to appear in the leftmost part of the legend. Defautls to "Key"',
+'-note', 'Free text to appear inside the legend box, on the rightmost side. If multiple ones are provided, they will appear as separate boxes from left to right. Newlines and other special characters can be entity-encoded (e.g.
)',
+"==== Model Control ====",
+'-sysdef [uri-list]', 'Comma-separated list of locations for the System Definition XML file(s) used to build the model. Layers in the files will be stacked on top of each other in order, from bottom to top.',
+'-coreos [on/off/new]', 'Turn on or off Core OS colouring, or use the new colouring for 9.5 and later models. Defaults to "off" for model versions before 9.4 or those with no specified version, "on" for 9.4 and "new" for 9.5 and later',
+'-filter [filter-name]', 'The name of a filter to turn on when building the model. All filters on an item must be present in this list in order for that item to appear. Can have any number of these Defaults to "java" and "gt"',
+'-filter-has [filter-name]', 'Like -filter, except any filter on an item must be present in this list in order for that item to appear. Include "*" in the list in order to show items with no filters. Equivalent to "-show-attr filter xxx"',
+'-ignore [item]', 'A model entity to not draw, in the form "[item-type]:[item-name]". Any number of these can be used. Defaults to "layer:Tools and Utils and SDKENG" ,"layer:MISC", "block:Techview"',
+'-show-attr [attr[=val]]', 'A mechanism of filtering which allows filtering based on component attribute values. If a value is set for that attribute, the component will be shown. Use in conjunction with -hide-attr for fine contol of what is shown. "class" and "filter" attribtues are handled specially -- see the documentation for details',
+'-hide-attr [attr[=val]]', 'A mechanism of filtering which allows filtering based on component attribute values. If a value is set for that attribute, the component will not be shown on the model. Use in conjunction with -show-attr for fine contol of what is shown. "class" and "filter" attribtues are handled specially -- see the documentation for details',
+'-detail [item-type]' , 'The type of the smallest System Model entity to draw. One of "layer", "block", "subblock", "collection" or "component". Defaults to "component"',
+'-detail-type [type]' , 'If set to "fixed", the smallest System Model entity drawn will have a fixed width (rather then sized by their invisible components). This can be used to reduce the size and complexity of the overall model.',
+'-page-width [length]', 'The width of the drawn image (with units). If not specified it will fit the viewer window. Valid units: "in", "mm", "cm", "px", "pt"',
+'-static', 'If present, the model will not have any mouseover effects (this is overriden by builing the depmodel).',
+'-logo [file]', 'If present, the logo will be drawn in the lower-left corner of the model. If the logo is an SVG file, -logo-width and -logo-height are optional, otherwise the must both be specified',
+'-logo-height [length]', 'Specifies the height of the logo (if any) in mm. Width is scaled along with height unless otherwise specified. Both width and height MUST be specified if a bitmap image is used',
+'-logo-width [length]', 'Specifies the width of the logo (if any) in mm. Height is scaled along with width unless otherwise specified. Both width and height MUST be specified if a bitmap image is used',
+'-legend-width [%]', 'The percent width of the model the legend takes up. This will scale the size of the legend and model title, but not the logo, to fill the specified space. If a logo is included, but no width specified, the legend cannot be scaled since it will not be able to determine the available space. Note that that -max-legend-scale will further limit the potential width.',
+'-legend-max-scale [scale]', 'Specifies the maximum scale factor for resizing the legend. If this is present and -legend-width is not, the legend and title will scale to 100% of the available width. If both are present the scale factor will take precedent. If neither is present, the legend will not resize. Note that when this is used, the legend can shrink if it would normally be wider than the model.',
+'-title-scale [scale]', 'Specifies the scale factor for the size of the title font (the text in the lower right). Use this instead of CSS to control the size, since the model generator needs to explicitly know how much space to allocate for the title.',
+'-model_font [font]', 'The name of the base font to use to draw the model. This will be overriden by any custom CSS in the Shapes XML',
+'-dpi [number]', 'The DPI to use when printing from the Adobe SVG Viewer. If not present, it will print well at A4 size. A value of 300 will look good on A3 size paper'
+ );
+print STDERR "Usage: DrawSvg.pl [Arguments] [Transform Data-file] ...\n\nArguments:\n";
+ my $head=2;
+while(@list) {
+ $param = shift(@list);
+ if($head<=0 and !($param=~/^-/)){print "\n$param\n";next;}
+ $text = shift(@list);
+ write OK ;
+ $head--;
+}
+ return;
+ }
+
+1;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/Legend.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/Legend.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,842 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+ 4.233
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+100
+0
+
+
+20
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.233
+ 1.94
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4.233
+ 6.3495
+ 4.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright ©
+
+
+
+ SECRET
+ CONFIDENTIAL
+ INTERNAL
+ UNRESTRICTED
+
+Warning: unknown security classification:
+
+
+
+
+
+
+ DRAFT
+ ISSUED
+ Build
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ systemModel attribute "type" is deprecated, use "label" instead
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Warning: deprecated syntax draft=" "
+
+
+
+ Warning: deprecated syntax issued=" "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ normal
+
+
+
+
+
+
+
+
+
+
+
+ 10
+ font-family: ' '
+ :
+
+ 0 10
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fill: url(
+
+ ); stroke: none; stroke-width: 0;
+
+
+
+ ;
+
+
+ url( )
+
+
+
+ url( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ font-family: ' '
+
+
+
+
+
+color-
+style-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+1
+1
+1
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [
+
+
+
+
+ ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/Model.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/Model.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,1688 @@
+
+
+
+ ]>
+
+
+
+ old_model
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+ ,
+ ! ,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ using old System Definition schema ( )
+
+
+
+ using incompatible System Definition schema ( )
+
+
+
+
+
+
+
+
+
+ Invalid level: in
+
+
+
+
+
+
Note:
+
+
+
Note:
+
+
+
Warning:
+
+
+
Error:
+
+
+
Error:
+
+
+
+
+
+
+
+
+
+ collection
+ subblock
+ block
+
+
+
+
+
+
+
+
+
+
+
+ type="text/xsl" href=" "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ build
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Merging with model
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Deleting
+
+
+
+ ignoring children
+
+
+
+
+
+
+
+
+
+
+
+
+ Relocating
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cannot merge " " with " "
+
+
+
+
+
+
+
+
+
+
+
+
+ Relocating and merging
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+ Append (5)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Error invalid combinations of attributes in
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ To Merge with these: " ",
+
+
+
+
+
+ was not here
+
+
+
+ end not here
+
+
+
+
+ Does not already exist:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Append (4)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ collection
+ block
+ subblock
+
+
+
+
+
+
+ module
+ logicalset
+ logicalsubset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ T-R
+ true
+
+
+
+ T-R
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+1
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 1
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+ /
+ /
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not in Schedule 12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cbox
+ cmp
+
+
+
+
+
+
+
+
+
+
+
+#Border
+
+ Shape
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cmp
+
+
+
+
+
+ cmp
+
+
+
+
+
+
+
+#Pattern
+
+ Overlay
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+ cbox
+
+
+
+
+ yes
+ cbox
+
+
+ no colour data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cbox
+ cmp
+
+
+
+
+
+
+
+
+
+
+
+ #Border
+ #Pattern
+
+ #
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ component
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cmp
+ cbox
+ cmp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AM
+ PM
+ am
+ pm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/ModelTemplate.mid.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/ModelTemplate.mid.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,17 @@
+
+
+ ___SYSTEM_DEFINITIONS___
+ ___FILTERS___
+ ___IGNORE___
+
+
+
+
+ ___DISPLAY___
+
+ ___LEGEND___
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/ModelTemplate.older.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/ModelTemplate.older.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,16 @@
+
+
+ ___SYSTEM_DEFINITIONS___
+ ___FILTERS___
+ ___IGNORE___
+
+
+
+ ___DISPLAY___
+
+ ___LEGEND___
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/ModelTemplate.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/ModelTemplate.xml Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,17 @@
+
+
+ ___SYSTEM_DEFINITIONS___
+ ___FILTERS___
+ ___IGNORE___
+
+
+
+
+ ___DISPLAY___
+
+ ___LEGEND___
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/Overlay.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/Overlay.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,331 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mouseover
+ 1
+
+component collection block subblock layer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on(clear(' '))
+
+
+ on(clear(' '))
+
+
+ on(' ')
+ off(' ')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ translate( )
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/Postprocess.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/Postprocess.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,321 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dep-
+
+
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+ Uses
+ Used by
+
+
+
+
+
+
+
+ 4.8
+ 2.4
+ 1.2
+ 0.6
+ 0.3
+
+
+
+
+
+
+
+
+
+
+ path.arrow {
+ marker-end: url(#Triangle);
+ fill:none;stroke: black;
+ stroke-width: px;
+ }
+ path.arrowF {
+ marker-start: url(#TriangleF);
+ fill:none;stroke: blue;
+ stroke-width: px;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ / /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ c
+ c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ M
+
+
+
+
+ ,
+
+
+ c
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/Shapes.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/Shapes.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,834 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Border
+
+
+
+
+
+
+
+
+
+
+ #Pattern
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fill: none; stroke: none; stroke-width: 0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $id=' '
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Shapes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ show-unused-
+ background
+
+
+
+
+
+
+
+ $n=' '
+ *
+
+
+
+
+
+ $n=' '
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ badly-formatted funtion:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ string-length(substring-before(concat(' ',$Versions,' '),(
+ )))
+ /SystemDefinition/systemModel/@ver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -var-
+
+
+
+
+
+
+
+
+
+ CLASS
+ contains(concat(' ',normalize-space(@class),' '),concat(' ',
+ 1
+ ,' '))
+
+
+
+
+
+ VARIABLE
+
+ $
+
+
+
+
+
+
+ $
+
+
+
+
+
+
+
+
+
+
+
+
+
+Pattern
+
+ Overlay
+
+
+
+Border
+
+ Shape
+
+
+
+
+
+
+
+
+ .
+ =' '
+
+
+
+
+ ( )[ ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
warning: no default border
+
error: more than one default border
+
+
+
+
+
+
+
+
error: more than one pattern in overlay
+
+
+
+
+
+
+
+
+
+
error: more than one default
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #
+
+
+
+
+
+
+
+ #
+
+
+
+
+
+
+
+
+ #
+
+ #
+
+
+
+
+
+ #
+
+
+
+
+ #
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ url(# )
+
+
+
+ url(# )
+
+
+
+
+
+
+
+
+
+
+
+
+
+ url(#bg )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {@style-id}.mouseover
+ {@style-id}.mouseout
+
+
+
+
+
+
+ {@style-id}.mouseover
+ {@style-id}.mouseout
+
+
+
+
+
+
+
+
+
+ .mouseover
+ .mouseout
+
+
+
+
+
+
+
+ {@style-id}.mouseover
+ {@style-id}.mouseout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ url(# )
+
+
+
+
+
+ fill:
+
+ ; stroke: none; stroke-width: 0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+ component
+ collection
+ block
+ subblock
+
+
+
+
+
+
+
+not found
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/output-csv.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/output-csv.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,125 @@
+
+
+
+ module,layer,block,subblock,collection,component
+
+
+
+
+ Module,Layer,Block,Sub-block,Collection,Component
+
+
+
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+" "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " "
+
+ " "
+ " "
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/output-sysdef.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/output-sysdef.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/sysdefdowngrade.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/sysdefdowngrade.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,376 @@
+
+
+
+
+ os/deviceplatformrelease/foundation_system/system_model
+
+
+
+
+
+
+ Cannot process this document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Package definition cannot link another package
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Error: IDs do not match: vs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Excessive nesting of packages: Ignoring
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Y
+
+
+ plugin
+
+ placeholder
+ PC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Y
+ N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+]]>
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/validate-raw.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/validate-raw.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,173 @@
+
+
+
+
+
+ERROR: Invalid root element:
+
+
+
+ERROR: Invalid element:
+
+
+
+
+
+
+NOTE: unexpected attribute " " on < >
+
+
+
+
+ERROR: unexepected text:
+
+
+
+
+
+Note: missing System Definition name
+
+
+ERROR: duplicate name for " " ( )
+
+
+
+collection
+subblock
+block
+layer
+
+
+
+
+
+
+Note: Level names used:
+
+
+ component
+
+
+
+
+
+
+
+Note: Extra attributes:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+WARNING: 1.x syntax checking not fully supported
+
+ERROR: unsupported syntax:
+
+
+
+
+
+
+WARNING: invalid attribute " " on < >
+
+
+
+
+
+
+
+ERROR: < name=" "> cannot be a child of < >
+
+
+
+
+
+ERROR: Invalid level name " " on " " ( )
+
+
+
+
+
+
+ERROR: Invalid level name " " on " " ( )
+
+
+
+ERROR: Invalid level name " " on " " ( )
+
+
+
+
+
+
+
+
+WARNING: invalid value " " on < name=" ">
+
+
+
+
+ERROR: using 1.x syntax element: < >
+
+
+
+WARNING: using 1.x syntax attribute: < =" ">
+
+
+
+
+ERROR: attribute " " on < > must not be empty
+
+
+
+
+
+
+
+
+
+
+
+
+
+WARINING: path separator must be "\" for =" "
+
+
+
+WARINING: path separator must be "/" for =" "
+
+
+
+
+
+
+
+
+
+
+WARNING: < > must be empty.
+
+
+
+ERROR: multiple units must have "version" or "filter" attributes ( )
+
+ERROR: using 1.x syntax element: < >
+
+
+
+
+
+[ ]
+ /
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/old/svg/validate.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/src/old/svg/validate.xsl Sat Nov 06 16:59:14 2010 +0200
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/Draw.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/Draw.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2303 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- component
-
-
-1 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ER5 ER5U 6.0 6.1 6.2 7.0 7.0s 8.0 8.0a 8.0b 8.1 8.1a 8.1b 9.0 9.1 9.2 9.3 9.4 9.5 9.6 Future
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-resolution=" "
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Drawing in static mode:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- font-family: ' '
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- on(' -content- ');off(' -label- ');
- off(' -content- ');on(' -label- ');
-
-
- -label-
-
-
- -content-
- hidden
-
-
-
-
-
-
- on(' -content- ');
- off(' -content- ');
-
-
-
-
-
- -content-
- hidden
-
-
-
-
-
-
-
-
- on(' -content- ')
- off(' -content- ')
-
-
- -content-
- hidden
-
-
-
-
-
-
-
-
-
-
- block
- subblock
- layer
- component
- collection
- Error
-
-
-
-
-
-
-
-
-details
- /
- Blocks
- SubBlocks
- Layers
- Components
- Collections
- Error
- / .html
-
-
-
-
-
-
- ' '
- Arial
-
-
-
-
-
-
-
-
-
-
-
-
-
- fill: !important;
- fill: !important;
-
-
-
-
-
- ;
-
-
-
-
-
-
-
-
-
-
-
- 100%
- 0%
- %
-
-
-
-
- 100%
- 0%
- %
-
-
-
-
- 100%
- 0%
- %
-
-
-
-
- 100%
- 0%
- %
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bg
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fill: url(
-
- ); stroke: none; stroke-width: 0;
-
-
-
-
-
-
-
- url( )
-
-
-
- url( )
-
-
-
-
-
-
- fill: ;
- ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- url(#bg )
-
-
-
-
-
-
- url(
-
- )
-
-
-
- url(
-
- )
-
-
-
- fill: url(
-
-
-
- ); stroke: none; stroke-width: 0;
-
-
-
-
-
-
-
-
-
-
- fill: ;
-
-
-
-
-
-
-
-
-
-
-
-
-stroke-width:
- 2
- 0.4
- ;
-
-
-
-
-
- grey
-
-
-
-
-
-
- fill:
-
- url(#Patternradial-grad)
- url(#Patternradial-grad)
- url(#Patternstriped-diag-up)
- none
-
- ; stroke: none; stroke-width: 0;
-
-
-
-
-fill: none; stroke: none; stroke-width: 0;
-
-#Borderbox
-
- -clipLB
- -clipLT
- -clipRB
- -clipRT
- -clipAll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- translate( )
-
-
-
-
-
-
-
-
-
-
-
-
- middle
-
- mathematical
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- with no level ( )
-
-
-
-
-
- with no level ( ) given same level as parent
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- translate( )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
- 0
-
-
-
-
-
-
-
- translate( )
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
- mathematical
- mathematical
- ideographic
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- mathematical
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-0 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-0 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
- translate(
-
-
-
- )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Error: layer " " does not exist"
-
-
-
Error: layer " " does not exist"
-
-
-
Error: " " is after " "
-
-
-
Error: Layer group cannot be bounded by spanned layer " "
-
-
-
Error: Layer group cannot be bounded by spanned layer " "
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-0 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
error: invalid level name: in " " [ ]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Error! This template should not have been called
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ?
-
-
-
-
-
-
- translate( )
-
-
-
-
-
- scale(
-
-
-
-
- 1
- )
- translate( )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/DrawSvg.pl
--- a/sysmodellibs/sysmodelgen/src/svg/DrawSvg.pl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#!perl
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-use strict;
-use warnings;
-use FindBin;
-use lib $FindBin::Bin;
-use lib $FindBin::Bin."/svg";
-use lib $FindBin::Bin."/common";
-use lib $FindBin::Bin."/../common"; # needed to run from within DepToolkit
-
-use DrawSvg;
-
-my $drawer = new DrawSvg();
-$drawer->Draw();
-
-exit;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/DrawSvg.pm
--- a/sysmodellibs/sysmodelgen/src/svg/DrawSvg.pm Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1243 +0,0 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-# Package: DrawSvg
-# Build the SVG diagram
-#
-#
-
-package DrawSvg;
-
-use Cwd;
-use Cwd 'abs_path';
-use File::Copy;
-use File::Path;
-use FindBin;
-use lib $FindBin::Bin."/../common";
-use Getopt::Long qw(:config no_ignore_case);
-use File::Basename;
-use File::Spec;
-use Logger;
-use DepConstants;
-
-
-use constant KNoCoreOs => 0;
-use constant KCoreOsWithHal => 1;
-use constant KCoreOsWithHardware => 2;
-
-my @Filters;
-
-#-------------------------------------------------------------------------------------------------
-# Subroutine: new
-# Purpose:
-# Input: None (extracted from command line args)
-# Output: A reference to itself
-#-------------------------------------------------------------------------------------------------
-sub new
- {
- my $package = shift;
- my $self = {}; # Create reference to object
- bless $self, $package; # Associate a reference with class name
-
- $self->{iScriptCode} = 999;
-
- # basic test of command line:
- if (scalar(@ARGV) == 0)
- {
- warn $self->Help();
- &Logger::LogFatal("Incorrect syntax. Cannot continue...", $self->{iScriptCode});
- }
-
- # process the input:
- $self->ParseCommandLineOptions();
-
- $self->{iReturnCode} = DepConstants::KErrorNone;
- return $self;
- }
-
-
-sub GuessReleaseNumber()
- {
- my $self = shift;
- # always use release value if defined
- $self->{iRelease} && return $self->{iRelease} ;
- # if not there, it's in the s12,
- my $ver;
- my $t = $/;
- foreach my $s12 (@{$self->{'iS12'}}) # use version from first s12 file listed
- {
- if(-d $s12) {next}
- open(FILE,$s12) || return;
- $/='>';
- while()
- {
- if(/{'iDepsFile'})
- {
- open(FILE,$self->{'iDepsFile'}) || return;
- $/='>';
- while()
- {
- if(/ ',',
- 'iS12' => ',',
- 'iExtra' => ',',
- 'iDepsFile' => '',
- 'iLocalize' => ',',
- 'iLevels' => ',',
- 'iStyle' => ',',
- 'iOverlay' => ',',
- 'iBorder' => ',',
- 'iColor' => ',',
- 'iShapes' => '',
- 'iLogoSrc' => '',
- 'iModel' => '',
- 'iLogFile' => '',
- );
-
-sub ParseCommandLineOptions()
- {
- my $self = shift;
-
- # Possible arguments (with default values where possible):
- my $help;
- $self->{iSysDefFile};
- $self->{iDepsFile};
- $self->{iOutputCsv};
- $self->{iCsvColumns};
- $self->{iCsvLabels};
- $self->{iTemporaryDirectory};
- $self->{iLogFile};
- $self->{iWarningLevel};
- $self->{iClean}; # if specified, it will delete the temp directory.
-
- # custom properties:
- $self->{iDiagram}; # the output svg
- $self->{iCopyright};
- $self->{iRelease};
- $self->{iName};
- $self->{iLabel};
- $self->{iModel};
- $self->{iCoreOs};
- $self->{iLevels};
- $self->{iExtra};
- $self->{iIniFile};
- $self->{iS12};
- $self->{iLink};
- # Read in the user arguments:
- GetOptions( "h" => \$help,
- "i=s" => \$self->{iIniFile},
- "output=s" => \$self->{iDiagram} ,
- "csv_output=s" => \$self->{iOutputCsv} ,
- "csv_columns=s" => \$self->{iCsvColumns} ,
- "csv_labels=s" => \$self->{iCsvLabels} ,
- 'xml_output=s' => \$self->{iOutputXml} ,
- "model=s" => \$self->{iModel} ,
- "sysdef=s" => \@{$self->{iSysDefFile}} ,
- "srcvar=s" => \@{$self->{iSourceRoot}} ,
- "shapes=s" => \$self->{iShapes},
- "link=s" => \$self->{iLink},
- "system_name=s" => \$self->{iName} ,
- "system_version=s" => \$self->{iRelease} ,
- "model_name=s" => \$self->{iLabel} ,
- "model_version=s" => \$self->{iRevision},
- "model_version_type=s" => \$self->{iRevisionType},
- "copyright=s" => \$self->{iCopyright},
- "distribution=s" => \$self->{iDistribution},
- "coreos=s" => \$self->{iCoreOs},
-
- "sysinfo=s" => \@{$self->{iExtra}},
- "localize=s" => \@{$self->{iLocalize}},
- "levels=s" => \@{$self->{iLevels}},
-
- "color=s" => \@{$self->{iColor}},
- "border-shape=s" => \@{$self->{iBorder}},
- "pattern=s" => \@{$self->{iOverlay}},
- "border-style=s" => \@{$self->{iStyle}},
-
- "filter=s" => \@{$self->{iFilter}},
- "filter-has=s" => \&OrderedOption,
- "show-attr=s" => \&OrderedOption,
- "hide-attr=s" => \&OrderedOption,
- "ignore=s" => \@{$self->{iIgnore}},
-
- "s12=s" => \@{$self->{iS12}},
-
- "detail=s" => \$self->{iDetail},
- "detail-type=s" => \$self->{iDetailType},
- "page-width=s" => \$self->{iPageWidth},
- "static" => \$self->{iStatic},
- "deps=s" => \$self->{iDepsFile},
- "w=s" => \$self->{iWarningLevel},
- "clean" => \$self->{iClean},
- "compress" => \$self->{iCompress},
- "tempdir=s" => \$self->{iTemporaryDirectory},
- "dpi=s" => \$self->{iPrintResolution},
- "model_font=s" => \$self->{iModelFont},
- "version-list=s" => \$self->{iVersions},
- "log=s" => \$self->{iLogFile},
- "logo=s" => \$self->{iLogoSrc},
- "logo-height=s" => \$self->{iLogoHeight},
- "logo-width=s" => \$self->{iLogoWidth},
- "legend-width=s" => \$self->{iLegendWidth},
- "legend-max-scale=s" => \$self->{iLegendMaxScale},
- "title-scale=s" => \$self->{iTitleScale},
- "xslt-param=s" => \%{$self->{iXsltParam}},
- "note=s" => \@{$self->{iLegendNote}}
- );
-
- if ($help)
- {
- warn $self->Help();
- exit DepConstants::KErrorNone;
- }
-
- @{$self->{'iFiltering'}} = @Filters;
- @Filters=();
- my $i=0;
- for($i=0;$i<=$#ARGV;$i++)
- { # check remaining args to ensure they are valid
- if($ARGV[$i]=~/^(http|file):\/\//) { # assume URLs are correct
- next;
- }
- if($ARGV[$i] eq "-" || $ARGV[$i] eq "")
- { #special values to use nothing or use the tmp file, but only valid for odd numbered args
- if($i%2==1) {next}
- warn "Invalid syntax";
- warn $self->Help();
- exit DepConstants::KIncorrectSyntax
- }
- if(!(-e $ARGV[$i])) {
- warn "file $ARGV[$i] does not exist";
- exit DepConstants::KFileDoesNotExist;
- }
- }
-
- # Now read the ini file and override command line if necessary:
- my @yr = gmtime();
- my $dataroot =&DepConstants::SystemModelXmlDataDir();
- my %defaults = (
- 'iCopyright' => (1900+$yr[5])." Nokia Corporation",
- 'iDiagram' => "sysmodel.svg",
- 'iTemporaryDirectory' => "drawsvg_temp",
- 'iName' => "Symbian OS" ,
- 'iLabel' => "System Model",
- 'iShapes' => "$dataroot/Shapes.xml" ,
- 'iLogFile' => "" # do not set this to any default: stdout is used if log file isn't set
- );
- my %defaultsForMulti = (
- 'iLocalize' => "$dataroot/display-names.xml" ,
- 'iExtra' => "$dataroot/SystemInfo.xml"
- );
-
- $self->ReadIniFile();
-
- foreach my $type ('iSysDefFile', 'iFilter','iSourceRoot')
- {
- if(scalar(@{$self->{$type}})==1 && $self->{$type}->[0]=~/,/)
- { # treat as comma-separated for backwards compatibility (leave alone if no commas)
- @{$self->{$type}} = split(/,/,$self->{$type}->[0]);
- }
- }
- if (scalar(@{$self->{iIgnore}}))
- {
- foreach my $type ('iIgnore')
- {
- if(scalar(@{$self->{$type}})==1)
- { # treat as semicolon-separated for backwards compatibility
- @{$self->{$type}} = split(/;/,$self->{$type}->[0]);
- }
- }
- }
- else
- {
- push(@{$self->{iIgnore}}, "layer:Tools and Utils and SDKENG","layer:MISC","block:Techview")
- }
-
-
- my $ver = $self->GuessReleaseNumber(); # determine release from attached files.
-
- # Use a special levels.xml file for 9.1 (unless it's specified by the user):
- push(@{$self->{iLevels}}, "$dataroot/Levels91.xml") if !scalar(@{$self->{iLevels}}) and $ver eq "9.1";
- push(@{$self->{iLevels}}, "$dataroot/Levels.xml") if !scalar(@{$self->{iLevels}}) and ($ver eq "9.2" or $ver eq "9.2" );
-
- if(!scalar(@{$self->{'iFiltering'}}) && !scalar(@{$self->{'iFilter'}}))
- { # filter only has a default if fitler-has is not set
- @{$self->{'iFilter'}}= ("java","gt");
- }
- while (($key, $value) = each %defaults) {
- $self->{$key} = $value if ! defined $self->{$key};
- }
-
- while (($key, $value) = each %defaultsForMulti) {
- push(@{$self->{$key}}, $value) if ! scalar(@{$self->{$key}});
- }
-
-
-
- # if saving to .svgz, try to compress
- $self->{iCompress} = $self->{iCompress} || ( $self->{iDiagram} =~ /\.svgz$/i );
-
- # if there's a deps file XSLT will get revision number and type from that.
- # if there is no deps file and neither revision nor revision type are specified, default to "DRAFT 1"
- if(!$self->{'iDepsFile'} && !$self->{'iRevision'} && !$self->{'iRevisionType'})
- {
- $self->{'iRevisionType'} = "draft";
- $self->{'iRevision'} = "1";
- }
-
- if ($self->{iShapes} eq "$dataroot/Shapes.xml" && !scalar(@{$self->{'iColor'}}))
- { # if it's got the default shapes use default colours
- @{$self->{iColor}} = (&DepConstants::SystemModelColorsXmlFile());
- }
-
- if(defined $self->{iCoreOs})
- {
- if($self->{iCoreOs}=~/(on|yes|true)$/i )
- {
- $self->{iCoreOs} = KCoreOsWithHal;
- }
- elsif($self->{iCoreOs}=~/(off|no|false)$/i )
- {
- $self->{iCoreOs} = KNoCoreOs;
- }
- elsif(! ($self->{iCoreOs}=~/^[0-9]+$/ )) # any other non-number
- {
- $self->{iCoreOs} = KCoreOsWithHardware;
- }
- }
- else # use version numebr to decide
- {
- $self->{iCoreOs} = ($self->{iRelease} eq 'Future' || $ver > 9.4) ? KCoreOsWithHardware :
- (($ver=~/^9\.4/) ? KCoreOsWithHal : KNoCoreOs);
- }
-
- $self->{'iGuessVer'} = $ver;
-
- mkpath $self->{iTemporaryDirectory} if ! -d $self->{iTemporaryDirectory};
-
- # set the log file if needed:
- $Logger::LOGFILE = $self->{iLogFile} if $self->{iLogFile};
-
- # set the correct warning level:
- # -w=1: errors only (default)
- # -w=2: warnings as well as errors
- # -w=3: info messages, warnings and errors.
- if (defined $self->{iWarningLevel} and $self->{iWarningLevel} > 1)
- {
- if ($self->{iWarningLevel} == 2)
- {
- $self->{iWarningLevel} = DepConstants::WARNING;
- }
- elsif ($self->{iWarningLevel} == 3)
- {
- $self->{iWarningLevel} = DepConstants::INFO;
- }
- else # for anything higher than set it to DepConstants::VERBOSE
- {
- $self->{iWarningLevel} = DepConstants::VERBOSE;
- }
- }
- else
- {
- $self->{iWarningLevel} = DepConstants::ERROR;
- }
- # set the logger up:
- $Logger::SEVERITY = $self->{iWarningLevel};
-
- # set all URIs
-
- (my $dir = cwd ) =~ s#\/#\\#g;
-
-
- foreach ( keys(%KFileParams)) {
- if($self->{$_} eq '') {next} # no value, so do nothing
- if($KFileParams{$_} eq '') {
- $self->{$_} = &FullPath("$dir\\", $self->{$_} );
- } elsif($KFileParams{$_} eq ',') {
- foreach my $item (@{$self->{$_}}) {
- if ($item eq '') {next} # skip if explicitly set to empty
- $item = &FileAsUrl(&FullPath("$dir\\",$item));
- }
- next;
- }
- $self->{$_} = &FileAsUrl($self->{$_});
- }
-
-}
-
-
-sub OrderedOption() {
- my $var = shift;
- my $val = shift;
- if($var=~/^(show|hide)-attr$/) {
- my $f = " "}
- else {$f.="select='$val'/>"}
- push(@Filters,$f);
- } elsif($var eq 'filter-has' && $val eq '*') {
- push(@Filters," ");
- }elsif($var eq 'filter-has') {
- if(!scalar(@Filters)) { # if the 1st is showing a filter than that implies everythig without a filter is turned off
- push(@Filters,' ');
- }
- foreach my $v (split(/,/,$val)) {
- push(@Filters," ");
- }
- }
-}
-
-
-
-sub FullPath {
- my $root = shift;
- my $file = shift;
-
- # If the file is not specified then return null
- if (!$file) {
- return;
- }
-
-
- # If the file is a URL or Windows path then return it as is
- if ($file =~ /:/) {
- return $file;
- }
-
- if ($root && !-e $root) {
- &Logger::LogFatal("$root does not exist");
- }
-
- if (-f $root) {
- $root = File::Basename::dirname($root)
- }
-
- # if root is empty or the same dir, then file is relative
- if($root eq '' or $root eq '.') {
- return $file;
- }
-
- # If the file is relative from the root then we want to add the drive letter to the file (if one exists)
- if ($file =~ s/^[\\\/]// ) {
- if ($root =~ /^([a-z]:)/i) {
- return File::Spec->catdir($1, $file);
- }
- }
-
- # Return the concatenated root and filename
- return File::Spec->catdir($root, $file);
-}
-
-
-sub ReadIniFile()
- {
- my $self = shift;
-
- return if ! defined $self->{iIniFile};
-
- # Log a fatal error if the ini file is defined but doesn't exist:
- &Logger::LogFatal("ini file does not exist\"$self->{iIniFile}\": $!", $self->{iScriptCode}) if ! -e $self->{iIniFile};
-
- open(INI, $self->{iIniFile}) or
- &Logger::LogFatal("Could not open the ini file \"$self->{iIniFile}\": $!", $self->{iScriptCode});
-
- &Logger::LogInfo("Reading ini file \"$self->{iIniFile}...", $self->{iScriptCode});
-
- %AllowMulitples = (
- "iLocalize" => 1,
- "iExtra" => 1,
- 'iLevels' => 1,
- 'iSysDefFile' => 1,
- 'iSourceRoot' => 1,
- 'iS12' => 1,
- "iIgnore" => 1,
- "iFilter" => 1,
- "iStyle" => 1,
- "iOverlay" => 1,
- "iBorder" => 1,
- "iColor" => 1,
- "iLegendNote" => 1,
- "iXsltParam" => 2
- ); # value of 2 means it's a hash, value of 1 is an array
-
- foreach my $m (keys %AllowMulitples) {
- # if it's already set, note that we're to ignore anything in the ini file
- if($AllowMulitples{$m}==2 ? (scalar(%{$self->{$m}})>0) : (scalar(@{$self->{$m}})>0)) {$AllowMulitples{$m}=0}
- }
-
- %Ordered = (
- "filter-has" => 1,
- "show-attr" => 1,
- "hide-attr" => 1
- );
-
- %IniMap = (
- "model" => 'iModel' ,
- "sysdef" => 'iSysDefFile' ,
- 'srcvar' => 'iSourceRoot',
- "shapes" => 'iShapes',
- "system_name" => 'iName' ,
- "model_name" => 'iLabel' ,
- "system_version" => 'iRelease' ,
- "copyright" => 'iCopyright',
- "model_version" => 'iRevision',
- "model_version_type" => 'iRevisionType',
- "distribution" => 'iDistribution',
- "coreos" => 'iCoreOs',
- "sysinfo" => 'iExtra',
- "localize" => 'iLocalize',
- "levels" => 'iLevels',
- "filter" => 'iFilter',
- "ignore" => 'iIgnore',
- "output" => 'iDiagram',
- "csv_output" => 'iOutputCsv',
- "csv_columns" => 'iCsvColumns' ,
- "csv_labels" => 'iCsvLabels' ,
- 'xml_output' => 'iOutputXml' ,
- "detail" => 'iDetail',
- "detail-type" => 'iDetailType',
- "page-width" => 'iPageWidth',
- "static" => 'iStatic',
- "color" => 'iColor',
- "border-shape" => 'iBorder',
- "pattern" => 'iOverlay',
- "deps" => 'iDepsFile',
- "border-style" => 'iStyle',
- "w" => 'iWarningLevel',
- "tempdir" => 'iTemporaryDirectory',
- 'dpi' =>'iPrintResolution',
- 'model_font' =>'iModelFont',
- "s12" => 'iS12',
- "log" => 'iLogFile',
- "logo" => 'iLogoSrc',
- "logo-height" => 'iLogoHeight',
- "logo-width" => 'iLogoWidth',
- 'version-list' => 'iVersions',
- "link" => 'iLink',
- "clean" => 'iClean',
- "compress" => 'iCompress',
- "legend-width" =>'iLegendWidth',
- "legend-max-scale" => 'iLegendMaxScale',
- "title-scale" => 'iTitleScale',
- "xslt-param" => 'iXsltParam',
- "note" => 'iLegendNote'
- );
-
- foreach my $line ()
- {
- $line =~ s/^\s*//; # remove spaces
- $line =~ s/\s*$//; # a/a
- $line =~ s/\n$//; # remove new line
- if($line =~/"/) {
- $line =~ s/^(([^"#]*"[^"]*")+)#.*$/$1/; # remove comments indicated by # (to the end of the line)
- } else {
- $line =~ s/#.*$//; # remove comments indicated by # (to the end of the line)
- }
- next if $line eq ""; # ignore blank lines
- if ($line =~ m/([^=]+)\s*=\s*(.*)/)
- {
- my $argType = lc $1; # case-insensitive
- my $argValue = $2; # case-sensitive as it can have strings intended for html output
-
- $argType =~ s/^\s*//; # remove spaces on either end (Cannot use s/\s+// as this will not be suitable for html text)
- $argType =~ s/\s*$//;
- $argValue =~ s/^\s*//;
- $argValue =~ s/\s*$//;
-
- $argValue =~ s/^'//; # no need for quotes around the values
- $argValue =~ s/'$//;
- $argValue =~ s/^"//;
- $argValue =~ s/"$//;
-
- my $iniDir = $self->{iIniFile};
- $iniDir =~ s,[^\\//]+$,,;
- #$iniDir .= '\\';
-
- if(defined $Ordered{$argType}) {
- &OrderedOption($argType, $argValue);
- } elsif(defined $IniMap{$argType}) {
- my $param = $IniMap{$argType};
- # make sure all files mentioned are taken relative to the ini file
- if($KFileParams{$param} ne '' )
- {# comma-separated filenames
- my @list;
- foreach my $item (split(/,/,$argValue))
- {
- push(@list,&FullPath($iniDir,$item));
- }
- $argValue = join(',',@list);
- }
- elsif(defined $KFileParams{$param} && $argValue ne '')
- {# single file names
- $argValue = &FullPath($iniDir,$argValue);
- }
- # do not override! Only set values that have not been set on command line already
- if ($AllowMulitples{$param}==1) # check so we don't add if it's set by the cmd line
- {
- push(@{$self->{$param}}, $argValue);
- }
- elsif ($AllowMulitples{$param}==2) # check so we don't add if it's set by the cmd line
- {
- $argValue=~s/^([^=]+)=//;
- $self->{$param}->{$1}=$argValue;
- }
- elsif (! defined $AllowMulitples{$param})
- {
- $self->{$param} = $argValue if ! $self->{$param};
- }
- }
- }
- }
-;
- @{$self->{'iFiltering'}} = @Filters if ! @{$self->{'iFiltering'}};
- @Filters=();
- }
-
-sub MakeInfo() {
- my $self = shift;
- my %files = @_;
- my $res="";
- while (my ($key,$value) = each %files) {
- if ($self->{$key} ne '') {
- $res .= "\t\t \n"
- }
- }
- return $res;
-}
-
-sub MakeMultiInfo() {
- my $self = shift;
- my %files = @_;
- my $res="";
- while (my ($key,$value) = each %files) {
- foreach my $m (@{$self->{$key}}) {
- if($m ne '') { # skip if empty
- $res .= "\t\t \n"
- }
- }
- }
- return $res;
-}
-
-sub MakeAttirbutes() {
- my $self = shift;
- my %atts = @_;
- my $res="";
- while (my ($key,$value) = each %atts) {
- if (defined $self->{$key}) {
- my $cur = $self->{$key};
- if($key=~/File$/) {$cur=&FileAsUrl($cur)} # anything that ends in File is treated as a URL
- $res .= " $value=\"$cur\"";
- }
- }
- return $res;
-}
-
-sub getSchedule12Xml ()
- {
- my $self = shift;
- my $ver = shift;
- my @files = @{$self->{'iS12'}};
- my @ret;
- foreach my $s12 (@files)
- {
- if($s12 eq '') {next}
- if($s12=~/^file:\/\/\/(.*)$/)
- {
- if(-d $1)
- {
- # it's a directory, so append Symbian_OS_v[version]_Schedule12.xml
- $s12=~s,[\\/]*$,/Symbian_OS_v${ver}_Schedule12.xml,;
- }
- }
- push(@ret,$s12);
- }
- return @ret
- }
-
-sub getModel()
- {
- my $self = shift;
- if($self->{iModel}) {return $self->{iModel}}
-
- my $xsltDir = $self->GetXsltDir();
-
- my $tempDirectoryPathname = abs_path($self->{iTemporaryDirectory});
-
- (my $modelXml = "$tempDirectoryPathname/Model.xml") =~ s#\/#\\#g;
- (my $modelTemplateXml = $xsltDir."/") =~ s#\/#\\#g;
-
- if($self->{iCoreOs} == KCoreOsWithHardware) { # show 9.5+ CoreOS
- $modelTemplateXml .= "ModelTemplate.xml";
- } elsif($self->{iCoreOs} == KCoreOsWithHal ) { # show 9.4 CoreOS
- $modelTemplateXml .= "ModelTemplate.mid.xml";
- } else {
- $modelTemplateXml .= "ModelTemplate.older.xml";
- }
-
-
- # the follownig params cannot be emtpy, delete if they are
- foreach my $item ('iCopyright' , 'iDistribution' ,'iDepsFile', 'iLink', 'iDetailType', 'iDetail', 'iVersions')
- {
- if($self->{$item} eq '') {delete $self->{$item}}
- }
-
-
- # Step 1:
- # Create a Model.xml based on the ModelTemplate.xml
- open (INPUT, $modelTemplateXml) or &Logger::LogError("Xalan error ($error) occured in Step 1 of SVG building...", $self->{iScriptCode}, 1);
- open (OUTPUT, ">$modelXml") or &Logger::LogError("Xalan error ($error) occured in Step 1 of SVG building...", $self->{iScriptCode}, 1);
- my $release = $self->{iRelease};
-
-
-
- # Since $self->{iSysDefFile} may be a comma-separated list of sysdefs, create a tag for each one of the files:
- my $sysdefTagsForModelTemplate = "";
-
- @{$self->{'iS12'}} = $self->getSchedule12Xml($self->{'iGuessVer'});
-
- if(scalar(@{$self->{iSourceRoot}}) == 1)
- {
- @{$self->{iSourceRoot}} = ($self->{iSourceRoot}->[0]) x scalar($self->{iSourceRoot}->[0]);
- }
-
- for (my $index = 0; $index < scalar(@{$self->{iSysDefFile}}); ++$index)
- {
- $sysdefTagsForModelTemplate .= $self->CreateSysDefTagsForModelXML($self->{iSysDefFile}->[$index], $self->{iSourceRoot}->[$index]);
- }
-
- my $display;
-
- if($self->{iLink}=~/\\/) # it's a windows dir, change to file URI
- {
- $self->{iLink} = &FileAsUrl($self->{iLink});
- }
-
- $display .= $self->MakeMultiInfo ('iLocalize' => 'abbrev');
-
- my %infoMap = (
- 'iStyle' => 'style',
- 'iOverlay' => 'overlay',
- 'iBorder' => 'border',
- 'iColor' => 'color'
- );
-
- $display .=$self->MakeMultiInfo( %infoMap);
- if($self->{'iLogoSrc'})
- {
- $display.="\nMakeAttirbutes(
- 'iLogoSrc' => 'src',
- 'iLogoWidth' => 'width',
- 'iLogoHeight' => 'height'
- ) ;
- if($self->{'iLogoSrc'} =~ /\.svg$/i)
- {
- $display.= " embed=\"yes\"";
- }
- $display.= "/>";
- }
-
- my $filters='';
- if(scalar @{$self->{'iFiltering'}}) # complex filtering
- {
- $filters = join("\n\t",@{$self->{'iFiltering'}});
- }
- elsif (@{$self->{iFilter}}) { # can't have both -filter and complex filtering
- foreach ( @{$self->{iFilter}}) {
- if($_ ne '') {$filters.=" \n\t";}
- }
- }
-
- my $ignore='';
-
- foreach ( @{$self->{iIgnore}}){
- if(/^(.*):(.*)$/) {$ignore.=" \n\t"}
- }
-
-
- my $optional = $self->MakeAttirbutes(
- 'iCopyright' => 'copyright',
- 'iDistribution' => 'distribution',
- 'iRevision' => 'revision',
- 'iDepsFile' => 'deps',
- 'iLink' => 'link',
- 'iRevisionType' => 'revision-type',
- 'iVersions' => 'version-list'
- );
-
- if($self->{iRelease} ne '') {$optional .= " ver='$self->{iRelease}'"}
- elsif($self->{iGuessVer} eq 'Future' ) {$optional .= " ver='$self->{iGuessVer}'"}
-
-
- my $layout = $self->MakeAttirbutes(
- 'iDetail' => 'detail',
- 'iDetailType' => 'detail-type',
- 'iPageWidth' => 'page-width',
- 'iPrintResolution' => 'resolution',
- 'iModelFont' => 'font'
- );
- if($self->{iStatic}) {$layout .= " static='true'"}
- my $legend = '';
- my @legendmap = (
- 'iColor', 'colors',
- 'iStyle', 'styles',
- 'iOverlay', 'patterns',
- 'iBorder', 'borders'
- ); # order is important
- for(my $i=0; $i<$#legendmap;$i+=2){
- my $cur='#'.$infoMap{$legendmap[$i]};
- my $count = scalar(@{$self->{$legendmap[$i]}});
- if ($count==0 || ($count==1 && $self->{$legendmap[$i]}->[0] eq '' )) {$cur='@shapes'."#$legendmap[$i+1]"}
- $legend .= "\t\t\t\n";
- }
- foreach my $note (@{$self->{iLegendNote}})
- {
- if(!($note=~/?[0-9a-z]+;/i))
- { # if not entity-encoded, entity encode the stuff
- $note=~ s/([&<>\x7f-\xff])/"".ord($1).";"/eg;
- }
- $legend .= "\t\t\t$note ";
- }
-
- my $legendOptions;
- if($self->{iLegendWidth}) {$legendOptions .= ' width="' .$self->{iLegendWidth} .'"'}
- if($self->{iLegendMaxScale}) {$legendOptions .= ' maxscale="' .$self->{iLegendMaxScale} .'"'}
- if($self->{iTitleScale}) {$legendOptions .= ' title-scale="' .$self->{iTitleScale} .'"'}
- foreach my $line ( )
- {
- my $cur='';
- $line =~ s/___SYMBIAN_OS_RELEASE___/$self->{iRelease}/g; # not used
- $line =~ s/___NAME___/$self->{iName}/g;
- $line =~ s/___LABEL___/$self->{iLabel}/g;
- $line =~ s/___REVISION_TYPE___/$self->{iRevisionType}/g; # not used
- $line =~ s/___LINK___/$self->{iLink}/g; # not used
- $line =~ s/___OPTIONAL___/$optional/g;
- $line =~ s/___LAYOUT_OPTIONS___/$layout/g;
- $line =~ s/___FILTERS___/$filters/g;
- $line =~ s/___IGNORE___/$ignore/g;
- $line =~ s/___LEGEND___/$legend/g;
- $line =~ s/___LEGEND_OPTIONS___/$legendOptions/g;
- $line =~ s/___SHAPES_XML___/$self->{iShapes}/g;
- $line =~ s/___SYSTEM_DEFINITIONS___/$sysdefTagsForModelTemplate/; # should be only one incident of it
- $line =~ s/___DISPLAY___/$display/g;
- $line =~ s/\sshapes=""//g; # remove empty attribute
- print OUTPUT $line;
- }
- close INPUT;
- close OUPUT;
-
- # Open and close the file so that it can flush itself:
- open (OUTPUT, "$modelXml") or &Logger::LogError("Xalan error ($error) occured in Step 1 of SVG building...", $self->{iScriptCode}, 1);
- close OUTPUT;
- return $modelXml;
- }
-
-sub GetXsltDir()
- {
- my $self = shift;
- my $xsltDir = $FindBin::Bin."/svg"; # calcluated w.r.t root of Dep directory
- $xsltDir = $FindBin::Bin."/../svg" if ! -d $xsltDir; # calculated w.r.t the /commands directory
- return $xsltDir;
- }
-
-
-sub FileAsUrl()
- {
- my $file = $_[0];
- if($file=~/^..+:/){ return $file} # already a URL
- if(-f $file)
- { # abs_path only works on dirs, so strip off file name and put it back when done
- if(! ($file=~/^[a-z]:[\\\/][^\\\/]+$/i))
- { # if it's in the root dir, do nothing
- my $tail = "/$file";
- # if it's just a file name, need to find cwd;
- if($file =~ s,([\\/][^\\/]+)$,,)
- {
- $tail = $1;
- }
- else {$file = "."}
- $file = abs_path($file)."$tail";
- }
- }
- elsif (-d $file)
- {
- $file = abs_path($file);
- } # else does not exist, so just convert to unix-style path
- $file=~tr/\\/\//;
- return "file:///$file";
- }
-
-
-sub RunCmd() {
- my $command = shift;
- open(EXE,"$command 2>&1|");
- while(){
- chomp;
- s/^XSLT Message: //;
- s/\.Source tree node:.*$//;
- if($_ ne '') {
- if(s/^note: //i) {
- &Logger::LogInfo($_, 100);
- } elsif(s/^Warning: //) {
- &Logger::LogInfo($_, 600);
- } elsif(s/^Error: //i) {
- &Logger::LogInfo($_, 400);
- } else {
- print STDERR "$_\n";
- }
- }
- }
- close(EXE);
- return $?;
-}
-
-sub ShouldCreateDepmodel()
- {
- my $self = shift;
- if ($self->{iDepsFile})
- {
- return 1;
- }
- my $model = $self->getModel();
- my $t = $/;
- $/='>';
- open(M,$model);
- while()
- {
- if(/=0) {
- $command .= " -i $indent";
- }
- if($to ne '') {
- $command .= " -o \"$to\"";
- }
- $command.=" \"$from\" \"$xslt\"";
- &Logger::LogInfo("System Call: $command", 800);
- if($to eq '') {return `$command`}
- return &RunCmd($command);
- }
-
-sub Draw()
- {
- my $self = shift;
- my $genSvg = $self->{'iDiagram'} ne '';
- my $genCsv = $self->{'iOutputCsv'} ne '';
- my $genXml = $self->{'iOutputXml'} ne '';
-
- if(!$genSvg && !$genCsv && !$genXml)
- {
- &Logger::LogFatal("Must specify at least one type of output file. Cannot continue...", $self->{iScriptCode});
- }
-
- &Logger::LogInfo("Creating sysmodel.svg...", $self->{iScriptCode});
-
- # Step 0:
- # Prepare some file names and create output directory:
-
- # construct full path name:
- ($self->{iRootDirectory} = cwd ) =~ s#\/#\\#g;
- chdir($self->{iTemporaryDirectory});
- my $tempDirectoryPathname = cwd; # now gives the full path name $self->{iTemporaryDirectory}
- chdir($self->{iRootDirectory}); # change back!
-
- my $xsltDir = $self->GetXsltDir();
-
- my $tempStuctureFile = "$tempDirectoryPathname/system_model_svg_tmp.xml";
- my $tempXslFile = "$tempDirectoryPathname/system_model_svg_tmp.xsl";
- my $tempModelFile = "$tempDirectoryPathname/model_tmp.svg";
- my $tempModelFile2 = "$tempDirectoryPathname/model_tmp2.svg";
- my $modelXsl = $xsltDir."/Model.xsl";
-
-
- my $modelXml = $self->getModel();
-
- # Step 2
- # xalan -i 2 model.xml model.xsl > tmp.xml
- $error = &XsltTransform($modelXsl,$modelXml,$tempStuctureFile,1, $self->{'iXsltParam'});
-
- &Logger::LogError("Xalan error ($error) occured in Step 2 of SVG building...", $self->{iScriptCode}, 1) if $error;
-
- # Step 3 - validation
- # xalan tmp.xml validate.xsl
- if($self->{iWarningLevel} == DepConstants::VERBOSE )
- {
- my $errors = &XsltTransform($xsltDir."/validate.xsl",$tempStuctureFile,'',-1);
- &Logger::LogList(split(/\n/,$errors));
- }
- if($genSvg)
- { # only needed for model building
-
- # Step 4
- # xalan -i 2 model.xml shapes.xsl > tmp.xsl
- $error = &XsltTransform("$xsltDir/Shapes.xsl",$modelXml,$tempXslFile,1,
- {%{$self->{'iXsltParam'}},'Model-Transform' => "'".&FileAsUrl($modelXsl)."'" });
- &Logger::LogError("Xalan error ($error) occured in Step 4 of SVG building...", $self->{iScriptCode}, 1) if $error;
-
- # Step 5
- # xalan -i 2 tmp.xml tmp.xsl > tmp.svg
- $error = &XsltTransform($tempXslFile,$tempStuctureFile,$tempModelFile,1,$self->{'iXsltParam'});
- &Logger::LogError("Xalan error ($error) occured in Step 4 of SVG building...", $self->{iScriptCode}, 1) if $error;
-
- if ($self->ShouldCreateDepmodel()) { # insert as 1st transform
- @ARGV=( $xsltDir."/Postprocess.xsl",'-',@ARGV)
- }
- my $tmpsvg = $tempModelFile;
- while(scalar(@ARGV)) {
- my $transform = shift(@ARGV);
- my $datafile = shift(@ARGV);
- if($datafile eq '-') {$datafile = &FileAsUrl($tempStuctureFile)}
- elsif($datafile ne '') {$datafile = &FileAsUrl($datafile)}
- # save to the output if this is the last transform
- # otherwise save to tempModelFile2 if reading from tempModelFile, and vis versa
- my $saveto = $self->{'iDiagram'};
- if(scalar(ARGV)) {
- $saveto = ($tmpsvg eq $tempModelFile) ? $tempModelFile2 : $tempModelFile;
- }
- # Step 6
- # xalan -i 2 -p Data tmp.xml 'tmp.svg' postprocess.xsl> final.svg
- my %p;
- if($datafile ne '') {
- $p{'Data'}="'$datafile'"; # optional -- only if needed for transform
- }
- $error = &XsltTransform($transform,$tmpsvg,$saveto,1,\%p);
- &Logger::LogError("Xalan error ($error) occured in Step 6 of SVG building...", $self->{iScriptCode}, 1) if $error;
- $tmpsvg = $saveto; # read from this next time.
- }
- if ($tmpsvg ne $self->{'iDiagram'}) {
- open(OUT,">".$self->{iDiagram});
- open(IN,$tmpsvg);
- print OUT ;
- close OUT;
- close IN;
- }
-
- my $zipname = $self->{iDiagram};
- my $unzipname = $zipname;
- $zipname =~ s/\.svg$/.svgz/i;
- $unzipname =~ s/\.svgz$/.svg/i;
- my $compressed = 0;
- if($self->{iCompress})
- {
- my $gzip = &DepConstants::GzipCommand();
- if($gzip)
- {
- my $command = "$gzip ".$self->{iDiagram};
- &Logger::LogInfo("System Call: $command", $self->{iScriptCode});
- $error = &RunCmd($command);# this should generate the sysmodel.svg in the output directory
- &Logger::LogError("Gzip error ($error) occured when comrpessing SVG", $self->{iScriptCode}, 1) if $error;
- &Logger::LogInfo("Renaming output to : $zipname", $self->{iScriptCode});
- rename $self->{iDiagram}.".gz", $zipname;
- $compressed = 1;
- }
- }
- if(!$compressed && $unzipname ne $self->{iDiagram})
- {
- &Logger::LogInfo("Renaming output to : $unzipname", $self->{iScriptCode});
- rename $self->{iDiagram}, $unzipname;
- }
- }
- # create CSV if desired
- if($genCsv)
- {
- my %p;
- if($self->{iCsvColumns})
- {
- $p{'atts'}="'".$self->{iCsvColumns}."'";
- }
- if($self->{iCsvLabels})
- {
- $p{'labels'}="'".$self->{iCsvLabels}."'";
- }
- $error = &XsltTransform($xsltDir."/output-csv.xsl",$tempStuctureFile,$self->{iOutputCsv},-1,\%p);
- &Logger::LogError("Xalan error ($error) occured in CSV output...", $self->{iScriptCode}, 1) if $error;
- }
-
- # create sysdef XML if desired
-
- if($genXml)
- {
- $error = &XsltTransform($xsltDir."/output-sysdef.xsl",$tempStuctureFile,$self->{iOutputXml},1);
- &Logger::LogError("Xalan error ($error) occured in Sysdef output...", $self->{iScriptCode}, 1) if $error;
- }
-
- # delete the contents of the temp directory if -clean is specified by the user:
- if ($self->{iClean})
- {
- &Logger::LogInfo("Deleting contents of the temp directory $self->{iTemporaryDirectory}...", 100);
- $self->DeleteTempDirectory();
- }
- }
-
-sub CreateSysDefTagsForModelXML()
- {
- my $self = shift;
- my $sysdefXml = shift;
- my $srcvar = shift;
-
- if($sysdefXml eq '')
- {
- &Logger::LogInfo("Cannot find System Definition file", 100);
- return;
- }
-
- my $ret = "MakeMultiInfo('iExtra' => 'extra', 'iLevels' => 'levels' , 'iS12' => 's12');
- return "$ret\t \n";
- }
-
-sub DeleteTempDirectory()
- {
- my $self = shift;
- # This will delete all files in the $self->{iTemporaryDirectory}
- rmtree $self->{iTemporaryDirectory};
- }
-
-sub Help()
- {
- my $self = shift;
-format STDERR =
- @<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-$param, $text,
- ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~
- $text
-.
-my @list =(
- 'Switch', 'Explanation',
- '------', '-----------',
-'-h' , 'Help on usage',
- '-i' , 'An INI file listing one argument per line, with the syntax: = ',
- '==== Build Control ====',
- '-w' , 'Warning level. 1: errors only (default), 2: warnings as well as errors, 3: info messages, warnings and errors, 4: all plus deep syntax validation and reporting -- note that this can take a long time to compute so do not use this warning level by default',
- '-tempdir', 'Temporary directory for build files. Defaults to drawsvg_temp',
- '-output', 'The name of the file to save the built System Model SVG. If in the format filename.svgz, it will attempt to compress the file. If compression is not supported, it will rename the output to filename.svg. Defaults to sysmodel.svg or sysmodel.svgz if -compress is set.',
- '-csv_output', 'The name of the file to save a CSV description of the built System Model. Only items shown on the system model will be included.',
- '-csv_columns', 'Comma-separated list of columns to include in the output CSV. This does nothing if -csv_output is not present. By default (if -csv_columns is not present), the columns will be a sorted list of all attributes on all items. ',
- '-csv_labels', 'Comma-separated list of columns labels include in the output CSV. Do not use quotes or commas in label names. This does nothing if -csv_output is not present. If this list is shorter than -csv_columns, the remaining columns will use the attribute name as the label. ',
- '-xml_output', 'The name of the file to save a combined system definition XML. Only items shown in the built system model will be included.',
- '-log' , 'File in which to store output. Defaults to stdout',
- '-compress', 'If set, it will attempt to compress the output as an SVGZ file. In order to success gzip must be installed and in the PATH. This will also rename the output file from filename.svg to filename.svgz.',
- '-clean' , 'Caution: if set, it will delete the contents of the temporary directory.',
- "==== Files or URIs ====\nAll of these take a file name (relative or absolute path) or URI of a data source",
-'-model', 'The location of the Model XML file to use to build the file. If this is provided all other non-build control command line and ini options are ignored.',
-'-shapes', 'The location of the Shapes XML file used to provide rules to control the display of the components on the model. If not present, default behaviour (in Shapes.xml) is used. This and the default bahaviours are overrriden by using the -color, -border, -pattern, and -style options. ',
-'-localize', 'The location of the Localization file used to provide displayable names for the model entities. By default, the provided "display-names.xml" is used.',
-'-s12', 'The location of the Schedule 12 XML file used to provide the border shapres of the components. If this a directory, the S12 XML file is found by appending "Symbian_OS_v[system_version]_Schedule12.xml" to the directory.',
-'-levels', 'The location of the Levels XML file used to override the stacking of collections. ',
-'-sysinfo', 'The location of extra component information used to provided additional properies for components. By default, the provided "SystemInfo.xml" is used.',
-'-deps', 'The location of the Dependencies XML file used to draw the depmodel. If not present, dependencies will not be drawn',
-'-color', 'The location of a Values XML file used to specify per-component colours. If not present, the default colours are used.',
-'-border-shape', 'The location of a Values XML file used to specify the shape (border) of each component. If not present, the default borders are used.',
-'-pattern', 'The location of a Values XML file used to specify per-component overlay patterns. If not present, the default patterns (for new and reference components) are used.',
-'-border-style', 'The location of a Values XML file used to specify per-component border styles. If not present, the default border styles are used. ',
-'-link','The base URL to use for all hyperlinks in the model. A base URL will be appended by the type and name (e.g. Blocks/Comms%20Services.html) of the items to create the full URL of the linked file. Window directories will be converted into file URIs.',
-"==== Labels ====\nAll of these take a plain text value which is displayed on the model",
-'-system_name', 'The name of the product described in the model. It appears at the bottom right. Defaults to "Symbian OS"',
-'-system_version', 'The version of the product described in the model. It appears at the bottom right after the name.',
-'-model_name', 'The label for the model. It appears at the bottom right, under the name. Defaults to "System Model".',
-'-model_version', 'A number which appears before th model-revision-type. If specified this overrides the build number used by depmodel. If not building depmodel, this defaults to "1"',
-'-model_version_type', 'One of "draft", "issued", "build" or free-text value. Appears below the model label. If specified this overrides the build number used by DepToolkit.If not building depmodel, this defaults to "draft"',
-'-copyright', 'The copyright to appear in the lower left. Set to empty string to leave out. Defaults to "[this year] Nokia Corporation"',
-'-distribution', 'Text to appear on the bottom centre to indicate to whom the model can be show. Informational only. Suggested values are "internal", "secret" or "unrestrictred". Not shown if not set.',
-'-note', 'Free text to appear inside the legend box, on the rightmost side. If multiple ones are provided, they will appear as separate boxes from left to right. Newlines and otehr special characters can be entity-encoded (e.g.
)',
-"==== Model Control ====",
-'-sysdef [uri-list]', 'Comma-separated list of locations for the System Definition XML file(s) used to build the model. Layers in the files will be stacked on top of each other in order, from bottom to top.',
-'-coreos [on/off/new]', 'Turn on or off Core OS colouring, or use the new colouring for 9.5 and later models. Defaults to "off" for model versions before 9.4 or those with no specified version, "on" for 9.4 and "new" for 9.5 and later',
-'-filter [filter-name]', 'The name of a filter to turn on when building the model. All filters on an item must be present in this list in order for that item to appear. Can have any number of these Defaults to "java" and "gt"',
-'-filter-has [filter-name]', 'Like -filter, except any filter on an item must be present in this list in order for that item to appear. Include "*" in the list in order to show items with no filters. Equivalent to "-show-attr filter xxx"',
-'-ignore [item]', 'A model entity to not draw, in the form "[item-type]:[item-name]". Any number of these can be used. Defaults to "layer:Tools and Utils and SDKENG" ,"layer:MISC", "block:Techview"',
-'-show-attr [attr[=val]]', 'A mechanism of filtering which allows filtering based on component attribute values. If a value is set for that attribute, the component will be shown. Use in conjunction with -hide-attr for fine contol of what is shown. "class" and "filter" attribtues are handled specially -- see the documentation for details',
-'-hide-attr [attr[=val]]', 'A mechanism of filtering which allows filtering based on component attribute values. If a value is set for that attribute, the component will not be shown on the model. Use in conjunction with -show-attr for fine contol of what is shown. "class" and "filter" attribtues are handled specially -- see the documentation for details',
-'-detail [item-type]' , 'The type of the smallest System Model entity to draw. One of "layer", "block", "subblock", "collection" or "component". Defaults to "component"',
-'-detail-type [type]' , 'If set to "fixed", the smallest System Model entity drawn will have a fixed width (rather then sized by their invisible components). This can be used to reduce the size and complexity of the overall model.',
-'-page-width [length]', 'The width of the drawn image (with units). If not specified it will fit the viewer window. Valid units: "in", "mm", "cm", "px", "pt"',
-'-static', 'If present, the model will not have any mouseover effects (this is overriden by builing the depmodel).',
-'-logo [file]', 'If present, the logo will be drawn in the lower-left corner of the model. If the logo is an SVG file, -logo-width and -logo-height are optional, otherwise the must both be specified',
-'-logo-height [length]', 'Specifies the height of the logo (if any) in mm. Width is scaled along with height unless otherwise specified. Both width and height MUST be specified if a bitmap image is used',
-'-logo-width [length]', 'Specifies the width of the logo (if any) in mm. Height is scaled along with width unless otherwise specified. Both width and height MUST be specified if a bitmap image is used',
-'-legend-width [%]', 'The percent width of the model the legend takes up. This will scale the size of the legend and model title, but not the logo, to fill the specified space. If a logo is included, but no width specified, the legend cannot be scaled since it will not be able to determine the available space. Note that that -max-legend-scale will further limit the potential width.',
-'-legend-max-scale [scale]', 'Specifies the maximum scale factor for resizing the legend. If this is present and -legend-width is not, the legend and title will scale to 100% of the available width. If both are present the scale factor will take precedent. If neither is present, the legend will not resize. Note that when this is used, the legend can shrink if it would normally be wider than the model.',
-'-title-scale [scale]', 'Specifies the scale factor for the size of the title font (the text in the lower right). Use this instead of CSS to control the size, since the model generator needs to explicitly know how much space to allocate for the title.',
-'-model_font [font]', 'The name of the base font to use to draw the model. This will be overriden by any custom CSS in the Shapes XML',
-'-dpi [number]', 'The DPI to use when printing from the Adobe SVG Viewer. If not present, it will print well at A4 size. A value of 300 will look good on A3 size paper'
- );
-print STDERR "Usage: DrawSvg.pl [Arguments] [Transform Data-file] ...\n\nArguments:\n";
- my $head=2;
-while(@list) {
- $param = shift(@list);
- if($head<=0 and !($param=~/^-/)){print "\n$param\n";next;}
- $text = shift(@list);
- write STDERR ;
- $head--;
-}
- return;
- }
-
-1;
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/Legend.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/Legend.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,842 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
- 4.233
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-100
-0
-
-
-20
-
-
-
-
-
-
-
-
-
-
-
-
- 4.233
- 1.94
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4.233
- 6.3495
- 4.3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Copyright ©
-
-
-
- SECRET
- CONFIDENTIAL
- INTERNAL
- UNRESTRICTED
-
-Warning: unknown security classification:
-
-
-
-
-
-
- DRAFT
- ISSUED
- Build
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- systemModel attribute "type" is deprecated, use "label" instead
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Warning: deprecated syntax draft=" "
-
-
-
- Warning: deprecated syntax issued=" "
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- normal
-
-
-
-
-
-
-
-
-
-
-
- 10
- font-family: ' '
- :
-
- 0 10
-
- translate( )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fill: url(
-
- ); stroke: none; stroke-width: 0;
-
-
-
- ;
-
-
- url( )
-
-
-
- url( )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0 10
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-3.1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- font-family: ' '
-
-
-
-
-
-color-
-style-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1
-1
-1
-1
-
-
-
-
-
-
- 1
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [
-
-
-
-
- ]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/Model.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/Model.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1686 +0,0 @@
-
-
-
- ]>
-
-
-
- old_model
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ,
-
-
-
- ,
- ! ,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- using old System Definition schema ( )
-
-
-
- using incompatible System Definition schema ( )
-
-
-
-
-
-
-
-
-
- Invalid level: in
-
-
-
-
-
-
Note:
-
-
-
Note:
-
-
-
Warning:
-
-
-
Error:
-
-
-
Error:
-
-
-
-
-
-
-
-
-
- collection
- subblock
- block
-
-
-
-
-
-
-
-
-
-
-
- type="text/xsl" href=" "
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- build
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Merging with model
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Deleting
-
-
-
- ignoring children
-
-
-
-
-
-
-
-
-
-
-
-
- Relocating
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cannot merge " " with " "
-
-
-
-
-
-
-
-
-
-
-
-
- Relocating and merging
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- *
-
-
-
-
-
-
-
-
-
-
-
- Append (5)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error invalid combinations of attributes in
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- To Merge with these: " ",
-
-
-
-
-
- was not here
-
-
-
- end not here
-
-
-
-
- Does not already exist:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Append (4)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- collection
- block
- subblock
-
-
-
-
-
-
- module
- logicalset
- logicalsubset
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- T-R
- true
-
-
-
- T-R
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-1
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
- 1
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /
- /
- /
- /
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not in Schedule 12
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cbox
- cmp
-
-
-
-
-
-
-
-
-
-
-
-#Border
-
- Shape
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cmp
-
-
-
-
-
- cmp
-
-
-
-
-
-
-
-#Pattern
-
- Overlay
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- yes
- cbox
-
-
-
-
- yes
- cbox
-
-
- no colour data
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cbox
- cmp
-
-
-
-
-
-
-
-
-
-
-
- #Border
- #Pattern
-
- #
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- component
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- cmp
- cbox
- cmp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- %
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
- am
- pm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/ModelTemplate.mid.xml
--- a/sysmodellibs/sysmodelgen/src/svg/ModelTemplate.mid.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-
-
- ___SYSTEM_DEFINITIONS___
- ___FILTERS___
- ___IGNORE___
-
-
-
-
- ___DISPLAY___
-
- ___LEGEND___
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/ModelTemplate.older.xml
--- a/sysmodellibs/sysmodelgen/src/svg/ModelTemplate.older.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-
-
- ___SYSTEM_DEFINITIONS___
- ___FILTERS___
- ___IGNORE___
-
-
-
- ___DISPLAY___
-
- ___LEGEND___
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/ModelTemplate.xml
--- a/sysmodellibs/sysmodelgen/src/svg/ModelTemplate.xml Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-
-
- ___SYSTEM_DEFINITIONS___
- ___FILTERS___
- ___IGNORE___
-
-
-
-
- ___DISPLAY___
-
- ___LEGEND___
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/Overlay.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/Overlay.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,331 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-mouseover
- 1
-
-component collection block subblock layer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
- on(clear(' '))
-
-
- on(clear(' '))
-
-
- on(' ')
- off(' ')
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
- + 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-20
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- translate( )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- translate( )
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/Postprocess.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/Postprocess.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-dep-
-
-
-
- 1
- 1
- 1
-
-
-
-
-
-
-
-
- Uses
- Used by
-
-
-
-
-
-
-
- 4.8
- 2.4
- 1.2
- 0.6
- 0.3
-
-
-
-
-
-
-
-
-
-
- path.arrow {
- marker-end: url(#Triangle);
- fill:none;stroke: black;
- stroke-width: px;
- }
- path.arrowF {
- marker-start: url(#TriangleF);
- fill:none;stroke: blue;
- stroke-width: px;
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- / /
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- M
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- L
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- c
- c
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- M
-
-
-
-
- ,
-
-
- c
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/Shapes.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/Shapes.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,834 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #Border
-
-
-
-
-
-
-
-
-
-
- #Pattern
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fill: none; stroke: none; stroke-width: 0;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $id=' '
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Shapes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- show-unused-
- background
-
-
-
-
-
-
-
- $n=' '
- *
-
-
-
-
-
- $n=' '
- *
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- badly-formatted funtion:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- string-length(substring-before(concat(' ',$Versions,' '),(
- )))
- /SystemDefinition/systemModel/@ver
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -var-
-
-
-
-
-
-
-
-
-
- CLASS
- contains(concat(' ',normalize-space(@class),' '),concat(' ',
- 1
- ,' '))
-
-
-
-
-
- VARIABLE
-
- $
-
-
-
-
-
-
- $
-
-
-
-
-
-
-
-
-
-
-
-
-
-Pattern
-
- Overlay
-
-
-
-Border
-
- Shape
-
-
-
-
-
-
-
-
- .
- =' '
-
-
-
-
- ( )[ ]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
warning: no default border
-
error: more than one default border
-
-
-
-
-
-
-
-
error: more than one pattern in overlay
-
-
-
-
-
-
-
-
-
-
error: more than one default
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #
-
-
-
-
-
-
-
- #
-
-
-
-
-
-
-
-
- #
-
- #
-
-
-
-
-
- #
-
-
-
-
- #
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- url(# )
-
-
-
- url(# )
-
-
-
-
-
-
-
-
-
-
-
-
-
- url(#bg )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {@style-id}.mouseover
- {@style-id}.mouseout
-
-
-
-
-
-
- {@style-id}.mouseover
- {@style-id}.mouseout
-
-
-
-
-
-
-
-
-
- .mouseover
- .mouseout
-
-
-
-
-
-
-
- {@style-id}.mouseover
- {@style-id}.mouseout
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- url(# )
-
-
-
-
-
- fill:
-
- ; stroke: none; stroke-width: 0;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ;
-
-
-
-
-
-
- component
- collection
- block
- subblock
-
-
-
-
-
-
-
-not found
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/output-csv.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/output-csv.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-
-
-
- module,layer,block,subblock,collection,component
-
-
-
-
- Module,Layer,Block,Sub-block,Collection,Component
-
-
-
-
-
-
-
-
-
-
-
-
- ,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ,
-
-
-
-
-
-
- ,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-" "
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- " "
-
- " "
- " "
-
-
-
-
-
-
-
-
-
- ,
-
-
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/output-sysdef.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/output-sysdef.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/validate-raw.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/validate-raw.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-
-
-
-
-
-ERROR: Invalid root element:
-
-
-
-ERROR: Invalid element:
-
-
-
-
-
-
-NOTE: unexpected attribute " " on < >
-
-
-
-
-ERROR: unexepected text:
-
-
-
-
-
-Note: missing System Definition name
-
-
-ERROR: duplicate name for " " ( )
-
-
-
-collection
-subblock
-block
-layer
-
-
-
-
-
-
-Note: Level names used:
-
-
- component
-
-
-
-
-
-
-
-Note: Extra attributes:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-WARNING: 1.x syntax checking not fully supported
-
-ERROR: unsupported syntax:
-
-
-
-
-
-
-WARNING: invalid attribute " " on < >
-
-
-
-
-
-
-
-ERROR: < name=" "> cannot be a child of < >
-
-
-
-
-
-ERROR: Invalid level name " " on " " ( )
-
-
-
-
-
-
-ERROR: Invalid level name " " on " " ( )
-
-
-
-ERROR: Invalid level name " " on " " ( )
-
-
-
-
-
-
-
-
-WARNING: invalid value " " on < name=" ">
-
-
-
-
-ERROR: using 1.x syntax element: < >
-
-
-
-WARNING: using 1.x syntax attribute: < =" ">
-
-
-
-
-ERROR: attribute " " on < > must not be empty
-
-
-
-
-
-
-
-
-
-
-
-
-
-WARINING: path separator must be "\" for =" "
-
-
-
-WARINING: path separator must be "/" for =" "
-
-
-
-
-
-
-
-
-
-
-WARNING: < > must be empty.
-
-
-
-ERROR: multiple units must have "version" or "filter" attributes ( )
-
-ERROR: using 1.x syntax element: < >
-
-
-
-
-
-[ ]
- /
-
-
-
diff -r d2c80f5cab53 -r 63964d875993 sysmodellibs/sysmodelgen/src/svg/validate.xsl
--- a/sysmodellibs/sysmodelgen/src/svg/validate.xsl Thu Oct 21 16:36:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-