diff --git a/Sda1/XmlSchema/Ref/Fig/oxygenCheckWellformed.png b/Sda1/XmlSchema/Ref/Fig/oxygenCheckWellformed.png new file mode 100644 index 0000000000000000000000000000000000000000..07c741864bab8dbb44934b221546cce4cf05954b Binary files /dev/null and b/Sda1/XmlSchema/Ref/Fig/oxygenCheckWellformed.png differ diff --git a/Sda1/XmlSchema/Ref/Fig/wellformedAttribQuote.svg b/Sda1/XmlSchema/Ref/Fig/wellformedAttribQuote.svg new file mode 100644 index 0000000000000000000000000000000000000000..502a248ca11dc6b2433f6e6bd4fe6f262fdfae6e --- /dev/null +++ b/Sda1/XmlSchema/Ref/Fig/wellformedAttribQuote.svg @@ -0,0 +1,608 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="150mm" + height="106mm" + viewBox="0 0 150 106" + version="1.1" + id="svg4948" + inkscape:version="0.92.1 r15371" + sodipodi:docname="wellformedAttribQuote.svg"> + <defs + id="defs4942"> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker5877" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5875" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Tail" + orient="auto" + refY="0" + refX="0" + id="Tail" + style="overflow:visible" + inkscape:isstock="true"> + <g + id="g1806" + transform="scale(-1.2)" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"> + <path + id="path1794" + d="M -3.8048674,-3.9585227 0.54352094,0" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1796" + d="M -1.2866832,-3.9585227 3.0617053,0" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1798" + d="M 1.3053582,-3.9585227 5.6537466,0" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1800" + d="M -3.8048674,4.1775838 0.54352094,0.21974226" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1802" + d="M -1.2866832,4.1775838 3.0617053,0.21974226" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1804" + d="M 1.3053582,4.1775838 5.6537466,0.21974226" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + </g> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3630" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path3628" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1779" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3502" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3500" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3432" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3430" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0" + refX="0" + id="marker2286" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2284" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0" + refX="0" + id="marker2048" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2046" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1758" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,10,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-98.13699 : 1.3896707e-14 : 0" + inkscape:vp_y="5.9188454e-15 : 111.76976 : 0" + inkscape:vp_z="28.926462 : 57.932757 : 0" + inkscape:persp3d-origin="-0.58892531 : -100.30464 : 1" + id="perspective1606" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-122.23693 : 1.1566706e-14 : 0" + inkscape:vp_y="7.3723623e-15 : 93.029819 : 0" + inkscape:vp_z="36.030062 : 48.219424 : 0" + inkscape:persp3d-origin="153.0583 : -18.029561 : 1" + id="perspective757" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-119.17398 : 1.1831382e-14 : 0" + inkscape:vp_y="7.187629e-15 : 95.158585 : 0" + inkscape:vp_z="35.127236 : 49.322811 : 0" + inkscape:persp3d-origin="106.62449 : -68.641304 : 1" + id="perspective661" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-459.92803 : 3.7681472e-14 : 0" + inkscape:vp_y="2.7739211e-14 : 303.06818 : 0" + inkscape:vp_z="135.56652 : 157.08698 : 0" + inkscape:persp3d-origin="102.89153 : -31.610259 : 1" + id="perspective645" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-459.92803 : 3.7681472e-14 : 0" + inkscape:vp_y="2.7739211e-14 : 303.06818 : 0" + inkscape:vp_z="135.56652 : 157.08698 : 0" + inkscape:persp3d-origin="33.380895 : -50.567706 : 1" + id="perspective643" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-459.92803 : 3.7681472e-14 : 0" + inkscape:vp_y="2.7739211e-14 : 303.06818 : 0" + inkscape:vp_z="135.56652 : 157.08698 : 0" + inkscape:persp3d-origin="37.593661 : -50.567706 : 1" + id="perspective593" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-459.92803 : 3.7681472e-14 : 0" + inkscape:vp_y="2.7739211e-14 : 303.06818 : 0" + inkscape:vp_z="135.56652 : 157.08698 : 0" + inkscape:persp3d-origin="29.742597 : -49.227281 : 1" + id="perspective577" /> + <linearGradient + id="linearGradient3928-8"> + <stop + offset="0" + style="stop-color:#7c7c7c" + id="stop3930-2" /> + <stop + offset="1" + style="stop-color:#e6e3e3" + id="stop3932-0" /> + </linearGradient> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_16-02"> + <feGaussianBlur + id="imagebot_21-9" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-4" + y2="0.73097426" + xlink:href="#linearGradient3928-8" + x2="36.048218" + y1="43.90382" + x1="35.173683" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_12-3" + width="1.0832" + y="-0.1075" + x="-0.041609999" + height="1.215"> + <feGaussianBlur + id="imagebot_18-5" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-17" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572056" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_16-0"> + <feGaussianBlur + id="imagebot_21-7" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-5" + y2="-235.34229" + xlink:href="#linearGradient3928-8" + x2="33.162106" + y1="-192.16943" + x1="32.287571" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_12-0" + width="1.0832" + y="-0.1075" + x="-0.041609999" + height="1.215"> + <feGaussianBlur + id="imagebot_18-4" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-8" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572056" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_16-0-6"> + <feGaussianBlur + id="imagebot_21-7-2" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-5-9" + y2="-235.34229" + xlink:href="#linearGradient3928-8" + x2="33.162106" + y1="-192.16943" + x1="32.287571" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_12-0-7" + width="1.0832" + y="-0.1075" + x="-0.041609999" + height="1.215"> + <feGaussianBlur + id="imagebot_18-4-0" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-8-9" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572056" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-121.6893 : 9.9698893e-15 : 0" + inkscape:vp_y="7.339333e-15 : 80.186788 : 0" + inkscape:vp_z="35.868642 : 41.562596 : 0" + inkscape:persp3d-origin="3.298386 : 0.15932447 : 1" + id="perspective4764" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-190.57139 : 1.134891e-14 : 0" + inkscape:vp_y="1.1493756e-14 : 91.278115 : 0" + inkscape:vp_z="56.172051 : 47.311474 : 0" + inkscape:persp3d-origin="-2.655313 : -15.55422 : 1" + id="perspective4764-3" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-50.422014 : 3.0027325e-15 : 0" + inkscape:vp_y="3.0410562e-15 : 24.150668 : 0" + inkscape:vp_z="14.862188 : 12.517827 : 0" + inkscape:persp3d-origin="149.0735 : 3.565001 : 1" + id="perspective4764-3-0" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-32.19696 : 2.6378665e-15 : 0" + inkscape:vp_y="1.9418652e-15 : 21.216088 : 0" + inkscape:vp_z="9.4902448 : 10.99677 : 0" + inkscape:persp3d-origin="94.210831 : -3.8193273 : 1" + id="perspective4764-2" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-78.907066 : 9.8723624e-15 : 0" + inkscape:vp_y="4.7590483e-15 : 79.402391 : 0" + inkscape:vp_z="23.258325 : 41.156027 : 0" + inkscape:persp3d-origin="98.804849 : -31.776498 : 1" + id="perspective4764-6" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3432-8" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3430-8" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3502-4" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3500-9" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker5877-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5875-0" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="3.6900556" + inkscape:cx="235.18981" + inkscape:cy="192.34906" + inkscape:document-units="pt" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:window-width="3200" + inkscape:window-height="1755" + inkscape:window-x="0" + inkscape:window-y="45" + inkscape:window-maximized="1" + inkscape:snap-others="true" + inkscape:object-nodes="true" + inkscape:snap-nodes="true" + inkscape:object-paths="false" + inkscape:snap-smooth-nodes="true" + inkscape:snap-intersection-paths="false" + inkscape:snap-midpoints="false"> + <inkscape:grid + type="xygrid" + id="grid5517" /> + </sodipodi:namedview> + <metadata + id="metadata4945"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-191)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;line-height:1.25;font-family:FreeMono;-inkscape-font-specification:FreeMono;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="14.497733" + y="214.38127" + id="text739"><tspan + sodipodi:role="line" + x="14.497733" + y="214.38127" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#000000;stroke:#000000;stroke-width:0.26458332;stroke-opacity:1" + id="tspan745"><contacts</tspan><tspan + sodipodi:role="line" + x="14.497733" + y="223.20071" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#000000;stroke:#000000;stroke-width:0.26458332;stroke-opacity:1" + id="tspan5233"> <tspan + style="fill:#00ff00;stroke:#00ff00" + id="tspan5271">day="21"</tspan></tspan><tspan + sodipodi:role="line" + x="14.497733" + y="232.02016" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#000000;stroke:#000000;stroke-width:0.26458332;stroke-opacity:1" + id="tspan5227"> <tspan + style="fill:#00ff00;stroke:#00ff00" + id="tspan5273">month='13'</tspan></tspan><tspan + sodipodi:role="line" + x="14.497733" + y="240.8396" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#000000;stroke:#000000;stroke-width:0.26458332;stroke-opacity:1" + id="tspan5235"> <tspan + style="fill:#ff0000;stroke:#ff0000" + id="tspan5275">year=1997></tspan></tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="116.41666" + y="193.8125" + id="text5394"><tspan + sodipodi:role="line" + id="tspan5392" + x="116.41666" + y="199.92665" + style="stroke-width:0.26458332" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="47.625" + y="172.64583" + id="text2700"><tspan + sodipodi:role="line" + id="tspan2698" + x="47.625" + y="178.75998" + style="stroke-width:0.26458332" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="97.895836" + y="164.70833" + id="text2707"><tspan + sodipodi:role="line" + id="tspan2705" + x="97.895836" + y="170.82248" + style="stroke-width:0.26458332" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="72.760414" + y="245.40625" + id="text5143"><tspan + sodipodi:role="line" + id="tspan5141" + x="72.760414" + y="254.77002" + style="stroke-width:0.26458332px"></tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:7.05555534px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="74.577324" + y="223.2605" + id="text5187"><tspan + sodipodi:role="line" + id="tspan5185" + x="74.577324" + y="223.2605" + style="fill:#00ff00;stroke-width:0.26458332px"><tspan + style="stroke:#00ff00" + id="tspan5277">o.K</tspan>.</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:7.05555534px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="74.298828" + y="240.72345" + id="text5191"><tspan + sodipodi:role="line" + id="tspan5189" + x="74.298828" + y="240.72345" + style="line-height:1.25;fill:#ff0000;stroke:#ff0000;stroke-width:0.26458332px">not o.K. </tspan><tspan + sodipodi:role="line" + x="74.298828" + y="249.54289" + style="line-height:1.25;fill:#ff0000;stroke:#ff0000;stroke-width:0.26458332px" + id="tspan5269">(missing quotes)</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:7.05555534px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="3.96875" + y="229.53125" + id="text5231"><tspan + sodipodi:role="line" + id="tspan5229" + x="3.96875" + y="235.77376" + style="stroke-width:0.26458332px" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:7.05555534px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="74.37648" + y="231.73221" + id="text5187-7"><tspan + sodipodi:role="line" + id="tspan5185-0" + x="74.37648" + y="231.73221" + style="fill:#00ff00;stroke-width:0.26458332px"><tspan + style="stroke:#00ff00" + id="tspan5279">o.K</tspan>.</tspan></text> + </g> +</svg> diff --git a/Sda1/XmlSchema/Ref/Fig/wellformedProperNesting.svg b/Sda1/XmlSchema/Ref/Fig/wellformedProperNesting.svg new file mode 100644 index 0000000000000000000000000000000000000000..2e62ebc2a02bf1306c6405d8cd5f4933120425bd --- /dev/null +++ b/Sda1/XmlSchema/Ref/Fig/wellformedProperNesting.svg @@ -0,0 +1,636 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="150mm" + height="106mm" + viewBox="0 0 150 106" + version="1.1" + id="svg4948" + inkscape:version="0.92.1 r15371" + sodipodi:docname="wellformedProperNesting.svg"> + <defs + id="defs4942"> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker5877" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5875" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Tail" + orient="auto" + refY="0" + refX="0" + id="Tail" + style="overflow:visible" + inkscape:isstock="true"> + <g + id="g1806" + transform="scale(-1.2)" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"> + <path + id="path1794" + d="M -3.8048674,-3.9585227 0.54352094,0" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1796" + d="M -1.2866832,-3.9585227 3.0617053,0" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1798" + d="M 1.3053582,-3.9585227 5.6537466,0" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1800" + d="M -3.8048674,4.1775838 0.54352094,0.21974226" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1802" + d="M -1.2866832,4.1775838 3.0617053,0.21974226" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="path1804" + d="M 1.3053582,4.1775838 5.6537466,0.21974226" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;stroke-opacity:1" + inkscape:connector-curvature="0" /> + </g> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3630" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path3628" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1779" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3502" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3500" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3432" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3430" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0" + refX="0" + id="marker2286" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2284" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0" + refX="0" + id="marker2048" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2046" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1758" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,10,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-98.13699 : 1.3896707e-14 : 0" + inkscape:vp_y="5.9188454e-15 : 111.76976 : 0" + inkscape:vp_z="28.926462 : 57.932757 : 0" + inkscape:persp3d-origin="-0.58892531 : -100.30464 : 1" + id="perspective1606" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-122.23693 : 1.1566706e-14 : 0" + inkscape:vp_y="7.3723623e-15 : 93.029819 : 0" + inkscape:vp_z="36.030062 : 48.219424 : 0" + inkscape:persp3d-origin="153.0583 : -18.029561 : 1" + id="perspective757" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-119.17398 : 1.1831382e-14 : 0" + inkscape:vp_y="7.187629e-15 : 95.158585 : 0" + inkscape:vp_z="35.127236 : 49.322811 : 0" + inkscape:persp3d-origin="106.62449 : -68.641304 : 1" + id="perspective661" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-459.92803 : 3.7681472e-14 : 0" + inkscape:vp_y="2.7739211e-14 : 303.06818 : 0" + inkscape:vp_z="135.56652 : 157.08698 : 0" + inkscape:persp3d-origin="102.89153 : -31.610259 : 1" + id="perspective645" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-459.92803 : 3.7681472e-14 : 0" + inkscape:vp_y="2.7739211e-14 : 303.06818 : 0" + inkscape:vp_z="135.56652 : 157.08698 : 0" + inkscape:persp3d-origin="33.380895 : -50.567706 : 1" + id="perspective643" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-459.92803 : 3.7681472e-14 : 0" + inkscape:vp_y="2.7739211e-14 : 303.06818 : 0" + inkscape:vp_z="135.56652 : 157.08698 : 0" + inkscape:persp3d-origin="37.593661 : -50.567706 : 1" + id="perspective593" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-459.92803 : 3.7681472e-14 : 0" + inkscape:vp_y="2.7739211e-14 : 303.06818 : 0" + inkscape:vp_z="135.56652 : 157.08698 : 0" + inkscape:persp3d-origin="29.742597 : -49.227281 : 1" + id="perspective577" /> + <linearGradient + id="linearGradient3928-8"> + <stop + offset="0" + style="stop-color:#7c7c7c" + id="stop3930-2" /> + <stop + offset="1" + style="stop-color:#e6e3e3" + id="stop3932-0" /> + </linearGradient> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_16-02"> + <feGaussianBlur + id="imagebot_21-9" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-4" + y2="0.73097426" + xlink:href="#linearGradient3928-8" + x2="36.048218" + y1="43.90382" + x1="35.173683" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_12-3" + width="1.0832" + y="-0.1075" + x="-0.041609999" + height="1.215"> + <feGaussianBlur + id="imagebot_18-5" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-17" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572056" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_16-0"> + <feGaussianBlur + id="imagebot_21-7" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-5" + y2="-235.34229" + xlink:href="#linearGradient3928-8" + x2="33.162106" + y1="-192.16943" + x1="32.287571" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_12-0" + width="1.0832" + y="-0.1075" + x="-0.041609999" + height="1.215"> + <feGaussianBlur + id="imagebot_18-4" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-8" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572056" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_16-0-6"> + <feGaussianBlur + id="imagebot_21-7-2" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-5-9" + y2="-235.34229" + xlink:href="#linearGradient3928-8" + x2="33.162106" + y1="-192.16943" + x1="32.287571" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_12-0-7" + width="1.0832" + y="-0.1075" + x="-0.041609999" + height="1.215"> + <feGaussianBlur + id="imagebot_18-4-0" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-8-9" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572056" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-121.6893 : 9.9698893e-15 : 0" + inkscape:vp_y="7.339333e-15 : 80.186788 : 0" + inkscape:vp_z="35.868642 : 41.562596 : 0" + inkscape:persp3d-origin="3.298386 : 0.15932447 : 1" + id="perspective4764" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-190.57139 : 1.134891e-14 : 0" + inkscape:vp_y="1.1493756e-14 : 91.278115 : 0" + inkscape:vp_z="56.172051 : 47.311474 : 0" + inkscape:persp3d-origin="-2.655313 : -15.55422 : 1" + id="perspective4764-3" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-50.422014 : 3.0027325e-15 : 0" + inkscape:vp_y="3.0410562e-15 : 24.150668 : 0" + inkscape:vp_z="14.862188 : 12.517827 : 0" + inkscape:persp3d-origin="149.0735 : 3.565001 : 1" + id="perspective4764-3-0" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-32.19696 : 2.6378665e-15 : 0" + inkscape:vp_y="1.9418652e-15 : 21.216088 : 0" + inkscape:vp_z="9.4902448 : 10.99677 : 0" + inkscape:persp3d-origin="94.210831 : -3.8193273 : 1" + id="perspective4764-2" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-78.907066 : 9.8723624e-15 : 0" + inkscape:vp_y="4.7590483e-15 : 79.402391 : 0" + inkscape:vp_z="23.258325 : 41.156027 : 0" + inkscape:persp3d-origin="98.804849 : -31.776498 : 1" + id="perspective4764-6" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3432-8" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3430-8" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker3502-4" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path3500-9" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker5877-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5875-0" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="3.6900556" + inkscape:cx="249.08843" + inkscape:cy="224.8689" + inkscape:document-units="pt" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:window-width="3200" + inkscape:window-height="1755" + inkscape:window-x="0" + inkscape:window-y="45" + inkscape:window-maximized="1" + inkscape:snap-others="true" + inkscape:object-nodes="true" + inkscape:snap-nodes="true" + inkscape:object-paths="false" + inkscape:snap-smooth-nodes="true" + inkscape:snap-intersection-paths="false" + inkscape:snap-midpoints="false"> + <inkscape:grid + type="xygrid" + id="grid5517" /> + </sodipodi:namedview> + <metadata + id="metadata4945"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-191)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;line-height:1.25;font-family:FreeMono;-inkscape-font-specification:FreeMono;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="14.497733" + y="214.38127" + id="text739"><tspan + sodipodi:role="line" + x="14.497733" + y="214.38127" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#ff0000;stroke:#ff0000;stroke-width:0.26458332;stroke-opacity:1" + id="tspan741"><contacts></tspan><tspan + sodipodi:role="line" + x="14.497733" + y="223.20073" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;stroke-width:0.26458332" + id="tspan743"> <tspan + style="font-size:7.05555582px;fill:#00ff00;stroke:#00ff00" + id="tspan5097"><person></tspan></tspan><tspan + sodipodi:role="line" + x="14.497733" + y="232.02016" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;stroke-width:0.26458332" + id="tspan5095"> ... </tspan><tspan + sodipodi:role="line" + x="14.497733" + y="240.83961" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;stroke-width:0.26458332" + id="tspan747"> <tspan + style="font-size:7.05555582px;fill:#00ff00;stroke:#00ff00" + id="tspan5099"></person></tspan></tspan><tspan + sodipodi:role="line" + x="14.497733" + y="249.65904" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#ff0000;stroke:#ff0000;stroke-width:0.26458332;stroke-opacity:1" + id="tspan745"></contacts></tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="116.41666" + y="193.8125" + id="text5394"><tspan + sodipodi:role="line" + id="tspan5392" + x="116.41666" + y="199.92665" + style="stroke-width:0.26458332" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="47.625" + y="172.64583" + id="text2700"><tspan + sodipodi:role="line" + id="tspan2698" + x="47.625" + y="178.75998" + style="stroke-width:0.26458332" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="97.895836" + y="164.70833" + id="text2707"><tspan + sodipodi:role="line" + id="tspan2705" + x="97.895836" + y="170.82248" + style="stroke-width:0.26458332" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;line-height:1.25;font-family:FreeMono;-inkscape-font-specification:FreeMono;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="100.88485" + y="213.81816" + id="text739-3"><tspan + sodipodi:role="line" + x="100.88485" + y="213.81816" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#ff0000;stroke:#ff0000;stroke-width:0.26458332;stroke-opacity:1" + id="tspan741-6"><contacts></tspan><tspan + sodipodi:role="line" + x="100.88485" + y="222.63762" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#00ff00;stroke:#00ff00;stroke-width:0.26458332" + id="tspan743-7"> <person></tspan><tspan + sodipodi:role="line" + x="100.88485" + y="231.45705" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;stroke-width:0.26458332" + id="tspan5095-3"> ... </tspan><tspan + sodipodi:role="line" + x="100.88485" + y="240.2765" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#ff0000;stroke:#ff0000;stroke-width:0.26458332" + id="tspan747-5"></contacts></tspan><tspan + sodipodi:role="line" + x="100.88485" + y="249.09593" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555582px;font-family:FreeMono;-inkscape-font-specification:FreeMono;fill:#ff0000;stroke:#ff0000;stroke-width:0.26458332;stroke-opacity:1" + id="tspan745-2"> <tspan + style="fill:#00ff00;stroke:#00ff00" + id="tspan5145"></person></tspan></tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="72.760414" + y="245.40625" + id="text5143"><tspan + sodipodi:role="line" + id="tspan5141" + x="72.760414" + y="254.77002" + style="stroke-width:0.26458332px"></tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 11.90625,212.33333 H 3.9687497 v 35.71875 H 11.90625" + id="path5147" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 22.489583,221.59375 h -7.9375 v 17.19791 h 7.9375" + id="path5147-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 99.218753,212.33333 H 91.28125 v 26.45833 h 7.937503" + id="path5147-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.70555556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 108.47917,220.27083 H 96.572917 v 26.45833 h 11.906253" + id="path5147-1-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:7.05555534px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="23.310589" + y="199.88574" + id="text5187"><tspan + sodipodi:role="line" + id="tspan5185" + x="23.310589" + y="199.88574" + style="stroke-width:0.26458332px">o.K.</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:7.05555534px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="100.54166" + y="200.42708" + id="text5191"><tspan + sodipodi:role="line" + id="tspan5189" + x="100.54166" + y="200.42708" + style="stroke-width:0.26458332px">not o.K.</tspan></text> + </g> +</svg> diff --git a/Sda1/XmlSchema/xmlschema.xml b/Sda1/XmlSchema/xmlschema.xml new file mode 100644 index 0000000000000000000000000000000000000000..396084d306f71e10c2e6ab8549db3e8a346b0189 --- /dev/null +++ b/Sda1/XmlSchema/xmlschema.xml @@ -0,0 +1,216 @@ +<?xml version="1.0" encoding="UTF-8"?> +<chapter annotations="slide" version="5.1" xml:id="sda1_xmlschema" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:trans="http://docbook.org/ns/transclusion" xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook"> + <title>XML Schema</title> + + <figure xml:id="sda1_xmlschema_recommendedReading"> + <title>Recommended Reading</title> + + <itemizedlist> + <listitem> + <para><xref linkend="bib_fawcett2012"/></para> + </listitem> + + <listitem> + <para><xref linkend="bib_Walmsley02"/></para> + </listitem> + + <listitem> + <para><link xlink:href="https://www.w3schools.com/xml/schema_intro.asp">XML Schema Tutorial</link></para> + </listitem> + </itemizedlist> + </figure> + + <section xml:id="sda1_xmlschema_wellFormed"> + <title>Well formed XML documents</title> + + <para><xref linkend="glo_XML"/> allows for inventing arbitrary dialects. We consider an address database:</para> + + <figure xml:id="sda1_xmlschema_inventDialect"> + <title>Inventing an address format</title> + + <programlisting language="xml"><?xml version="1.0" encoding="UTF-8"? > <co linkends="sda1_xmlschema_inventDialect-2" xml:id="sda1_xmlschema_inventDialect-2-co"/> +<contacts> <co linkends="sda1_xmlschema_inventDialect-3" xml:id="sda1_xmlschema_inventDialect-3-co"/> + <person> <co linkends="sda1_xmlschema_inventDialect-4" xml:id="sda1_xmlschema_inventDialect-4-co"/> + <firstName>Jeff</firstName> + <lastName>Smith</lastName> + <mail>jeff@smith.com</mail> + <birth day="22" <co linkends="sda1_xmlschema_inventDialect-5" xml:id="sda1_xmlschema_inventDialect-5-co"/> month="11" year="1997"/> + </person> + ... +</contacts></programlisting> + </figure> + + <para>We explain some conventions:</para> + + <calloutlist> + <callout arearefs="sda1_xmlschema_inventDialect-2-co" xml:id="sda1_xmlschema_inventDialect-2"> + <para>Optional header providing the documents <xref linkend="glo_XML"/> compatibility version and its internal font encoding.</para> + </callout> + + <callout arearefs="sda1_xmlschema_inventDialect-3-co" xml:id="sda1_xmlschema_inventDialect-3"> + <para>The documents unique root element. <tag class="starttag">contacts</tag> does have exactly one child element <tag class="starttag">person</tag>.</para> + </callout> + + <callout arearefs="sda1_xmlschema_inventDialect-4-co" xml:id="sda1_xmlschema_inventDialect-4"> + <para>The <tag class="starttag">person</tag> element has got the parent element <tag class="starttag">contacts</tag>. It also has got three child elements (or children for short) <tag class="starttag">firstName</tag>, <tag class="starttag">lastName</tag> and <tag class="starttag">birth</tag>.</para> + </callout> + + <callout arearefs="sda1_xmlschema_inventDialect-5-co" xml:id="sda1_xmlschema_inventDialect-5"> + <para>Like its predecessors <tag class="starttag">firstName</tag> and <tag class="starttag">lastName</tag> the element <tag class="starttag">birth</tag> is said to have <tag class="starttag">person</tag> as its parent element. In addition <tag class="starttag">birth</tag> does have three attributes <property>day</property>, <property>month</property> and <property>year</property>.</para> + + <para>Attribute names must be unique within a given element's scope. Consider the following <xref linkend="glo_Java"/> class analogy:</para> + + <programlisting language="java">public class Birth { + int day=22, month=11, year=1997; + ... +}</programlisting> + </callout> + </calloutlist> + + <figure xml:id="sda1_xmlschema_wellFormed_Constraints"> + <title>Constraints of well- formedness</title> + + <itemizedlist> + <listitem> + <para>Specification <link xlink:href="https://www.w3.org/TR/2006/REC-xml-20060816/#sec-well-formed">at W3C</link>.</para> + </listitem> + + <listitem> + <para/> + </listitem> + </itemizedlist> + </figure> + + <figure xml:id="sda1_xmlschema_wellFormed_nesting"> + <title>Proper nesting</title> + + <mediaobject> + <imageobject> + <imagedata fileref="Ref/Fig/wellformedProperNesting.svg"/> + </imageobject> + </mediaobject> + </figure> + + <figure xml:id="sda1_xmlschema_wellFormed_quotes"> + <title>Attribute quotes</title> + + <mediaobject> + <imageobject> + <imagedata fileref="Ref/Fig/wellformedAttribQuote.svg"/> + </imageobject> + </mediaobject> + </figure> + + <figure xml:id="sda1_xmlschema_wellFormed_oneRoot"> + <title>Exactly one root element</title> + + <glosslist> + <glossentry> + <glossterm>Correct: Exactly one root element</glossterm> + + <glossdef> + <programlisting language="xml"><iAmRootElement/></programlisting> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Wrong: Two root elements</glossterm> + + <glossdef> + <programlisting language="xml"><iAmRootElement/> +<iAmYourSibling /></programlisting> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Wrong: No root element at all</glossterm> + + <glossdef> + <programlisting language="xml"><?xml version="1.0" encoding="UTF-8"? > +<!-- Noting here but a lousy comment! --></programlisting> + </glossdef> + </glossentry> + </glosslist> + </figure> + + <figure xml:id="sda1_xmlschema_wellFormed_attribNameUnique"> + <title>Unique attribute names</title> + + <glosslist> + <glossentry> + <glossterm>Correct: unique attribute names within an element's scope </glossterm> + + <glossdef> + <programlisting language="xml"><meeting day="22" hour="4 PM"/></programlisting> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Wrong: Duplicate attribute names within an element's scope </glossterm> + + <glossdef> + <programlisting language="xml"><meeting day="22" hour="4 PM" day="22"/></programlisting> + </glossdef> + </glossentry> + </glosslist> + + <para>See <link xlink:href="https://www.w3.org/TR/2006/REC-xml-20060816/#uniqattspec">W3C specification</link>.</para> + </figure> + + <figure xml:id="sda1_xmlschema_wellFormed_attribNoOpenBracket"> + <title>Attribute value disallows <quote><</quote></title> + + <programlisting language="xml"><boolean term="2 < 3" /></programlisting> + + <para>Parser error: <code>The value of attribute "term" associated with an element type "boolean" must not contain the '<' character.</code></para> + + <para>See <link xlink:href="https://www.w3.org/TR/2006/REC-xml-20060816/#CleanAttrVals">W3C specification</link>.</para> + </figure> + + <qandaset defaultlabel="qanda" xml:id="sda1_qanda_xmlschema_wellFormed_attribNoOpenBracket"> + <title>Legal attribute values</title> + + <qandadiv> + <qandaentry> + <question> + <para>What about <quote>></quote> in attribute values? Set up a test file and let your parser of choice doing the work.</para> + + <tip> + <para>The Oxygen XML <xref linkend="glo_IDE"/>'s icon:</para> + </tip> + + <mediaobject> + <imageobjectco> + <areaspec otherunits="imagemap" units="other"> + <area coords="-3,255,189,301" linkends="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-1" xml:id="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-1-co"/> + + <area coords="33,142,364,175" linkends="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-2" xml:id="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-2-co"/> + + <area coords="0,50,42,93" linkends="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-3" xml:id="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-3-co"/> + </areaspec> + + <imageobject> + <imagedata fileref="Ref/Fig/oxygenCheckWellformed.png"/> + </imageobject> + + <calloutlist> + <callout arearefs="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-1-co" xml:id="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-1"> + <para>Icon checking for well-formedness and validity.</para> + </callout> + + <callout arearefs="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-2-co" xml:id="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-2"> + <para>Sub menu choosing between checking for well- formedness and validation.</para> + </callout> + + <callout arearefs="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-3-co" xml:id="sda1_co_xmlschema_wellFormed_attribNoOpenBracket-3"> + <para>Result message well- formed / not well- formed or valid / not valid respectively.</para> + </callout> + </calloutlist> + </imageobjectco> + </mediaobject> + </question> + </qandaentry> + </qandadiv> + </qandaset> + </section> +</chapter> diff --git a/Sda1/sda1.xml b/Sda1/sda1.xml new file mode 100644 index 0000000000000000000000000000000000000000..3ba2b025d53bfa04f98f0e8f29042e5a141c38e0 --- /dev/null +++ b/Sda1/sda1.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<book version="5.1" xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:trans="http://docbook.org/ns/transclusion" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:m="http://www.w3.org/1998/Math/MathML" + xmlns:html="http://www.w3.org/1999/xhtml" + xmlns:db="http://docbook.org/ns/docbook"> + <info> + <title/> + + <author> + <personname><firstname/><surname/></personname> + + <affiliation> + <orgname/> + </affiliation> + </author> + + <pubdate/> + </info> + + <xi:include href="XmlSchema/xmlschema.xml" xpointer="element(/1)"/> + + <xi:include href="../Doc/Common/bibliography.xml" xpointer="element(/1)"/> + + <xi:include href="../Doc/Common/glossary.xml" xpointer="element(/1)"/> +</book>