jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From resc...@apache.org
Subject svn commit: r483835 - in /jackrabbit/trunk/src/site: resources/images/nodetype/jackrabbit-nodetypes.png resources/images/nodetype/jackrabbit-nodetypes.svg site.xml xdoc/doc/nodetype/visualization.xml
Date Fri, 08 Dec 2006 05:08:49 GMT
Author: reschke
Date: Thu Dec  7 21:08:48 2006
New Revision: 483835

URL: http://svn.apache.org/viewvc?view=rev&rev=483835
Log:
Web site: add page about visualization of node types by transforming system view of jcr:nodeTypes
to GraphViz input.


Added:
    jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.png   (with props)
    jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.svg
    jackrabbit/trunk/src/site/xdoc/doc/nodetype/visualization.xml   (with props)
Modified:
    jackrabbit/trunk/src/site/site.xml

Added: jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.png
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.png?view=auto&rev=483835
==============================================================================
Binary file - no diff available.

Propchange: jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.svg
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.svg?view=auto&rev=483835
==============================================================================
--- jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.svg (added)
+++ jackrabbit/trunk/src/site/resources/images/nodetype/jackrabbit-nodetypes.svg Thu Dec 
7 21:08:48 2006
@@ -0,0 +1,622 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
+ <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
+]>
+<!-- Generated by dot version 2.8 (Fri Feb  3 22:38:53 UTC 2006)
+     For user: John Doe -->
+<!-- Title: _anonymous_0 Pages: 1 -->
+<svg width="626pt" height="1129pt"
+ viewBox = "0 0 626 1129"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" style="font-family:Times-Roman;font-size:14.00;">
+<title>_anonymous_0</title>
+<polygon style="fill:white;stroke:white;" points="-2,1131 -2,-2 628,-2 628,1131 -2,1131"/>
+<!-- rep:versionStorage -->
+<g id="node1" class="node"><title>rep:versionStorage</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="384" rx="66" ry="18"/>
+<text text-anchor="middle" x="244" y="389">rep:versionStorage</text>
+</g>
+<!-- d0e22 -->
+<g id="node4" class="node"><title>d0e22</title>
+<polygon style="fill:khaki;stroke:black;" points="460,366 406,366 406,402 460,402 460,366"/>
+<text text-anchor="middle" x="433" y="389">*</text>
+</g>
+<!-- rep:versionStorage&#45;&gt;d0e22 -->
+<g id="edge4" class="edge"><title>rep:versionStorage&#45;&gt;d0e22</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M316,390C348,391 383,391
406,389"/>
+<polygon style="fill:black;stroke:black;" points="316,393 306,390 316,386 316,393"/>
+</a>
+</g>
+<!-- rep:versionStorage&#45;&gt;d0e22 -->
+<g id="edge6" class="edge"><title>rep:versionStorage&#45;&gt;d0e22</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M316,378C348,377 383,377 406,379"/>
+<polygon style="fill:black;stroke:black;" points="316,381 306,378 316,374 316,381"/>
+</a>
+</g>
+<!-- d0e48 -->
+<g id="node7" class="node"><title>d0e48</title>
+<polygon style="fill:khaki;stroke:black;" points="460,258 406,258 406,294 460,294 460,258"/>
+<text text-anchor="middle" x="433" y="281">*</text>
+</g>
+<!-- rep:versionStorage&#45;&gt;d0e48 -->
+<g id="edge8" class="edge"><title>rep:versionStorage&#45;&gt;d0e48</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M272,361C294,343 327,319
358,303 373,295 391,288 406,284"/>
+<polygon style="fill:black;stroke:black;" points="274,364 264,367 270,358 274,364"/>
+</a>
+</g>
+<!-- d0e2255 -->
+<g id="node90" class="node"><title>d0e2255</title>
+<polygon style="fill:khaki;stroke:black;" points="492,604 374,604 374,640 492,640 492,604"/>
+<text text-anchor="middle" x="433" y="627">jcr:versionStorage</text>
+</g>
+<!-- rep:versionStorage&#45;&gt;d0e2255 -->
+<g id="edge110" class="edge"><title>rep:versionStorage&#45;&gt;d0e2255</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M264,410C281,433 305,466 322,499 343,539 326,562
358,595 363,599 368,603 373,606"/>
+<polygon style="fill:black;stroke:black;" points="261,412 258,402 267,408 261,412"/>
+</a>
+</g>
+<!-- nt:base -->
+<g id="node2" class="node"><title>nt:base</title>
+<ellipse style="fill:gold;stroke:black;" cx="67" cy="580" rx="33" ry="18"/>
+<text text-anchor="middle" x="67" y="585">nt:base</text>
+</g>
+<!-- nt:base&#45;&gt;rep:versionStorage -->
+<g id="edge2" class="edge"><title>nt:base&#45;&gt;rep:versionStorage</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M77,553C92,517 122,453 166,416 175,408 187,402
198,397"/>
+<polygon style="fill:black;stroke:black;" points="80,554 73,562 74,551 80,554"/>
+</a>
+</g>
+<!-- nt:versionHistory -->
+<g id="node9" class="node"><title>nt:versionHistory</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="184" rx="61" ry="18"/>
+<text text-anchor="middle" x="244" y="189">nt:versionHistory</text>
+</g>
+<!-- nt:base&#45;&gt;nt:versionHistory -->
+<g id="edge34" class="edge"><title>nt:base&#45;&gt;nt:versionHistory</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M72,552C83,475 119,262 166,211 174,203 183,198
193,194"/>
+<polygon style="fill:black;stroke:black;" points="75,553 70,562 69,552 75,553"/>
+</a>
+</g>
+<!-- nt:versionedChild -->
+<g id="node12" class="node"><title>nt:versionedChild</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="672" rx="63" ry="18"/>
+<text text-anchor="middle" x="244" y="677">nt:versionedChild</text>
+</g>
+<!-- nt:base&#45;&gt;nt:versionedChild -->
+<g id="edge12" class="edge"><title>nt:base&#45;&gt;nt:versionedChild</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M97,599C117,612 143,628 166,640 179,646 193,652
206,657"/>
+<polygon style="fill:black;stroke:black;" points="96,602 89,594 99,596 96,602"/>
+</a>
+</g>
+<!-- nt:versionLabels -->
+<g id="node14" class="node"><title>nt:versionLabels</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="292" rx="59" ry="18"/>
+<text text-anchor="middle" x="244" y="297">nt:versionLabels</text>
+</g>
+<!-- nt:base&#45;&gt;nt:versionLabels -->
+<g id="edge14" class="edge"><title>nt:base&#45;&gt;nt:versionLabels</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M70,552C78,500 103,389 166,324 175,315 187,308
198,304"/>
+<polygon style="fill:black;stroke:black;" points="73,552 69,562 67,552 73,552"/>
+</a>
+</g>
+<!-- nt:childNodeDefinition -->
+<g id="node16" class="node"><title>nt:childNodeDefinition</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="984" rx="77" ry="18"/>
+<text text-anchor="middle" x="244" y="989">nt:childNodeDefinition</text>
+</g>
+<!-- nt:base&#45;&gt;nt:childNodeDefinition -->
+<g id="edge16" class="edge"><title>nt:base&#45;&gt;nt:childNodeDefinition</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M71,608C82,687 118,904 166,957 172,963 180,968
188,972"/>
+<polygon style="fill:black;stroke:black;" points="68,608 70,598 74,608 68,608"/>
+</a>
+</g>
+<!-- nt:hierarchyNode -->
+<g id="node20" class="node"><title>nt:hierarchyNode</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="526" rx="62" ry="18"/>
+<text text-anchor="middle" x="244" y="531">nt:hierarchyNode</text>
+</g>
+<!-- nt:base&#45;&gt;nt:hierarchyNode -->
+<g id="edge20" class="edge"><title>nt:base&#45;&gt;nt:hierarchyNode</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M106,568C134,559 172,548 201,539"/>
+<polygon style="fill:black;stroke:black;" points="107,571 96,571 105,565 107,571"/>
+</a>
+</g>
+<!-- d0e693 -->
+<g id="node24" class="node"><title>d0e693</title>
+<polygon style="fill:khaki;stroke:black;" points="621,435 545,435 545,471 621,471 621,435"/>
+<text text-anchor="middle" x="583" y="458">jcr:content</text>
+</g>
+<!-- nt:base&#45;&gt;d0e693 -->
+<g id="edge26" class="edge"><title>nt:base&#45;&gt;d0e693</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M89,557C109,538 137,513 166,499 293,434 468,441
544,449"/>
+<polygon style="fill:black;stroke:black;" points="92,559 82,564 87,554 92,559"/>
+</a>
+</g>
+<!-- nt:resource -->
+<g id="node27" class="node"><title>nt:resource</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="76" rx="44" ry="18"/>
+<text text-anchor="middle" x="244" y="81">nt:resource</text>
+</g>
+<!-- nt:base&#45;&gt;nt:resource -->
+<g id="edge30" class="edge"><title>nt:base&#45;&gt;nt:resource</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M69,552C77,460 106,171 166,103 175,93 189,86
202,82"/>
+<polygon style="fill:black;stroke:black;" points="72,552 68,562 66,552 72,552"/>
+</a>
+</g>
+<!-- nt:version -->
+<g id="node34" class="node"><title>nt:version</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="130" rx="41" ry="18"/>
+<text text-anchor="middle" x="244" y="135">nt:version</text>
+</g>
+<!-- nt:base&#45;&gt;nt:version -->
+<g id="edge50" class="edge"><title>nt:base&#45;&gt;nt:version</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M70,552C80,467 113,216 166,157 176,146 191,140
205,136"/>
+<polygon style="fill:black;stroke:black;" points="73,552 69,562 67,552 73,552"/>
+</a>
+</g>
+<!-- nt:frozenNode -->
+<g id="node46" class="node"><title>nt:frozenNode</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="238" rx="53" ry="18"/>
+<text text-anchor="middle" x="244" y="243">nt:frozenNode</text>
+</g>
+<!-- nt:base&#45;&gt;nt:frozenNode -->
+<g id="edge74" class="edge"><title>nt:base&#45;&gt;nt:frozenNode</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M73,552C86,483 125,307 166,265 174,256 185,250
196,246"/>
+<polygon style="fill:black;stroke:black;" points="76,553 71,562 70,552 76,553"/>
+</a>
+</g>
+<!-- nt:unstructured -->
+<g id="node51" class="node"><title>nt:unstructured</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="1038" rx="55" ry="18"/>
+<text text-anchor="middle" x="244" y="1043">nt:unstructured</text>
+</g>
+<!-- nt:base&#45;&gt;nt:unstructured -->
+<g id="edge80" class="edge"><title>nt:base&#45;&gt;nt:unstructured</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M70,608C80,694 112,950 166,1011 174,1020 185,1025
196,1029"/>
+<polygon style="fill:black;stroke:black;" points="67,608 69,598 73,608 67,608"/>
+</a>
+</g>
+<!-- rep:system -->
+<g id="node55" class="node"><title>rep:system</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="730" rx="43" ry="18"/>
+<text text-anchor="middle" x="244" y="735">rep:system</text>
+</g>
+<!-- nt:base&#45;&gt;rep:system -->
+<g id="edge98" class="edge"><title>nt:base&#45;&gt;rep:system</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M83,606C101,632 131,673 166,699 179,708 194,715
208,719"/>
+<polygon style="fill:black;stroke:black;" points="80,607 77,597 85,603 80,607"/>
+</a>
+</g>
+<!-- rep:nodeTypes -->
+<g id="node57" class="node"><title>rep:nodeTypes</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="822" rx="54" ry="18"/>
+<text text-anchor="middle" x="244" y="827">rep:nodeTypes</text>
+</g>
+<!-- nt:base&#45;&gt;rep:nodeTypes -->
+<g id="edge64" class="edge"><title>nt:base&#45;&gt;rep:nodeTypes</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M78,607C95,644 127,709 166,757 182,776 204,793
220,806"/>
+<polygon style="fill:black;stroke:black;" points="75,609 74,598 81,606 75,609"/>
+</a>
+</g>
+<!-- nt:nodeType -->
+<g id="node61" class="node"><title>nt:nodeType</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="930" rx="48" ry="18"/>
+<text text-anchor="middle" x="244" y="935">nt:nodeType</text>
+</g>
+<!-- nt:base&#45;&gt;nt:nodeType -->
+<g id="edge86" class="edge"><title>nt:base&#45;&gt;nt:nodeType</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M72,608C86,678 124,859 166,903 175,912 188,918
200,922"/>
+<polygon style="fill:black;stroke:black;" points="69,608 70,598 75,607 69,608"/>
+</a>
+</g>
+<!-- nt:propertyDefinition -->
+<g id="node63" class="node"><title>nt:propertyDefinition</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="876" rx="72" ry="18"/>
+<text text-anchor="middle" x="244" y="881">nt:propertyDefinition</text>
+</g>
+<!-- nt:base&#45;&gt;nt:propertyDefinition -->
+<g id="edge70" class="edge"><title>nt:base&#45;&gt;nt:propertyDefinition</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M70,608C77,663 98,781 166,849 173,855 181,860
190,864"/>
+<polygon style="fill:black;stroke:black;" points="67,608 69,598 73,608 67,608"/>
+</a>
+</g>
+<!-- d0e1779 -->
+<g id="node67" class="node"><title>d0e1779</title>
+<polygon style="fill:khaki;stroke:black;" points="460,312 406,312 406,348 460,348 460,312"/>
+<text text-anchor="middle" x="433" y="335">*</text>
+</g>
+<!-- nt:base&#45;&gt;d0e1779 -->
+<g id="edge78" class="edge"><title>nt:base&#45;&gt;d0e1779</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M70,552C78,503 102,404 166,357 204,330 346,329
406,329"/>
+<polygon style="fill:black;stroke:black;" points="73,552 69,562 67,552 73,552"/>
+</a>
+</g>
+<!-- d0e1869 -->
+<g id="node71" class="node"><title>d0e1869</title>
+<polygon style="fill:khaki;stroke:black;" points="460,1074 406,1074 406,1110 460,1110
460,1074"/>
+<text text-anchor="middle" x="433" y="1097">*</text>
+</g>
+<!-- nt:base&#45;&gt;d0e1869 -->
+<g id="edge84" class="edge"><title>nt:base&#45;&gt;d0e1869</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M69,608C75,702 98,1002 166,1065 234,1125 353,1109
406,1098"/>
+<polygon style="fill:black;stroke:black;" points="66,608 68,598 72,608 66,608"/>
+</a>
+</g>
+<!-- nt:query -->
+<g id="node81" class="node"><title>nt:query</title>
+<ellipse style="fill:gold;stroke:black;" cx="244" cy="580" rx="36" ry="18"/>
+<text text-anchor="middle" x="244" y="585">nt:query</text>
+</g>
+<!-- nt:base&#45;&gt;nt:query -->
+<g id="edge96" class="edge"><title>nt:base&#45;&gt;nt:query</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M111,580C141,580 179,580 207,580"/>
+<polygon style="fill:black;stroke:black;" points="111,583 101,580 111,576 111,583"/>
+</a>
+</g>
+<!-- d0e2200 -->
+<g id="node84" class="node"><title>d0e2200</title>
+<polygon style="fill:khaki;stroke:black;" points="460,712 406,712 406,748 460,748 460,712"/>
+<text text-anchor="middle" x="433" y="735">*</text>
+</g>
+<!-- nt:base&#45;&gt;d0e2200 -->
+<g id="edge102" class="edge"><title>nt:base&#45;&gt;d0e2200</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M107,591C125,596 147,602 166,607 236,624 265,603
322,645 347,662 335,683 358,703 372,714 391,721 406,725"/>
+<polygon style="fill:black;stroke:black;" points="106,594 97,588 108,588 106,594"/>
+</a>
+</g>
+<!-- nt:versionHistory&#45;&gt;d0e48 -->
+<g id="edge10" class="edge"><title>nt:versionHistory&#45;&gt;d0e48</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M300,200C307,203 315,207 322,211 342,224 339,237
358,249 373,258 391,265 406,269"/>
+<polygon style="fill:black;stroke:black;" points="298,203 290,196 301,196 298,203"/>
+</a>
+</g>
+<!-- d0e971 -->
+<g id="node32" class="node"><title>d0e971</title>
+<polygon style="fill:khaki;stroke:black;" points="460,42 406,42 406,78 460,78 460,42"/>
+<text text-anchor="middle" x="433" y="65">*</text>
+</g>
+<!-- nt:versionHistory&#45;&gt;d0e971 -->
+<g id="edge36" class="edge"><title>nt:versionHistory&#45;&gt;d0e971</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M304,169C310,166 317,162
322,157 349,135 332,111 358,87 372,75 391,69 406,65"/>
+<polygon style="fill:black;stroke:black;" points="305,173 294,173 302,166 305,173"/>
+</a>
+</g>
+<!-- d0e997 -->
+<g id="node36" class="node"><title>d0e997</title>
+<polygon style="fill:khaki;stroke:black;" points="490,204 376,204 376,240 490,240 490,204"/>
+<text text-anchor="middle" x="433" y="227">jcr:versionLabels</text>
+</g>
+<!-- nt:versionHistory&#45;&gt;d0e997 -->
+<g id="edge40" class="edge"><title>nt:versionHistory&#45;&gt;d0e997</title>
+<a xlink:title="is mandatory child node of">
+<path style="fill:none;stroke:black;" d="M305,196C328,201 353,206 376,211"/>
+<polygon style="fill:black;stroke:black;" points="304,199 295,194 305,193 304,199"/>
+</a>
+</g>
+<!-- d0e1026 -->
+<g id="node39" class="node"><title>d0e1026</title>
+<polygon style="fill:khaki;stroke:black;" points="483,96 383,96 383,132 483,132 483,96"/>
+<text text-anchor="middle" x="433" y="119">jcr:rootVersion</text>
+</g>
+<!-- nt:versionHistory&#45;&gt;d0e1026 -->
+<g id="edge44" class="edge"><title>nt:versionHistory&#45;&gt;d0e1026</title>
+<a xlink:title="is mandatory child node of">
+<path style="fill:none;stroke:black;" d="M295,168C304,164 313,161 322,157 339,151 342,148
358,141 366,138 374,135 382,132"/>
+<polygon style="fill:black;stroke:black;" points="297,171 286,171 294,165 297,171"/>
+</a>
+</g>
+<!-- mix:referenceable -->
+<g id="node11" class="node"><title>mix:referenceable</title>
+<ellipse style="fill:greenyellow;stroke:black;" cx="67" cy="130" rx="63" ry="18"/>
+<text text-anchor="middle" x="67" y="135">mix:referenceable</text>
+</g>
+<!-- mix:referenceable&#45;&gt;nt:versionHistory -->
+<g id="edge32" class="edge"><title>mix:referenceable&#45;&gt;nt:versionHistory</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M120,146C146,153 177,163 202,171"/>
+<polygon style="fill:black;stroke:black;" points="119,149 110,143 121,143 119,149"/>
+</a>
+</g>
+<!-- mix:versionable -->
+<g id="node18" class="node"><title>mix:versionable</title>
+<ellipse style="fill:greenyellow;stroke:black;" cx="244" cy="22" rx="57" ry="18"/>
+<text text-anchor="middle" x="244" y="27">mix:versionable</text>
+</g>
+<!-- mix:referenceable&#45;&gt;mix:versionable -->
+<g id="edge18" class="edge"><title>mix:referenceable&#45;&gt;mix:versionable</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M118,111C122,109 127,106 130,103 153,85 144,67
166,49 175,42 187,37 198,33"/>
+<polygon style="fill:black;stroke:black;" points="119,114 109,116 116,108 119,114"/>
+</a>
+</g>
+<!-- mix:referenceable&#45;&gt;nt:resource -->
+<g id="edge28" class="edge"><title>mix:referenceable&#45;&gt;nt:resource</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M120,114C148,106 183,95 208,87"/>
+<polygon style="fill:black;stroke:black;" points="121,117 110,117 119,111 121,117"/>
+</a>
+</g>
+<!-- mix:referenceable&#45;&gt;nt:version -->
+<g id="edge48" class="edge"><title>mix:referenceable&#45;&gt;nt:version</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M140,130C161,130 184,130 203,130"/>
+<polygon style="fill:black;stroke:black;" points="140,133 130,130 140,126 140,133"/>
+</a>
+</g>
+<!-- mix:referenceable&#45;&gt;nt:frozenNode -->
+<g id="edge72" class="edge"><title>mix:referenceable&#45;&gt;nt:frozenNode</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M91,154C110,172 139,196 166,211 177,217 190,222
202,227"/>
+<polygon style="fill:black;stroke:black;" points="89,157 84,147 94,152 89,157"/>
+</a>
+</g>
+<!-- nt:versionLabels&#45;&gt;d0e997 -->
+<g id="edge42" class="edge"><title>nt:versionLabels&#45;&gt;d0e997</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M293,276C303,272 313,269 322,265 339,258 342,255
358,249 366,246 374,243 382,240"/>
+<polygon style="fill:black;stroke:black;" points="295,279 284,279 292,273 295,279"/>
+</a>
+</g>
+<!-- d0e2052 -->
+<g id="node75" class="node"><title>d0e2052</title>
+<polygon style="fill:khaki;stroke:black;" points="508,966 358,966 358,1002 508,1002 508,966"/>
+<text text-anchor="middle" x="433" y="989">jcr:childNodeDefinition</text>
+</g>
+<!-- nt:childNodeDefinition&#45;&gt;d0e2052 -->
+<g id="edge90" class="edge"><title>nt:childNodeDefinition&#45;&gt;d0e2052</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M332,984C341,984 349,984 358,984"/>
+<polygon style="fill:black;stroke:black;" points="332,987 322,984 332,980 332,987"/>
+</a>
+</g>
+<!-- nt:file -->
+<g id="node22" class="node"><title>nt:file</title>
+<ellipse style="fill:gold;stroke:black;" cx="433" cy="476" rx="30" ry="18"/>
+<text text-anchor="middle" x="433" y="481">nt:file</text>
+</g>
+<!-- nt:hierarchyNode&#45;&gt;nt:file -->
+<g id="edge22" class="edge"><title>nt:hierarchyNode&#45;&gt;nt:file</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M300,511C335,502 378,490 405,483"/>
+<polygon style="fill:black;stroke:black;" points="301,514 290,514 299,508 301,514"/>
+</a>
+</g>
+<!-- nt:linkedFile -->
+<g id="node48" class="node"><title>nt:linkedFile</title>
+<ellipse style="fill:gold;stroke:black;" cx="433" cy="568" rx="48" ry="18"/>
+<text text-anchor="middle" x="433" y="573">nt:linkedFile</text>
+</g>
+<!-- nt:hierarchyNode&#45;&gt;nt:linkedFile -->
+<g id="edge56" class="edge"><title>nt:hierarchyNode&#45;&gt;nt:linkedFile</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M304,539C332,546 366,553 391,559"/>
+<polygon style="fill:black;stroke:black;" points="303,542 294,537 304,536 303,542"/>
+</a>
+</g>
+<!-- nt:folder -->
+<g id="node94" class="node"><title>nt:folder</title>
+<ellipse style="fill:gold;stroke:black;" cx="433" cy="676" rx="37" ry="18"/>
+<text text-anchor="middle" x="433" y="681">nt:folder</text>
+</g>
+<!-- nt:hierarchyNode&#45;&gt;nt:folder -->
+<g id="edge112" class="edge"><title>nt:hierarchyNode&#45;&gt;nt:folder</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M304,540C311,544 317,548 322,553 355,584 326,616
358,649 369,659 384,666 398,670"/>
+<polygon style="fill:black;stroke:black;" points="303,543 295,536 306,537 303,543"/>
+</a>
+</g>
+<!-- d0e2372 -->
+<g id="node96" class="node"><title>d0e2372</title>
+<polygon style="fill:khaki;stroke:black;" points="610,581 556,581 556,617 610,617 610,581"/>
+<text text-anchor="middle" x="583" y="604">*</text>
+</g>
+<!-- nt:hierarchyNode&#45;&gt;d0e2372 -->
+<g id="edge116" class="edge"><title>nt:hierarchyNode&#45;&gt;d0e2372</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M312,518C367,515 445,517 508,541 531,549 552,567
566,581"/>
+<polygon style="fill:black;stroke:black;" points="312,521 302,519 312,515 312,521"/>
+</a>
+</g>
+<!-- nt:file&#45;&gt;d0e693 -->
+<g id="edge24" class="edge"><title>nt:file&#45;&gt;d0e693</title>
+<a xlink:title="is mandatory child node of">
+<path style="fill:none;stroke:black;" d="M472,470C495,467 522,462 544,459"/>
+<polygon style="fill:black;stroke:black;" points="472,473 462,472 471,467 472,473"/>
+</a>
+</g>
+<!-- nt:version&#45;&gt;d0e971 -->
+<g id="edge38" class="edge"><title>nt:version&#45;&gt;d0e971</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M287,116C299,112 311,108 322,103 339,97 342,94
358,87 374,81 391,74 406,69"/>
+<polygon style="fill:black;stroke:black;" points="288,119 277,119 286,113 288,119"/>
+</a>
+</g>
+<!-- nt:version&#45;&gt;d0e1026 -->
+<g id="edge46" class="edge"><title>nt:version&#45;&gt;d0e1026</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M295,126C322,123 356,121 382,118"/>
+<polygon style="fill:black;stroke:black;" points="295,129 285,127 295,123 295,129"/>
+</a>
+</g>
+<!-- d0e1162 -->
+<g id="node44" class="node"><title>d0e1162</title>
+<polygon style="fill:khaki;stroke:black;" points="484,150 382,150 382,186 484,186 484,150"/>
+<text text-anchor="middle" x="433" y="173">jcr:frozenNode</text>
+</g>
+<!-- nt:version&#45;&gt;d0e1162 -->
+<g id="edge52" class="edge"><title>nt:version&#45;&gt;d0e1162</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M291,140C319,146 353,153
382,158"/>
+<polygon style="fill:black;stroke:black;" points="290,143 281,138 291,137 290,143"/>
+</a>
+</g>
+<!-- nt:frozenNode&#45;&gt;d0e1162 -->
+<g id="edge54" class="edge"><title>nt:frozenNode&#45;&gt;d0e1162</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M292,222C302,218 312,215 322,211 339,205 342,202
358,195 366,192 374,189 382,186"/>
+<polygon style="fill:black;stroke:black;" points="294,225 283,226 291,219 294,225"/>
+</a>
+</g>
+<!-- nt:frozenNode&#45;&gt;d0e1779 -->
+<g id="edge76" class="edge"><title>nt:frozenNode&#45;&gt;d0e1779</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M297,252C306,256 315,260
322,265 342,277 339,290 358,303 373,312 391,319 406,323"/>
+<polygon style="fill:black;stroke:black;" points="296,255 287,249 298,249 296,255"/>
+</a>
+</g>
+<!-- rep:root -->
+<g id="node50" class="node"><title>rep:root</title>
+<ellipse style="fill:gold;stroke:black;" cx="433" cy="1038" rx="35" ry="18"/>
+<text text-anchor="middle" x="433" y="1043">rep:root</text>
+</g>
+<!-- d0e1253 -->
+<g id="node53" class="node"><title>d0e1253</title>
+<polygon style="fill:khaki;stroke:black;" points="620,889 546,889 546,925 620,925 620,889"/>
+<text text-anchor="middle" x="583" y="912">jcr:system</text>
+</g>
+<!-- rep:root&#45;&gt;d0e1253 -->
+<g id="edge60" class="edge"><title>rep:root&#45;&gt;d0e1253</title>
+<a xlink:title="is mandatory child node of">
+<path style="fill:none;stroke:black;" d="M476,1028C487,1024 499,1018 508,1011 539,987
562,948 574,925"/>
+<polygon style="fill:black;stroke:black;" points="477,1031 466,1031 475,1025 477,1031"/>
+</a>
+</g>
+<!-- nt:unstructured&#45;&gt;rep:root -->
+<g id="edge58" class="edge"><title>nt:unstructured&#45;&gt;rep:root</title>
+<a xlink:title="supertype">
+<path style="fill:none;stroke:black;" d="M309,1038C339,1038 373,1038 397,1038"/>
+<polygon style="fill:black;stroke:black;" points="309,1041 299,1038 309,1034 309,1041"/>
+</a>
+</g>
+<!-- nt:unstructured&#45;&gt;d0e1869 -->
+<g id="edge82" class="edge"><title>nt:unstructured&#45;&gt;d0e1869</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M295,1053C331,1063 377,1076
406,1084"/>
+<polygon style="fill:black;stroke:black;" points="294,1056 285,1050 296,1050 294,1056"/>
+</a>
+</g>
+<!-- rep:system&#45;&gt;d0e1253 -->
+<g id="edge62" class="edge"><title>rep:system&#45;&gt;d0e1253</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M292,741C367,759 503,791 508,795 543,819 565,864
576,889"/>
+<polygon style="fill:black;stroke:black;" points="291,744 282,739 292,738 291,744"/>
+</a>
+</g>
+<!-- rep:system&#45;&gt;d0e2200 -->
+<g id="edge100" class="edge"><title>rep:system&#45;&gt;d0e2200</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M298,730C334,730 378,730
406,730"/>
+<polygon style="fill:black;stroke:black;" points="298,733 288,730 298,726 298,733"/>
+</a>
+</g>
+<!-- d0e2226 -->
+<g id="node87" class="node"><title>d0e2226</title>
+<polygon style="fill:khaki;stroke:black;" points="481,804 385,804 385,840 481,840 481,804"/>
+<text text-anchor="middle" x="433" y="827">jcr:nodeTypes</text>
+</g>
+<!-- rep:system&#45;&gt;d0e2226 -->
+<g id="edge104" class="edge"><title>rep:system&#45;&gt;d0e2226</title>
+<a xlink:title="is mandatory child node of">
+<path style="fill:none;stroke:black;" d="M280,750C302,761 332,777 358,790 368,795 379,799
390,804"/>
+<polygon style="fill:black;stroke:black;" points="278,753 271,745 281,747 278,753"/>
+</a>
+</g>
+<!-- rep:system&#45;&gt;d0e2255 -->
+<g id="edge108" class="edge"><title>rep:system&#45;&gt;d0e2255</title>
+<a xlink:title="is mandatory child node of">
+<path style="fill:none;stroke:black;" d="M291,716C302,712 313,706 322,699 344,682 337,665
358,649 363,645 368,642 373,639"/>
+<polygon style="fill:black;stroke:black;" points="292,720 281,720 289,713 292,720"/>
+</a>
+</g>
+<!-- d0e1299 -->
+<g id="node59" class="node"><title>d0e1299</title>
+<polygon style="fill:khaki;stroke:black;" points="460,858 406,858 406,894 460,894 460,858"/>
+<text text-anchor="middle" x="433" y="881">*</text>
+</g>
+<!-- rep:nodeTypes&#45;&gt;d0e1299 -->
+<g id="edge66" class="edge"><title>rep:nodeTypes&#45;&gt;d0e1299</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M295,837C331,847 377,860
406,868"/>
+<polygon style="fill:black;stroke:black;" points="294,840 285,834 296,834 294,840"/>
+</a>
+</g>
+<!-- rep:nodeTypes&#45;&gt;d0e2226 -->
+<g id="edge106" class="edge"><title>rep:nodeTypes&#45;&gt;d0e2226</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M309,822C334,822 361,822 384,822"/>
+<polygon style="fill:black;stroke:black;" points="309,825 299,822 309,818 309,825"/>
+</a>
+</g>
+<!-- nt:nodeType&#45;&gt;d0e1299 -->
+<g id="edge68" class="edge"><title>nt:nodeType&#45;&gt;d0e1299</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M292,916C328,905 376,892 406,884"/>
+<polygon style="fill:black;stroke:black;" points="293,919 282,919 291,913 293,919"/>
+</a>
+</g>
+<!-- nt:nodeType&#45;&gt;d0e2052 -->
+<g id="edge88" class="edge"><title>nt:nodeType&#45;&gt;d0e2052</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M292,944C315,950 344,959
369,966"/>
+<polygon style="fill:black;stroke:black;" points="291,947 282,941 293,941 291,947"/>
+</a>
+</g>
+<!-- d0e2081 -->
+<g id="node78" class="node"><title>d0e2081</title>
+<polygon style="fill:khaki;stroke:black;" points="502,912 364,912 364,948 502,948 502,912"/>
+<text text-anchor="middle" x="433" y="935">jcr:propertyDefinition</text>
+</g>
+<!-- nt:nodeType&#45;&gt;d0e2081 -->
+<g id="edge92" class="edge"><title>nt:nodeType&#45;&gt;d0e2081</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M302,930C322,930 343,930
363,930"/>
+<polygon style="fill:black;stroke:black;" points="302,933 292,930 302,926 302,933"/>
+</a>
+</g>
+<!-- nt:propertyDefinition&#45;&gt;d0e2081 -->
+<g id="edge94" class="edge"><title>nt:propertyDefinition&#45;&gt;d0e2081</title>
+<a xlink:title="has primary type">
+<path style="fill:none;stroke:black;" d="M302,893C323,899 347,906 369,912"/>
+<polygon style="fill:black;stroke:black;" points="301,896 292,890 303,890 301,896"/>
+</a>
+</g>
+<!-- mix:lockable -->
+<g id="node93" class="node"><title>mix:lockable</title>
+<ellipse style="fill:greenyellow;stroke:black;" cx="67" cy="76" rx="49" ry="18"/>
+<text text-anchor="middle" x="67" y="81">mix:lockable</text>
+</g>
+<!-- nt:folder&#45;&gt;d0e2372 -->
+<g id="edge114" class="edge"><title>nt:folder&#45;&gt;d0e2372</title>
+<a xlink:title="is child node of">
+<path style="fill:none;stroke:black;stroke-dasharray:1,5;" d="M474,663C485,659 497,654
508,649 526,640 544,627 559,617"/>
+<polygon style="fill:black;stroke:black;" points="475,666 464,666 473,660 475,666"/>
+</a>
+</g>
+</g>
+</svg>

