diff --git a/src/graphxq/app.js b/src/graphxq/app.js index 1c28acc..3b4290f 100644 --- a/src/graphxq/app.js +++ b/src/graphxq/app.js @@ -8,10 +8,10 @@ $(document).ready(function(){ var j=$(this) var top=j.offset(); j.height(h-top.top-10) - //console.log("resize",j) + //resize any aces j.find(".ace").each(function(){ - var a=$(this).attr('id') - ace.edit(a).resize(); + var id=$(this).attr('id') + ace.edit(id).resize(); }); })}; diff --git a/src/graphxq/data/heir.jpg b/src/graphxq/data/heir.jpg deleted file mode 100644 index 541dcce..0000000 Binary files a/src/graphxq/data/heir.jpg and /dev/null differ diff --git a/src/graphxq/data/library.xml b/src/graphxq/data/library.xml index 6278302..14cd6e3 100644 --- a/src/graphxq/data/library.xml +++ b/src/graphxq/data/library.xml @@ -1,93 +1,42 @@ Process - data/dot/process.gv + process.gv parallel process sequence Unix - data/dot/unix.gv + unix.gv Evolution of UNIX. Root - data/dot/root.gv + root.gv Very large and slow. Sample - data/dotml/sample1.xml + sample1.xml State machine. Cluster - data/dotml/cluster.xml + cluster.xml Simple cluster. hierarchy - data/dot/hier.gv + hier.gv hierarchy. - - Process - data/dot/process.gv - parallel process sequence + + dotplan + thumbnails.dot + BaseX query plan. Generated by setting set DOTPLAN true. - - Unix - data/dot/unix.gv - Evolution of UNIX. - - - Root - data/dot/root.gv - Very large and slow. - - - Sample - data/dotml/sample1.xml - State machine. - - - Cluster - data/dotml/cluster.xml - Simple cluster. - - - hierarchy - data/dot/hier.gv - hierarchy. - - - - Process - data/dot/process.gv - parallel process sequence - - - Unix - data/dot/unix.gv - Evolution of UNIX. - - - Root - data/dot/root.gv - Very large and slow. - - - Sample - data/dotml/sample1.xml - State machine. - - - Cluster - data/dotml/cluster.xml - Simple cluster. - - - hierarchy - data/dot/hier.gv - hierarchy. + + record + record.gv + Graphviz record example \ No newline at end of file diff --git a/src/graphxq/data/dotml/cluster.xml b/src/graphxq/data/samples/cluster.xml similarity index 100% rename from src/graphxq/data/dotml/cluster.xml rename to src/graphxq/data/samples/cluster.xml diff --git a/src/graphxq/data/dot/hier.gv b/src/graphxq/data/samples/hier.gv similarity index 100% rename from src/graphxq/data/dot/hier.gv rename to src/graphxq/data/samples/hier.gv diff --git a/src/graphxq/data/dot/process.gv b/src/graphxq/data/samples/process.gv similarity index 100% rename from src/graphxq/data/dot/process.gv rename to src/graphxq/data/samples/process.gv diff --git a/src/graphxq/data/samples/record.gv b/src/graphxq/data/samples/record.gv new file mode 100644 index 0000000..0a3a2a0 --- /dev/null +++ b/src/graphxq/data/samples/record.gv @@ -0,0 +1 @@ +digraph structs { node [shape=record]; struct1 [label=" left| mid\ dle| right"]; struct2 [label=" one| two"]; struct3 [label="hello\nworld |{ b |{c| d|e}| f}| g | h"]; struct1:f1 -> struct2:f0; struct1:f2 -> struct3:here; } \ No newline at end of file diff --git a/src/graphxq/data/dot/root.gv b/src/graphxq/data/samples/root.gv similarity index 100% rename from src/graphxq/data/dot/root.gv rename to src/graphxq/data/samples/root.gv diff --git a/src/graphxq/data/dotml/sample1.xml b/src/graphxq/data/samples/sample1.xml similarity index 100% rename from src/graphxq/data/dotml/sample1.xml rename to src/graphxq/data/samples/sample1.xml diff --git a/src/graphxq/data/samples/thumbnails.dot b/src/graphxq/data/samples/thumbnails.dot new file mode 100644 index 0000000..ccc8fd9 --- /dev/null +++ b/src/graphxq/data/samples/thumbnails.dot @@ -0,0 +1,627 @@ +digraph BaseXAlgebra { +node [shape=box style=bold width=0 height=0]; +node [fontsize=12 fontname="Tahoma"]; +node0 [label="QueryPlan" color="#303030"]; + node1 [label="UserFuncs" color="#776655"]; + node2 [label="UserFunc\nname: dot\narg0: dot\narg1: params" color="#AA9988"]; + node3 [label="FLWR" color="#009900"]; + node4 [label="Let\nvar: $params" color="#33CC33"]; + node5 [label="Str\nvalue: -Tsvg\ntype: xs:string" color="#6666FF"]; + node4 -> node5; + node6 [label="For\nvar: $d" color="#33CC33"]; + node7 [label="VarRef" color="#009999"]; + node8 [label="Var\nname: $dot as xs:string*\nid: 3" color="#66CC66"]; + node7 -> node8; + node6 -> node7; + node9 [label="Return" color="#33CC33"]; + node10 [label="If" color="#CC3399"]; + node11 [label="FNSimple\nname: not(item)" color="#909090"]; + node12 [label="VarRef" color="#009999"]; + node13 [label="Var\nname: $d\nid: 6" color="#66CC66"]; + node12 -> node13; + node11 -> node12; + node14 [label="VarRef" color="#009999"]; + node15 [label="Var\nname: $gr:empty\nid: 2" color="#66CC66"]; + node14 -> node15; + node16 [label="FLWR" color="#009900"]; + node17 [label="Let\nvar: $r" color="#33CC33"]; + node18 [label="BaseFuncCall\nname: dot-execute($d, $params)" color="#909090"]; + node19 [label="VarRef" color="#009999"]; + node20 [label="Var\nname: $d\nid: 6" color="#66CC66"]; + node19 -> node20; + node21 [label="VarRef" color="#009999"]; + node22 [label="Var\nname: $params\nid: 5" color="#66CC66"]; + node21 -> node22; + node18 -> node19; + node18 -> node21; + node17 -> node18; + node23 [label="Return" color="#33CC33"]; + node24 [label="BaseFuncCall\nname: dot-svg($r)" color="#909090"]; + node25 [label="VarRef" color="#009999"]; + node26 [label="Var\nname: $r\nid: 7" color="#66CC66"]; + node25 -> node26; + node24 -> node25; + node23 -> node24; + node16 -> node17; + node16 -> node23; + node10 -> node11; + node10 -> node14; + node10 -> node16; + node9 -> node10; + node3 -> node4; + node3 -> node6; + node3 -> node9; + node2 -> node3; + node27 [label="UserFunc\nname: dot-execute\narg0: dot\narg1: params" color="#AA9988"]; + node28 [label="FLWR" color="#009900"]; + node29 [label="Let\nvar: $fname" color="#33CC33"]; + node30 [label="FNStr\nname: concat(atom,atom[,...])" color="#909090"]; + node31 [label="Str\nvalue: C:\DOCUME~1\ANDREW~1.BUN\LOCALS~1\Temp\\ntype..." color="#6666FF"]; + node32 [label="FNRandom\nname: uuid()" color="#909090"]; + node30 -> node31; + node30 -> node32; + node29 -> node30; + node33 [label="Let\nvar: $junk" color="#33CC33"]; + node34 [label="FNFile\nname: write-text(path,text[,encoding])" color="#909090"]; + node35 [label="VarRef" color="#009999"]; + node36 [label="Var\nname: $fname\nid: 10" color="#66CC66"]; + node35 -> node36; + node37 [label="VarRef" color="#009999"]; + node38 [label="Var\nname: $dot as xs:string\nid: 8" color="#66CC66"]; + node37 -> node38; + node34 -> node35; + node34 -> node37; + node33 -> node34; + node39 [label="Let\nvar: $r" color="#33CC33"]; + node40 [label="FNProc\nname: execute(command[,args[,encoding]]])" color="#909090"]; + node41 [label="Str\nvalue: dot\ntype: xs:string" color="#6666FF"]; + node42 [label="List" color="#33CC33"]; + node43 [label="VarRef" color="#009999"]; + node44 [label="Var\nname: $params as xs:string*\nid: 9" color="#66CC66"]; + node43 -> node44; + node45 [label="VarRef" color="#009999"]; + node46 [label="Var\nname: $fname\nid: 10" color="#66CC66"]; + node45 -> node46; + node42 -> node43; + node42 -> node45; + node40 -> node41; + node40 -> node42; + node39 -> node40; + node47 [label="Let\nvar: $junk" color="#33CC33"]; + node48 [label="FNFile\nname: delete(path)" color="#909090"]; + node49 [label="VarRef" color="#009999"]; + node50 [label="Var\nname: $fname\nid: 10" color="#66CC66"]; + node49 -> node50; + node48 -> node49; + node47 -> node48; + node51 [label="Return" color="#33CC33"]; + node52 [label="If" color="#CC3399"]; + node53 [label="CmpG\nop: !=" color="#FF3333"]; + node54 [label="AxisPath" color="#303030"]; + node55 [label="VarRef" color="#009999"]; + node56 [label="Var\nname: $r\nid: 12" color="#66CC66"]; + node55 -> node56; + node57 [label="IterStep\naxis: child\ntest: code" color="#909090"]; + node54 -> node55; + node54 -> node57; + node58 [label="Str\nvalue: 0\ntype: xs:string" color="#6666FF"]; + node53 -> node54; + node53 -> node58; + node59 [label="FNInfo\nname: error([code[,desc[,object]]])" color="#909090"]; + node60 [label="QNm\nvalue: gr:dot1\ntype: xs:QName" color="#6666FF"]; + node61 [label="AxisPath" color="#303030"]; + node62 [label="VarRef" color="#009999"]; + node63 [label="Var\nname: $r\nid: 12" color="#66CC66"]; + node62 -> node63; + node64 [label="IterStep\naxis: child\ntest: error" color="#909090"]; + node61 -> node62; + node61 -> node64; + node59 -> node60; + node59 -> node61; + node65 [label="VarRef" color="#009999"]; + node66 [label="Var\nname: $r\nid: 12" color="#66CC66"]; + node65 -> node66; + node52 -> node53; + node52 -> node59; + node52 -> node65; + node51 -> node52; + node28 -> node29; + node28 -> node33; + node28 -> node39; + node28 -> node47; + node28 -> node51; + node27 -> node28; + node67 [label="UserFunc\nname: dot-svg\narg0: r" color="#AA9988"]; + node68 [label="FLWR" color="#009900"]; + node69 [label="Let\nvar: $s" color="#33CC33"]; + node70 [label="FNGen\nname: parse-xml(string[,base])" color="#909090"]; + node71 [label="AxisPath" color="#303030"]; + node72 [label="VarRef" color="#009999"]; + node73 [label="Var\nname: $r as element(result)\nid: 22" color="#66CC66"]; + node72 -> node73; + node74 [label="IterStep\naxis: child\ntest: output" color="#909090"]; + node71 -> node72; + node71 -> node74; + node70 -> node71; + node69 -> node70; + node75 [label="Let\nvar: $ver" color="#33CC33"]; + node76 [label="MixedPath" color="#303030"]; + node77 [label="VarRef" color="#009999"]; + node78 [label="Var\nname: $s\nid: 23" color="#66CC66"]; + node77 -> node78; + node79 [label="IterPosStep\naxis: child\ntest: comment()" color="#909090"]; + node80 [label="Pos\nmin: 1\nmax: 1" color="#FF3333"]; + node79 -> node80; + node81 [label="FNAcc\nname: normalize-space([string])" color="#909090"]; + node76 -> node77; + node76 -> node79; + node76 -> node81; + node75 -> node76; + node82 [label="Let\nvar: $title" color="#33CC33"]; + node83 [label="MixedPath" color="#303030"]; + node84 [label="VarRef" color="#009999"]; + node85 [label="Var\nname: $s\nid: 23" color="#66CC66"]; + node84 -> node85; + node86 [label="IterPosStep\naxis: child\ntest: comment()" color="#909090"]; + node87 [label="Pos\nmin: 2\nmax: 2" color="#FF3333"]; + node86 -> node87; + node88 [label="FNAcc\nname: normalize-space([string])" color="#909090"]; + node83 -> node84; + node83 -> node86; + node83 -> node88; + node82 -> node83; + node89 [label="Let\nvar: $svg" color="#33CC33"]; + node90 [label="AxisPath" color="#303030"]; + node91 [label="VarRef" color="#009999"]; + node92 [label="Var\nname: $s\nid: 23" color="#66CC66"]; + node91 -> node92; + node93 [label="IterStep\naxis: child\ntest: *" color="#909090"]; + node90 -> node91; + node90 -> node93; + node89 -> node90; + node94 [label="Return" color="#33CC33"]; + node95 [label="CElem" color="#9933FF"]; + node96 [label="QNm\nvalue: svg\ntype: xs:QName" color="#6666FF"]; + node97 [label="List" color="#33CC33"]; + node98 [label="AxisPath" color="#303030"]; + node99 [label="VarRef" color="#009999"]; + node100 [label="Var\nname: $svg\nid: 26" color="#66CC66"]; + node99 -> node100; + node101 [label="IterStep\naxis: attribute\ntest: *" color="#909090"]; + node98 -> node99; + node98 -> node101; + node102 [label="CElem" color="#9933FF"]; + node103 [label="QNm\nvalue: metadata\ntype: xs:QName" color="#6666FF"]; + node104 [label="CElem" color="#9933FF"]; + node105 [label="QNm\nvalue: rdf:RDF\ntype: xs:QName" color="#6666FF"]; + node106 [label="CElem" color="#9933FF"]; + node107 [label="QNm\nvalue: rdf:Description\ntype: xs:QName" color="#6666FF"]; + node108 [label="CAttr" color="#9933FF"]; + node109 [label="QNm\nvalue: about\ntype: xs:QName" color="#6666FF"]; + node110 [label="Str\nvalue: https://github.com/apb2006/graphxq\ntype: xs:..." color="#6666FF"]; + node108 -> node109; + node108 -> node110; + node111 [label="CAttr" color="#9933FF"]; + node112 [label="QNm\nvalue: dc:title\ntype: xs:QName" color="#6666FF"]; + node113 [label="VarRef" color="#009999"]; + node114 [label="Var\nname: $title\nid: 25" color="#66CC66"]; + node113 -> node114; + node111 -> node112; + node111 -> node113; + node115 [label="CAttr" color="#9933FF"]; + node116 [label="QNm\nvalue: dc:description\ntype: xs:QName" color="#6666FF"]; + node117 [label="Str\nvalue: A graph visualization\ntype: xs:string" color="#6666FF"]; + node115 -> node116; + node115 -> node117; + node118 [label="CAttr" color="#9933FF"]; + node119 [label="QNm\nvalue: dc:date\ntype: xs:QName" color="#6666FF"]; + node120 [label="Dtm\nvalue: 2013-02-01T17:45:49.173Z\ntype: xs:dateTime" color="#909090"]; + node118 -> node119; + node118 -> node120; + node121 [label="CAttr" color="#9933FF"]; + node122 [label="QNm\nvalue: dc:format\ntype: xs:QName" color="#6666FF"]; + node123 [label="Str\nvalue: image/svg+xml\ntype: xs:string" color="#6666FF"]; + node121 -> node122; + node121 -> node123; + node124 [label="CElem" color="#9933FF"]; + node125 [label="QNm\nvalue: dc:creator\ntype: xs:QName" color="#6666FF"]; + node126 [label="CElem" color="#9933FF"]; + node127 [label="QNm\nvalue: rdf:Bag\ntype: xs:QName" color="#6666FF"]; + node128 [label="CElem" color="#9933FF"]; + node129 [label="QNm\nvalue: rdf:li\ntype: xs:QName" color="#6666FF"]; + node130 [label="VarRef" color="#009999"]; + node131 [label="Var\nname: $ver\nid: 24" color="#66CC66"]; + node130 -> node131; + node128 -> node129; + node128 -> node130; + node132 [label="CElem" color="#9933FF"]; + node133 [label="QNm\nvalue: rdf:li\ntype: xs:QName" color="#6666FF"]; + node134 [label="CAttr" color="#9933FF"]; + node135 [label="QNm\nvalue: resource\ntype: xs:QName" color="#6666FF"]; + node136 [label="Str\nvalue: https://github.com/apb2006/graphxq\ntype: xs:..." color="#6666FF"]; + node134 -> node135; + node134 -> node136; + node132 -> node133; + node132 -> node134; + node126 -> node127; + node126 -> node128; + node126 -> node132; + node124 -> node125; + node124 -> node126; + node106 -> node107; + node106 -> node108; + node106 -> node111; + node106 -> node115; + node106 -> node118; + node106 -> node121; + node106 -> node124; + node104 -> node105; + node104 -> node106; + node102 -> node103; + node102 -> node104; + node137 [label="AxisPath" color="#303030"]; + node138 [label="VarRef" color="#009999"]; + node139 [label="Var\nname: $svg\nid: 26" color="#66CC66"]; + node138 -> node139; + node140 [label="IterStep\naxis: child\ntest: *" color="#909090"]; + node137 -> node138; + node137 -> node140; + node97 -> node98; + node97 -> node102; + node97 -> node137; + node95 -> node96; + node95 -> node97; + node94 -> node95; + node68 -> node69; + node68 -> node75; + node68 -> node82; + node68 -> node89; + node68 -> node94; + node67 -> node68; + node141 [label="UserFunc\nname: dot-executeb\narg0: dot\narg1: params" color="#AA9988"]; + node142 [label="FLWR" color="#009900"]; + node143 [label="Let\nvar: $fname" color="#33CC33"]; + node144 [label="FNStr\nname: concat(atom,atom[,...])" color="#909090"]; + node145 [label="Str\nvalue: C:\DOCUME~1\ANDREW~1.BUN\LOCALS~1\Temp\\ntype..." color="#6666FF"]; + node146 [label="FNRandom\nname: uuid()" color="#909090"]; + node144 -> node145; + node144 -> node146; + node143 -> node144; + node147 [label="Let\nvar: $oname" color="#33CC33"]; + node148 [label="FNStr\nname: concat(atom,atom[,...])" color="#909090"]; + node149 [label="VarRef" color="#009999"]; + node150 [label="Var\nname: $fname\nid: 16" color="#66CC66"]; + node149 -> node150; + node151 [label="Str\nvalue: .o\ntype: xs:string" color="#6666FF"]; + node148 -> node149; + node148 -> node151; + node147 -> node148; + node152 [label="Let\nvar: $junk" color="#33CC33"]; + node153 [label="FNFile\nname: write-text(path,text[,encoding])" color="#909090"]; + node154 [label="VarRef" color="#009999"]; + node155 [label="Var\nname: $fname\nid: 16" color="#66CC66"]; + node154 -> node155; + node156 [label="VarRef" color="#009999"]; + node157 [label="Var\nname: $dot as xs:string\nid: 14" color="#66CC66"]; + node156 -> node157; + node153 -> node154; + node153 -> node156; + node152 -> node153; + node158 [label="Let\nvar: $r" color="#33CC33"]; + node159 [label="FNProc\nname: execute(command[,args[,encoding]]])" color="#909090"]; + node160 [label="Str\nvalue: dot\ntype: xs:string" color="#6666FF"]; + node161 [label="List" color="#33CC33"]; + node162 [label="VarRef" color="#009999"]; + node163 [label="Var\nname: $params as xs:string*\nid: 15" color="#66CC66"]; + node162 -> node163; + node164 [label="FNStr\nname: concat(atom,atom[,...])" color="#909090"]; + node165 [label="Str\nvalue: -o\ntype: xs:string" color="#6666FF"]; + node166 [label="VarRef" color="#009999"]; + node167 [label="Var\nname: $oname\nid: 17" color="#66CC66"]; + node166 -> node167; + node164 -> node165; + node164 -> node166; + node168 [label="VarRef" color="#009999"]; + node169 [label="Var\nname: $fname\nid: 16" color="#66CC66"]; + node168 -> node169; + node161 -> node162; + node161 -> node164; + node161 -> node168; + node159 -> node160; + node159 -> node161; + node158 -> node159; + node170 [label="Let\nvar: $junk" color="#33CC33"]; + node171 [label="FNFile\nname: delete(path)" color="#909090"]; + node172 [label="VarRef" color="#009999"]; + node173 [label="Var\nname: $fname\nid: 16" color="#66CC66"]; + node172 -> node173; + node171 -> node172; + node170 -> node171; + node174 [label="Return" color="#33CC33"]; + node175 [label="If" color="#CC3399"]; + node176 [label="CmpG\nop: !=" color="#FF3333"]; + node177 [label="AxisPath" color="#303030"]; + node178 [label="VarRef" color="#009999"]; + node179 [label="Var\nname: $r\nid: 19" color="#66CC66"]; + node178 -> node179; + node180 [label="IterStep\naxis: child\ntest: code" color="#909090"]; + node177 -> node178; + node177 -> node180; + node181 [label="Str\nvalue: 0\ntype: xs:string" color="#6666FF"]; + node176 -> node177; + node176 -> node181; + node182 [label="FNInfo\nname: error([code[,desc[,object]]])" color="#909090"]; + node183 [label="QNm\nvalue: gr:dot1\ntype: xs:QName" color="#6666FF"]; + node184 [label="AxisPath" color="#303030"]; + node185 [label="VarRef" color="#009999"]; + node186 [label="Var\nname: $r\nid: 19" color="#66CC66"]; + node185 -> node186; + node187 [label="IterStep\naxis: child\ntest: error" color="#909090"]; + node184 -> node185; + node184 -> node187; + node182 -> node183; + node182 -> node184; + node188 [label="FNFile\nname: read-binary(path)" color="#909090"]; + node189 [label="VarRef" color="#009999"]; + node190 [label="Var\nname: $oname\nid: 17" color="#66CC66"]; + node189 -> node190; + node188 -> node189; + node175 -> node176; + node175 -> node182; + node175 -> node188; + node174 -> node175; + node142 -> node143; + node142 -> node147; + node142 -> node152; + node142 -> node158; + node142 -> node170; + node142 -> node174; + node141 -> node142; + node191 [label="UserFunc\nname: autosize\narg0: svg" color="#AA9988"]; + node192 [label="CElem" color="#9933FF"]; + node193 [label="QNm\nvalue: svg\ntype: xs:QName" color="#6666FF"]; + node194 [label="CAttr" color="#9933FF"]; + node195 [label="QNm\nvalue: width\ntype: xs:QName" color="#6666FF"]; + node196 [label="Str\nvalue: 100%\ntype: xs:string" color="#6666FF"]; + node194 -> node195; + node194 -> node196; + node197 [label="CAttr" color="#9933FF"]; + node198 [label="QNm\nvalue: height\ntype: xs:QName" color="#6666FF"]; + node199 [label="Str\nvalue: 100%\ntype: xs:string" color="#6666FF"]; + node197 -> node198; + node197 -> node199; + node200 [label="CAttr" color="#9933FF"]; + node201 [label="QNm\nvalue: preserveAspectRatio\ntype: xs:QName" color="#6666FF"]; + node202 [label="Str\nvalue: xMidYMid meet\ntype: xs:string" color="#6666FF"]; + node200 -> node201; + node200 -> node202; + node203 [label="List" color="#33CC33"]; + node204 [label="Except" color="#9933CC"]; + node205 [label="AxisPath" color="#303030"]; + node206 [label="VarRef" color="#009999"]; + node207 [label="Var\nname: $svg as node()\nid: 27" color="#66CC66"]; + node206 -> node207; + node208 [label="IterStep\naxis: attribute\ntest: *" color="#909090"]; + node205 -> node206; + node205 -> node208; + node209 [label="List" color="#33CC33"]; + node210 [label="AxisPath" color="#303030"]; + node211 [label="VarRef" color="#009999"]; + node212 [label="Var\nname: $svg as node()\nid: 27" color="#66CC66"]; + node211 -> node212; + node213 [label="IterStep\naxis: attribute\ntest: width" color="#909090"]; + node210 -> node211; + node210 -> node213; + node214 [label="AxisPath" color="#303030"]; + node215 [label="VarRef" color="#009999"]; + node216 [label="Var\nname: $svg as node()\nid: 27" color="#66CC66"]; + node215 -> node216; + node217 [label="IterStep\naxis: attribute\ntest: height" color="#909090"]; + node214 -> node215; + node214 -> node217; + node218 [label="AxisPath" color="#303030"]; + node219 [label="VarRef" color="#009999"]; + node220 [label="Var\nname: $svg as node()\nid: 27" color="#66CC66"]; + node219 -> node220; + node221 [label="IterStep\naxis: attribute\ntest: preserveAspectRatio" color="#909090"]; + node218 -> node219; + node218 -> node221; + node209 -> node210; + node209 -> node214; + node209 -> node218; + node204 -> node205; + node204 -> node209; + node222 [label="AxisPath" color="#303030"]; + node223 [label="VarRef" color="#009999"]; + node224 [label="Var\nname: $svg as node()\nid: 27" color="#66CC66"]; + node223 -> node224; + node225 [label="IterStep\naxis: child\ntest: *" color="#909090"]; + node222 -> node223; + node222 -> node225; + node203 -> node204; + node203 -> node222; + node192 -> node193; + node192 -> node194; + node192 -> node197; + node192 -> node200; + node192 -> node203; + node191 -> node192; + node226 [label="UserFunc\nname: autosize-old\narg0: svg" color="#AA9988"]; + node227 [label="FNXslt\nname: transform(input,stylesheet[,params])" color="#909090"]; + node228 [label="VarRef" color="#009999"]; + node229 [label="Var\nname: $svg as node()\nid: 28" color="#66CC66"]; + node228 -> node229; + node230 [label="FNQName\nname: resolve-uri(name[,elem])" color="#909090"]; + node231 [label="Str\nvalue: dotml/dotpatch.xsl\ntype: xs:string" color="#6666FF"]; + node230 -> node231; + node227 -> node228; + node227 -> node230; + node226 -> node227; + node232 [label="UserFunc\nname: generate\narg0: dotml" color="#AA9988"]; + node233 [label="FLWR" color="#009900"]; + node234 [label="Let\nvar: $d" color="#33CC33"]; + node235 [label="FNXslt\nname: transform(input,stylesheet[,params])" color="#909090"]; + node236 [label="VarRef" color="#009999"]; + node237 [label="Var\nname: $dotml\nid: 29" color="#66CC66"]; + node236 -> node237; + node238 [label="Uri\nvalue: file:/C:/Program%20Files/BaseX/webapp/graphxq..." color="#6666FF"]; + node235 -> node236; + node235 -> node238; + node234 -> node235; + node239 [label="Return" color="#33CC33"]; + node240 [label="MixedPath" color="#303030"]; + node241 [label="VarRef" color="#009999"]; + node242 [label="Var\nname: $d\nid: 30" color="#66CC66"]; + node241 -> node242; + node243 [label="FNAcc\nname: string([item])" color="#909090"]; + node240 -> node241; + node240 -> node243; + node239 -> node240; + node233 -> node234; + node233 -> node239; + node232 -> node233; + node244 [label="UserFunc\nname: local:thumb\narg0: dot\narg1: name" color="#AA9988"]; + node245 [label="FLWR" color="#009900"]; + node246 [label="Let\nvar: $a" color="#33CC33"]; + node247 [label="BaseFuncCall\nname: dot-executeb($dot, ('-Tgif', '-Gdpi=1..." color="#909090"]; + node248 [label="VarRef" color="#009999"]; + node249 [label="Var\nname: $dot\nid: 34" color="#66CC66"]; + node248 -> node249; + node250 [label="StrSeq\nsize: 4" color="#909090"]; + node251 [label="Str\nvalue: -Tgif\ntype: xs:string" color="#6666FF"]; + node252 [label="Str\nvalue: -Gdpi=100\ntype: xs:string" color="#6666FF"]; + node253 [label="Str\nvalue: -Gsize='1.2,1.2'\ntype: xs:string" color="#6666FF"]; + node254 [label="Str\nvalue: -Gratio='fill'\ntype: xs:string" color="#6666FF"]; + node250 -> node251; + node250 -> node252; + node250 -> node253; + node250 -> node254; + node247 -> node248; + node247 -> node250; + node246 -> node247; + node255 [label="Return" color="#33CC33"]; + node256 [label="FNFile\nname: write-binary(path,item)" color="#909090"]; + node257 [label="VarRef" color="#009999"]; + node258 [label="Var\nname: $name\nid: 35" color="#66CC66"]; + node257 -> node258; + node259 [label="VarRef" color="#009999"]; + node260 [label="Var\nname: $a\nid: 36" color="#66CC66"]; + node259 -> node260; + node256 -> node257; + node256 -> node259; + node255 -> node256; + node245 -> node246; + node245 -> node255; + node244 -> node245; + node1 -> node2; + node1 -> node27; + node1 -> node67; + node1 -> node141; + node1 -> node191; + node1 -> node226; + node1 -> node232; + node1 -> node244; + node261 [label="VarStack" color="#339933"]; + node262 [label="Var\nname: $gr:dotpath\nid: 0" color="#66CC66"]; + node263 [label="Var\nname: $gr:tmpdir\nid: 1" color="#66CC66"]; + node264 [label="Var\nname: $gr:empty\nid: 2" color="#66CC66"]; + node265 [label="Var\nname: $src\nid: 31" color="#66CC66"]; + node266 [label="Var\nname: $dest\nid: 32" color="#66CC66"]; + node267 [label="Var\nname: $opts\nid: 33" color="#66CC66"]; + node261 -> node262; + node261 -> node263; + node261 -> node264; + node261 -> node265; + node261 -> node266; + node261 -> node267; + node268 [label="FLWR" color="#009900"]; + node269 [label="For\nvar: $f" color="#33CC33"]; + node270 [label="FNFile\nname: list(path[,recursive[,pattern]])" color="#909090"]; + node271 [label="Uri\nvalue: file:/C:/Program%20Files/BaseX/webapp/graphxq..." color="#6666FF"]; + node270 -> node271; + node269 -> node270; + node272 [label="Let\nvar: $ext" color="#33CC33"]; + node273 [label="FNStr\nname: substring-after(string,sub[,coll])" color="#909090"]; + node274 [label="VarRef" color="#009999"]; + node275 [label="Var\nname: $f\nid: 37" color="#66CC66"]; + node274 -> node275; + node276 [label="Str\nvalue: .\ntype: xs:string" color="#6666FF"]; + node273 -> node274; + node273 -> node276; + node272 -> node273; + node277 [label="Where" color="#CC3399"]; + node278 [label="CmpG\nop: =" color="#FF3333"]; + node279 [label="VarRef" color="#009999"]; + node280 [label="Var\nname: $ext\nid: 38" color="#66CC66"]; + node279 -> node280; + node281 [label="StrSeq\nsize: 2" color="#909090"]; + node282 [label="Str\nvalue: gv\ntype: xs:string" color="#6666FF"]; + node283 [label="Str\nvalue: xml\ntype: xs:string" color="#6666FF"]; + node281 -> node282; + node281 -> node283; + node278 -> node279; + node278 -> node281; + node277 -> node278; + node284 [label="Return" color="#33CC33"]; + node285 [label="FLWR" color="#009900"]; + node286 [label="Let\nvar: $g" color="#33CC33"]; + node287 [label="If" color="#CC3399"]; + node288 [label="CmpG\nop: =" color="#FF3333"]; + node289 [label="VarRef" color="#009999"]; + node290 [label="Var\nname: $ext\nid: 38" color="#66CC66"]; + node289 -> node290; + node291 [label="Str\nvalue: gv\ntype: xs:string" color="#6666FF"]; + node288 -> node289; + node288 -> node291; + node292 [label="FNFile\nname: read-text(path[,encoding])" color="#909090"]; + node293 [label="FNStr\nname: concat(atom,atom[,...])" color="#909090"]; + node294 [label="Uri\nvalue: file:/C:/Program%20Files/BaseX/webapp/graphxq..." color="#6666FF"]; + node295 [label="VarRef" color="#009999"]; + node296 [label="Var\nname: $f\nid: 37" color="#66CC66"]; + node295 -> node296; + node293 -> node294; + node293 -> node295; + node292 -> node293; + node297 [label="BaseFuncCall\nname: generate(fn:doc(fn:concat('file:/C:/P..." color="#909090"]; + node298 [label="FNGen\nname: doc(uri)" color="#909090"]; + node299 [label="FNStr\nname: concat(atom,atom[,...])" color="#909090"]; + node300 [label="Uri\nvalue: file:/C:/Program%20Files/BaseX/webapp/graphxq..." color="#6666FF"]; + node301 [label="VarRef" color="#009999"]; + node302 [label="Var\nname: $f\nid: 37" color="#66CC66"]; + node301 -> node302; + node299 -> node300; + node299 -> node301; + node298 -> node299; + node297 -> node298; + node287 -> node288; + node287 -> node292; + node287 -> node297; + node286 -> node287; + node303 [label="Return" color="#33CC33"]; + node304 [label="BaseFuncCall\nname: local:thumb($g, fn:concat('file:/C:/P..." color="#909090"]; + node305 [label="VarRef" color="#009999"]; + node306 [label="Var\nname: $g\nid: 39" color="#66CC66"]; + node305 -> node306; + node307 [label="FNStr\nname: concat(atom,atom[,...])" color="#909090"]; + node308 [label="Uri\nvalue: file:/C:/Program%20Files/BaseX/webapp/graphxq..." color="#6666FF"]; + node309 [label="VarRef" color="#009999"]; + node310 [label="Var\nname: $f\nid: 37" color="#66CC66"]; + node309 -> node310; + node311 [label="Str\nvalue: .gif\ntype: xs:string" color="#6666FF"]; + node307 -> node308; + node307 -> node309; + node307 -> node311; + node304 -> node305; + node304 -> node307; + node303 -> node304; + node285 -> node286; + node285 -> node303; + node284 -> node285; + node268 -> node269; + node268 -> node272; + node268 -> node277; + node268 -> node284; +node0 -> node1; +node0 -> node261; +node0 -> node268; +} \ No newline at end of file diff --git a/src/graphxq/data/dot/unix.gv b/src/graphxq/data/samples/unix.gv similarity index 100% rename from src/graphxq/data/dot/unix.gv rename to src/graphxq/data/samples/unix.gv diff --git a/src/graphxq/data/dot/xx.gv b/src/graphxq/data/samples/xx.gv similarity index 100% rename from src/graphxq/data/dot/xx.gv rename to src/graphxq/data/samples/xx.gv diff --git a/src/graphxq/data/state.jpg b/src/graphxq/data/state.jpg deleted file mode 100644 index 0b15260..0000000 Binary files a/src/graphxq/data/state.jpg and /dev/null differ diff --git a/src/graphxq/data/state.png b/src/graphxq/data/state.png deleted file mode 100644 index 701d368..0000000 Binary files a/src/graphxq/data/state.png and /dev/null differ diff --git a/src/graphxq/graphviz.xqm b/src/graphxq/graphviz.xqm index b465b70..d26cf55 100644 --- a/src/graphxq/graphviz.xqm +++ b/src/graphxq/graphviz.xqm @@ -61,7 +61,7 @@ declare %private function dot-executeb( $dot as xs:string, $params as xs:string* return if($r/code!="0") then fn:error(xs:QName('gr:dot1'),$r/error) else let $d:=file:read-binary($oname) - (: let $junk:=file:delete($oname) :) + (: let $junk:=file:delete($oname) :) return $d }; diff --git a/src/graphxq/graphxq.xqm b/src/graphxq/graphxq.xqm index 0c1467e..d8f48d9 100644 --- a/src/graphxq/graphxq.xqm +++ b/src/graphxq/graphxq.xqm @@ -50,7 +50,6 @@ declare %restxq:form-param("dotopt","{$dotopt}") %output:media-type("image/svg+xml") function graphxq-svg($dot,$url,$dl,$dotopt) { - let $junk:=fn:trace(fn:count($dotopt),"--opts: ") let $dot2:=getdot($dot,$url) let $svg:=dot2svg($dot2) let $fname:=if($dl)then "dot.svg" else () @@ -128,7 +127,7 @@ function library(){ let $lib:=fn:doc("data/library.xml") let $map:=map{"title":="Samples", "items":=$lib//items, - "url":=function($item){fn:concat($item/url/@type,'?src=',$item/url)} + "url":=function($item){fn:concat($item/url/@type,'?src=data/samples/',$item/url)} } return render("views/library.xml",$map) }; @@ -188,7 +187,7 @@ declare %private function dot2svg($dot as xs:string) as node(){ return gr:autosize($svgx) }; -(:~ css class to hightlight current page :) +(:~ css class to highlight current page :) declare function active-link($path as xs:string,$page as xs:string) as xs:string{ if(fn:ends-with($path,$page)) then "active" else "" }; @@ -200,8 +199,7 @@ declare function active-link($path as xs:string,$page as xs:string) as xs:string :) declare function render($template as xs:string,$locals){ let $path:=request:path() - let $default:=map{"usermenu":=users, - "title":=request:path(), + let $default:=map{ "title":=request:path(), "active-link":=active-link($path,?), (: *** FAILS IF request:path() :) "bodyclass":=""} let $locals:=map:new(($default,$locals)) diff --git a/src/graphxq/thumbnails.xq b/src/graphxq/thumbnails.xq new file mode 100644 index 0000000..3e44190 --- /dev/null +++ b/src/graphxq/thumbnails.xq @@ -0,0 +1,20 @@ +(: generate thumbnail :) +import module namespace gr = 'apb.graphviz' at "graphviz.xqm" ; +import module namespace dotml = 'http://www.martin-loetzsch.de/DOTML' at "dotml.xqm"; +declare variable $src:=resolve-uri("data/samples/"); +declare variable $dest:=resolve-uri("data/thumbs/"); +declare variable $opts:=("-Tgif",'-Gdpi=100','-Gsize="1.2,1.2"','-Gratio="fill"'); + +declare function local:thumb($dot,$name){ + let $a:=gr:dot-executeb($dot,$opts) + return file:write-binary( $name,$a) +}; + + +for $f in file:list($src) +let $ext:=substring-after($f,".") +where $ext=('dot','gv','xml') +return let $g:= if($ext=('gv','dot')) + then file:read-text($src || $f) + else dotml:generate(doc($src || $f)) + return local:thumb($g,$dest || $f ||".gif") diff --git a/src/graphxq/views/item1.xml b/src/graphxq/views/item1.xml index 1c49b12..1c45914 100644 --- a/src/graphxq/views/item1.xml +++ b/src/graphxq/views/item1.xml @@ -1,9 +1,14 @@ - + - + - {$item/title/fn:string()} + + + + + {$item/title/fn:string()} + {$item/description/node()} diff --git a/src/graphxq/views/layout.xml b/src/graphxq/views/layout.xml index 3ba9192..0224c2f 100644 --- a/src/graphxq/views/layout.xml +++ b/src/graphxq/views/layout.xml @@ -55,31 +55,48 @@ - DotML + DotML - Library + Library - API + API - Ace + Ace - - {$usermenu} - - + + + + + × + Modal Test Header + + + One fine body… + + + {$body} diff --git a/src/graphxq/views/options.htm b/src/graphxq/views/options.xml similarity index 100% rename from src/graphxq/views/options.htm rename to src/graphxq/views/options.xml diff --git a/src/graphxq/views/toolbar.xml b/src/graphxq/views/toolbar.xml index 4b44480..8b1e1dd 100644 --- a/src/graphxq/views/toolbar.xml +++ b/src/graphxq/views/toolbar.xml @@ -11,12 +11,12 @@ Options - +
One fine body…