Modified: jackrabbit/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/src/site/site.xml?view=diff&rev=483835&r1=483834&r2=483835
==============================================================================
--- jackrabbit/trunk/src/site/site.xml (original)
+++ jackrabbit/trunk/src/site/site.xml Thu Dec  7 21:08:48 2006
@@ -52,7 +52,8 @@
       </item>
       <item name="Configuring"                href="/doc/config.html" />
       <item name="Node Types"                 href="/doc/nodetype/index.html" collapse="true">
-          <item name="Compact Notation"       href="/doc/nodetype/cnd.html" />
+         <item name="Compact Notation"        href="/doc/nodetype/cnd.html" />
+         <item name="Visualization"           href="/doc/nodetype/visualization.html"
/>
       </item>
     </menu>
     ${reports}

Added: jackrabbit/trunk/src/site/xdoc/doc/nodetype/visualization.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/src/site/xdoc/doc/nodetype/visualization.xml?view=auto&rev=483835
==============================================================================
--- jackrabbit/trunk/src/site/xdoc/doc/nodetype/visualization.xml (added)
+++ jackrabbit/trunk/src/site/xdoc/doc/nodetype/visualization.xml Thu Dec  7 21:08:48 2006
@@ -0,0 +1,169 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+<!DOCTYPE document PUBLIC
+  "-//Apache Software Foundation//DTD XDOC 1.0//EN"
+  "http://maven.apache.org/dtd/xdoc_1_0.dtd">
+<document>
+    <properties>
+        <title>Visualization</title>
+    </properties>
+    <body>
+        <section name="Visualization">
+            <p>
+                Visualizing the Node Type Hierarchy is non-trivial, even
+                in the case of a repository containing only the default
+                Jackrabbit node types.  Here, <a href="http://graphviz.org">GraphViz</a>
+                can help:
+            </p>
+            <p>
+                <img src="../../images/nodetype/jackrabbit-nodetypes.png" alt="Node Type
Hierarchy for Jackrabbit"/>
+                (<a href="../../images/nodetype/jackrabbit-nodetypes.svg">SVG version</a>)
+            </p>
+            <p>
+                In this diagram, the rounded boxes represent node types (green
+                for mixins, gold for primrary types), with the arrows
+                indicating the node inheritance. The square boxes represent
+                child node and property definitions.
+            </p>
+            <p>
+                To generate these diagrams, you will need:
+            </p>
+            <ol>
+                <li>A system view export of "/jcr:system/jcr:nodeTypes".</li>
+                <li>An XSLT processor and the XSLT code below.</li>
+                <li>GraphViz (see <a href="http://graphviz.org">GraphViz</a>)</li>
+            </ol>
+<source><![CDATA[
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<!--
+  A tool for converting the system view of /jcr:system/jcr:nodeTypes
+  to GraphViz input (see <http://www.graphviz.org/>).
+  
+  Usage:
+  
+  1: Export System View of /jcr:system/jcr:nodeTypes
+
+  2: Run XSLT transformation, producing a .dot file, such as with
+  
+     $ saxon nt-sample.xml jcr-nodetypes-to-dot.xslt > nt-sample.dot
+
+  3: Run Graphviz, for instance
+  
+     $ dot nt-sample.dot -Tsvg -o nt-sample.svg
+     
+     ...producing nt-sample.svg as output.
+-->
+
+<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"
+                xmlns:ed="http://greenbytes.de/2002/rfcedit"
+                xmlns:exslt="http://exslt.org/common"
+                xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
+                xmlns:sv="http://www.jcp.org/jcr/sv/1.0"
+                xmlns:jcr="http://www.jcp.org/jcr/1.0"
+>
+
+<xsl:output method="text" encoding="UTF-8"/>
+
+<xsl:template match="/">
+  <xsl:text>digraph {&#10;</xsl:text>
+  <xsl:text>  rankdir=LR;&#10;</xsl:text>
+  <xsl:apply-templates select="//sv:node[sv:property[@sv:name='jcr:primaryType']/sv:value='nt:nodeType']"/>
+  <xsl:text>}&#10;</xsl:text>
+</xsl:template>
+
+<xsl:template match="sv:node[sv:property[@sv:name='jcr:primaryType']/sv:value='nt:nodeType']">
+  <xsl:text>  "</xsl:text>
+  <xsl:value-of select="@sv:name"/>
+  <xsl:text>" </xsl:text>
+  <xsl:choose>
+    <xsl:when test="sv:property[@sv:name='jcr:isMixin']/sv:value='true'">
+      <xsl:text>[style = "filled, rounded", fillcolor = greenyellow];</xsl:text>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:text>[style = "filled, rounded", fillcolor = gold];</xsl:text>
+    </xsl:otherwise>
+  </xsl:choose>
+  <xsl:text>&#10;</xsl:text>
+  
+  <xsl:for-each select="sv:property[@sv:name='jcr:supertypes']/sv:value">
+    <xsl:text>  "</xsl:text>
+    <xsl:value-of select="."/>
+    <xsl:text>" -> "</xsl:text>
+    <xsl:value-of select="../../@sv:name"/>
+    <xsl:text>" [dir = back, tooltip = "supertype"];&#10;</xsl:text>
+  </xsl:for-each>
+  
+  <xsl:for-each select="sv:node[@sv:name='jcr:childNodeDefinition']">
+  
+    <xsl:variable name="name">
+      <xsl:choose>
+        <xsl:when test="sv:property[@sv:name='jcr:name']">
+          <xsl:value-of select="sv:property[@sv:name='jcr:name']/sv:value"/>
+        </xsl:when>
+        <xsl:otherwise>*</xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <xsl:variable name="id" select="generate-id()"/>
+    
+    <xsl:value-of select="concat('  &quot;',$id,'&quot; [shape = box, style =
filled, fillcolor = khaki, label=&quot;',$name,'&quot;] &#10;')"/>
+    
+    <xsl:text>  "</xsl:text>
+    <xsl:value-of select="../@sv:name"/>
+    <xsl:text>" -> "</xsl:text>
+    <xsl:value-of select="$id"/>
+    <xsl:choose>
+      <xsl:when test="sv:property[@sv:name='jcr:mandatory']/sv:value='true'">
+        <xsl:text>" [tooltip = "is mandatory child node of", dir = back];&#10;</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>" [style = dotted, tooltip = "is child node of", dir = back];&#10;</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+    
+    <xsl:text>  "</xsl:text>
+    <xsl:value-of select="sv:property[@sv:name='jcr:requiredPrimaryTypes']/sv:value"/>
+    <xsl:text>" -> "</xsl:text>
+    <xsl:value-of select="$id"/>
+    <xsl:text>" [dir = back, tooltip = "has primary type"];&#10;</xsl:text>
+
+  </xsl:for-each>
+  
+</xsl:template>
+
+</xsl:transform>]]></source>
+        </section>
+    </body>
+</document>

Propchange: jackrabbit/trunk/src/site/xdoc/doc/nodetype/visualization.xml
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message