New article "fhir date parameters", config changes for multilanguage

support, tarnslations for existing pages and articles
This commit is contained in:
2026-08-13 12:44:58 +02:00
parent d3b3be30f0
commit cac298e745
25 changed files with 1916 additions and 34 deletions
@@ -0,0 +1,124 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="1056" viewBox="0 0 1000 1056" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#2e7d32"] { fill: #66bb6a; }
[stroke="#2e7d32"] { stroke: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[stroke="#c62828"] { stroke: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
[stroke="#1565c0"] { stroke: #64b5f6; }
[fill="#6a1b9a"] { fill: #ba68c8; }
[stroke="#6a1b9a"] { stroke: #ba68c8; }
[fill="#ad1457"] { fill: #f06292; }
[stroke="#ad1457"] { stroke: #f06292; }
[fill="#bf360c"] { fill: #ff7043; }
[stroke="#bf360c"] { stroke: #ff7043; }
[fill="#e65100"] { fill: #ffa726; }
[stroke="#e65100"] { stroke: #ffa726; }
[fill="#00838f"] { fill: #4dd0e1; }
[stroke="#00838f"] { stroke: #4dd0e1; }
[fill="#004d40"] { fill: #26a69a; }
[stroke="#004d40"] { stroke: #26a69a; }
}
</style>
<text x="500.0" y="24" font-size="15" fill="#555" text-anchor="middle">Roter gestrichelter Marker = Suchwert 2023-06-15 • Farbig schattierter Bereich = Bereich, der als Treffer gilt</text>
<text x="60" y="56" font-size="15" font-weight="700" fill="#111">eq — gleich</text>
<text x="940" y="56" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=eq2023-06-15</text>
<rect x="475.0" y="82" width="50.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="92" x2="940" y2="92" stroke="#333" stroke-width="2"/>
<polygon points="940,92 932,87 932,97" fill="#333"/>
<line x1="475.0" y1="78" x2="475.0" y2="106" stroke="#2e7d32" stroke-width="3"/>
<line x1="525.0" y1="78" x2="525.0" y2="106" stroke="#2e7d32" stroke-width="3"/>
<line x1="500.0" y1="68" x2="500.0" y2="116" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="92" r="4.5" fill="#c62828"/>
<text x="500.0" y="62" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="138" font-size="12" fill="#444" font-style="italic">Resource-Intervall liegt vollstaendig im Such-Intervall.</text>
<text x="60" y="166" font-size="15" font-weight="700" fill="#111">ne — ungleich</text>
<text x="940" y="166" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ne2023-06-15</text>
<rect x="60" y="192" width="415.0" height="20" fill="#ad1457" opacity="0.22"/>
<rect x="525.0" y="192" width="415.0" height="20" fill="#ad1457" opacity="0.22"/>
<line x1="60" y1="202" x2="940" y2="202" stroke="#333" stroke-width="2"/>
<polygon points="940,202 932,197 932,207" fill="#333"/>
<line x1="475.0" y1="188" x2="475.0" y2="216" stroke="#ad1457" stroke-width="3"/>
<line x1="525.0" y1="188" x2="525.0" y2="216" stroke="#ad1457" stroke-width="3"/>
<line x1="500.0" y1="178" x2="500.0" y2="226" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="202" r="4.5" fill="#c62828"/>
<text x="500.0" y="172" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="248" font-size="12" fill="#444" font-style="italic">Resource-Intervall liegt NICHT vollstaendig im Such-Intervall (Komplement von eq).</text>
<text x="60" y="276" font-size="15" font-weight="700" fill="#111">gt — groesser als</text>
<text x="940" y="276" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt2023-06-15</text>
<rect x="525.0" y="302" width="415.0" height="20" fill="#e65100" opacity="0.22"/>
<line x1="60" y1="312" x2="940" y2="312" stroke="#333" stroke-width="2"/>
<polygon points="940,312 932,307 932,317" fill="#333"/>
<line x1="525.0" y1="298" x2="525.0" y2="326" stroke="#e65100" stroke-width="3" />
<line x1="500.0" y1="288" x2="500.0" y2="336" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="312" r="4.5" fill="#c62828"/>
<text x="500.0" y="282" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="358" font-size="12" fill="#444" font-style="italic">Resource-Intervall ragt ueber das Ende des Such-Intervalls hinaus (Overlap genuegt).</text>
<text x="60" y="386" font-size="15" font-weight="700" fill="#111">lt — kleiner als</text>
<text x="940" y="386" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=lt2023-06-15</text>
<rect x="60" y="412" width="415.0" height="20" fill="#00838f" opacity="0.22"/>
<line x1="60" y1="422" x2="940" y2="422" stroke="#333" stroke-width="2"/>
<polygon points="940,422 932,417 932,427" fill="#333"/>
<line x1="475.0" y1="408" x2="475.0" y2="436" stroke="#00838f" stroke-width="3" />
<line x1="500.0" y1="398" x2="500.0" y2="446" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="422" r="4.5" fill="#c62828"/>
<text x="500.0" y="392" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="468" font-size="12" fill="#444" font-style="italic">Resource-Intervall beginnt vor dem Anfang des Such-Intervalls (Overlap genuegt).</text>
<text x="60" y="496" font-size="15" font-weight="700" fill="#111">ge — groesser/gleich</text>
<text x="940" y="496" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-06-15</text>
<rect x="475.0" y="522" width="465.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="532" x2="940" y2="532" stroke="#333" stroke-width="2"/>
<polygon points="940,532 932,527 932,537" fill="#333"/>
<line x1="475.0" y1="518" x2="475.0" y2="546" stroke="#2e7d32" stroke-width="3" />
<line x1="500.0" y1="508" x2="500.0" y2="556" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="532" r="4.5" fill="#c62828"/>
<text x="500.0" y="502" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="578" font-size="12" fill="#444" font-style="italic">gt ODER vollstaendig im Such-Intervall enthalten (eq).</text>
<text x="60" y="606" font-size="15" font-weight="700" fill="#111">le — kleiner/gleich</text>
<text x="940" y="606" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=le2023-06-15</text>
<rect x="60" y="632" width="465.0" height="20" fill="#1565c0" opacity="0.22"/>
<line x1="60" y1="642" x2="940" y2="642" stroke="#333" stroke-width="2"/>
<polygon points="940,642 932,637 932,647" fill="#333"/>
<line x1="525.0" y1="628" x2="525.0" y2="656" stroke="#1565c0" stroke-width="3" />
<line x1="500.0" y1="618" x2="500.0" y2="666" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="642" r="4.5" fill="#c62828"/>
<text x="500.0" y="612" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="688" font-size="12" fill="#444" font-style="italic">lt ODER vollstaendig im Such-Intervall enthalten (eq).</text>
<text x="60" y="716" font-size="15" font-weight="700" fill="#111">sa — startet nach (starts after)</text>
<text x="940" y="716" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa2023-06-15</text>
<rect x="525.0" y="742" width="415.0" height="20" fill="#bf360c" opacity="0.22"/>
<line x1="60" y1="752" x2="940" y2="752" stroke="#333" stroke-width="2"/>
<polygon points="940,752 932,747 932,757" fill="#333"/>
<line x1="525.0" y1="738" x2="525.0" y2="766" stroke="#bf360c" stroke-width="3" stroke-dasharray="4,4"/>
<line x1="500.0" y1="728" x2="500.0" y2="776" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="752" r="4.5" fill="#c62828"/>
<text x="500.0" y="722" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="798" font-size="12" fill="#444" font-style="italic">Resource-Intervall beginnt vollstaendig nach dem Ende des Such-Intervalls, keine Ueberlappung (strikter als gt bei Ranges).</text>
<text x="60" y="826" font-size="15" font-weight="700" fill="#111">eb — endet vor (ends before)</text>
<text x="940" y="826" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=eb2023-06-15</text>
<rect x="60" y="852" width="415.0" height="20" fill="#004d40" opacity="0.22"/>
<line x1="60" y1="862" x2="940" y2="862" stroke="#333" stroke-width="2"/>
<polygon points="940,862 932,857 932,867" fill="#333"/>
<line x1="475.0" y1="848" x2="475.0" y2="876" stroke="#004d40" stroke-width="3" stroke-dasharray="4,4"/>
<line x1="500.0" y1="838" x2="500.0" y2="886" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="862" r="4.5" fill="#c62828"/>
<text x="500.0" y="832" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="908" font-size="12" fill="#444" font-style="italic">Resource-Intervall endet vollstaendig vor dem Beginn des Such-Intervalls, keine Ueberlappung (strikter als lt bei Ranges).</text>
<text x="60" y="936" font-size="15" font-weight="700" fill="#111">ap — ungefaehr (approximately)</text>
<text x="940" y="936" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ap2023-06-15</text>
<rect x="440.0" y="962" width="120" height="20" fill="#6a1b9a" opacity="0.22"/>
<line x1="60" y1="972" x2="940" y2="972" stroke="#333" stroke-width="2"/>
<polygon points="940,972 932,967 932,977" fill="#333"/>
<line x1="440.0" y1="958" x2="440.0" y2="986" stroke="#6a1b9a" stroke-width="3"/>
<line x1="560.0" y1="958" x2="560.0" y2="986" stroke="#6a1b9a" stroke-width="3"/>
<line x1="500.0" y1="948" x2="500.0" y2="996" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="972" r="4.5" fill="#c62828"/>
<text x="500.0" y="942" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="1018" font-size="12" fill="#444" font-style="italic">Resource-Datum liegt 'in der Naehe' des Suchwerts (implementierungsabhaengige Toleranz, z.B. +/-10%).</text>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,124 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="1056" viewBox="0 0 1000 1056" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#2e7d32"] { fill: #66bb6a; }
[stroke="#2e7d32"] { stroke: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[stroke="#c62828"] { stroke: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
[stroke="#1565c0"] { stroke: #64b5f6; }
[fill="#6a1b9a"] { fill: #ba68c8; }
[stroke="#6a1b9a"] { stroke: #ba68c8; }
[fill="#ad1457"] { fill: #f06292; }
[stroke="#ad1457"] { stroke: #f06292; }
[fill="#bf360c"] { fill: #ff7043; }
[stroke="#bf360c"] { stroke: #ff7043; }
[fill="#e65100"] { fill: #ffa726; }
[stroke="#e65100"] { stroke: #ffa726; }
[fill="#00838f"] { fill: #4dd0e1; }
[stroke="#00838f"] { stroke: #4dd0e1; }
[fill="#004d40"] { fill: #26a69a; }
[stroke="#004d40"] { stroke: #26a69a; }
}
</style>
<text x="500.0" y="24" font-size="15" fill="#555" text-anchor="middle">Red dashed marker = search value 2023-06-15 • Colored shaded area = range considered a match</text>
<text x="60" y="56" font-size="15" font-weight="700" fill="#111">eq — equal to</text>
<text x="940" y="56" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=eq2023-06-15</text>
<rect x="475.0" y="82" width="50.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="92" x2="940" y2="92" stroke="#333" stroke-width="2"/>
<polygon points="940,92 932,87 932,97" fill="#333"/>
<line x1="475.0" y1="78" x2="475.0" y2="106" stroke="#2e7d32" stroke-width="3"/>
<line x1="525.0" y1="78" x2="525.0" y2="106" stroke="#2e7d32" stroke-width="3"/>
<line x1="500.0" y1="68" x2="500.0" y2="116" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="92" r="4.5" fill="#c62828"/>
<text x="500.0" y="62" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="138" font-size="12" fill="#444" font-style="italic">Resource interval lies fully within the search interval.</text>
<text x="60" y="166" font-size="15" font-weight="700" fill="#111">ne — not equal to</text>
<text x="940" y="166" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ne2023-06-15</text>
<rect x="60" y="192" width="415.0" height="20" fill="#ad1457" opacity="0.22"/>
<rect x="525.0" y="192" width="415.0" height="20" fill="#ad1457" opacity="0.22"/>
<line x1="60" y1="202" x2="940" y2="202" stroke="#333" stroke-width="2"/>
<polygon points="940,202 932,197 932,207" fill="#333"/>
<line x1="475.0" y1="188" x2="475.0" y2="216" stroke="#ad1457" stroke-width="3"/>
<line x1="525.0" y1="188" x2="525.0" y2="216" stroke="#ad1457" stroke-width="3"/>
<line x1="500.0" y1="178" x2="500.0" y2="226" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="202" r="4.5" fill="#c62828"/>
<text x="500.0" y="172" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="248" font-size="12" fill="#444" font-style="italic">Resource interval does NOT lie fully within the search interval (complement of eq).</text>
<text x="60" y="276" font-size="15" font-weight="700" fill="#111">gt — greater than</text>
<text x="940" y="276" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt2023-06-15</text>
<rect x="525.0" y="302" width="415.0" height="20" fill="#e65100" opacity="0.22"/>
<line x1="60" y1="312" x2="940" y2="312" stroke="#333" stroke-width="2"/>
<polygon points="940,312 932,307 932,317" fill="#333"/>
<line x1="525.0" y1="298" x2="525.0" y2="326" stroke="#e65100" stroke-width="3" />
<line x1="500.0" y1="288" x2="500.0" y2="336" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="312" r="4.5" fill="#c62828"/>
<text x="500.0" y="282" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="358" font-size="12" fill="#444" font-style="italic">Resource interval extends beyond the end of the search interval (overlap is sufficient).</text>
<text x="60" y="386" font-size="15" font-weight="700" fill="#111">lt — less than</text>
<text x="940" y="386" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=lt2023-06-15</text>
<rect x="60" y="412" width="415.0" height="20" fill="#00838f" opacity="0.22"/>
<line x1="60" y1="422" x2="940" y2="422" stroke="#333" stroke-width="2"/>
<polygon points="940,422 932,417 932,427" fill="#333"/>
<line x1="475.0" y1="408" x2="475.0" y2="436" stroke="#00838f" stroke-width="3" />
<line x1="500.0" y1="398" x2="500.0" y2="446" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="422" r="4.5" fill="#c62828"/>
<text x="500.0" y="392" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="468" font-size="12" fill="#444" font-style="italic">Resource interval begins before the start of the search interval (overlap is sufficient).</text>
<text x="60" y="496" font-size="15" font-weight="700" fill="#111">ge — greater or equal</text>
<text x="940" y="496" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-06-15</text>
<rect x="475.0" y="522" width="465.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="532" x2="940" y2="532" stroke="#333" stroke-width="2"/>
<polygon points="940,532 932,527 932,537" fill="#333"/>
<line x1="475.0" y1="518" x2="475.0" y2="546" stroke="#2e7d32" stroke-width="3" />
<line x1="500.0" y1="508" x2="500.0" y2="556" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="532" r="4.5" fill="#c62828"/>
<text x="500.0" y="502" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="578" font-size="12" fill="#444" font-style="italic">gt OR fully contained within the search interval (eq).</text>
<text x="60" y="606" font-size="15" font-weight="700" fill="#111">le — less or equal</text>
<text x="940" y="606" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=le2023-06-15</text>
<rect x="60" y="632" width="465.0" height="20" fill="#1565c0" opacity="0.22"/>
<line x1="60" y1="642" x2="940" y2="642" stroke="#333" stroke-width="2"/>
<polygon points="940,642 932,637 932,647" fill="#333"/>
<line x1="525.0" y1="628" x2="525.0" y2="656" stroke="#1565c0" stroke-width="3" />
<line x1="500.0" y1="618" x2="500.0" y2="666" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="642" r="4.5" fill="#c62828"/>
<text x="500.0" y="612" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="688" font-size="12" fill="#444" font-style="italic">lt OR fully contained within the search interval (eq).</text>
<text x="60" y="716" font-size="15" font-weight="700" fill="#111">sa — starts after</text>
<text x="940" y="716" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa2023-06-15</text>
<rect x="525.0" y="742" width="415.0" height="20" fill="#bf360c" opacity="0.22"/>
<line x1="60" y1="752" x2="940" y2="752" stroke="#333" stroke-width="2"/>
<polygon points="940,752 932,747 932,757" fill="#333"/>
<line x1="525.0" y1="738" x2="525.0" y2="766" stroke="#bf360c" stroke-width="3" stroke-dasharray="4,4"/>
<line x1="500.0" y1="728" x2="500.0" y2="776" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="752" r="4.5" fill="#c62828"/>
<text x="500.0" y="722" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="798" font-size="12" fill="#444" font-style="italic">Resource interval begins entirely after the end of the search interval, no overlap (stricter than gt for ranges).</text>
<text x="60" y="826" font-size="15" font-weight="700" fill="#111">eb — ends before</text>
<text x="940" y="826" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=eb2023-06-15</text>
<rect x="60" y="852" width="415.0" height="20" fill="#004d40" opacity="0.22"/>
<line x1="60" y1="862" x2="940" y2="862" stroke="#333" stroke-width="2"/>
<polygon points="940,862 932,857 932,867" fill="#333"/>
<line x1="475.0" y1="848" x2="475.0" y2="876" stroke="#004d40" stroke-width="3" stroke-dasharray="4,4"/>
<line x1="500.0" y1="838" x2="500.0" y2="886" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="862" r="4.5" fill="#c62828"/>
<text x="500.0" y="832" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="908" font-size="12" fill="#444" font-style="italic">Resource interval ends entirely before the start of the search interval, no overlap (stricter than lt for ranges).</text>
<text x="60" y="936" font-size="15" font-weight="700" fill="#111">ap — approximately</text>
<text x="940" y="936" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ap2023-06-15</text>
<rect x="440.0" y="962" width="120" height="20" fill="#6a1b9a" opacity="0.22"/>
<line x1="60" y1="972" x2="940" y2="972" stroke="#333" stroke-width="2"/>
<polygon points="940,972 932,967 932,977" fill="#333"/>
<line x1="440.0" y1="958" x2="440.0" y2="986" stroke="#6a1b9a" stroke-width="3"/>
<line x1="560.0" y1="958" x2="560.0" y2="986" stroke="#6a1b9a" stroke-width="3"/>
<line x1="500.0" y1="948" x2="500.0" y2="996" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="972" r="4.5" fill="#c62828"/>
<text x="500.0" y="942" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="1018" font-size="12" fill="#444" font-style="italic">Resource date lies 'near' the search value (implementation-dependent tolerance, e.g. +/-10%).</text>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="586" viewBox="0 0 1000 586" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#2e7d32"] { fill: #66bb6a; }
[stroke="#2e7d32"] { stroke: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[fill="#6a1b9a"] { fill: #ba68c8; }
}
</style>
<text x="500.0" y="24" font-size="15" fill="#555" text-anchor="middle">Mehrere date-Parameter in derselben Query werden UND-verknuepft und ergeben einen Bereich</text>
<text x="60" y="56" font-size="15" font-weight="700" fill="#111">Geschlossenes Intervall (inklusiv)</text>
<text x="940" y="56" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-01-01&amp;date=le2023-12-31</text>
<rect x="340.0" y="91" width="320.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="101" x2="940" y2="101" stroke="#333" stroke-width="2"/>
<polygon points="940,101 932,96 932,106" fill="#333"/>
<line x1="340.0" y1="85" x2="340.0" y2="117" stroke="#2e7d32" stroke-width="3" />
<line x1="660.0" y1="85" x2="660.0" y2="117" stroke="#2e7d32" stroke-width="3" />
<text x="340.0" y="77" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">ge (geschlossen)</text>
<text x="660.0" y="77" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">le (geschlossen)</text>
<text x="60" y="141" font-size="12" fill="#444" font-style="italic">Beide Grenzen sind inklusive Teil des Ergebnisses -- klassischer 'Jahresbereich'.</text>
<text x="60" y="186" font-size="15" font-weight="700" fill="#111">Offenes Intervall (exklusiv)</text>
<text x="940" y="186" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt2023-01-01&amp;date=lt2023-12-31</text>
<rect x="340.0" y="221" width="320.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="231" x2="940" y2="231" stroke="#333" stroke-width="2"/>
<polygon points="940,231 932,226 932,236" fill="#333"/>
<line x1="340.0" y1="215" x2="340.0" y2="247" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<line x1="660.0" y1="215" x2="660.0" y2="247" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<text x="340.0" y="207" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">gt (offen)</text>
<text x="660.0" y="207" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">lt (offen)</text>
<text x="60" y="271" font-size="12" fill="#444" font-style="italic">Randwerte selbst sind ausgeschlossen -- enger als ge/le.</text>
<text x="60" y="316" font-size="15" font-weight="700" fill="#111">Strikt getrennter Bereich (sa + eb)</text>
<text x="940" y="316" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa2023-01-01&amp;date=eb2023-12-31</text>
<rect x="340.0" y="351" width="320.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="361" x2="940" y2="361" stroke="#333" stroke-width="2"/>
<polygon points="940,361 932,356 932,366" fill="#333"/>
<line x1="340.0" y1="345" x2="340.0" y2="377" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<line x1="660.0" y1="345" x2="660.0" y2="377" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<text x="340.0" y="337" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">sa (offen)</text>
<text x="660.0" y="337" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">eb (offen)</text>
<text x="60" y="401" font-size="12" fill="#444" font-style="italic">Nur fuer Perioden/Ranges relevant: Resource-Range muss vollstaendig NACH dem 1. und vollstaendig VOR dem 2. Wert liegen.</text>
<text x="60" y="446" font-size="15" font-weight="700" fill="#111">Untere Grenze + oberer Ausschluss</text>
<text x="940" y="446" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-06-01&amp;date=lt2023-07-01</text>
<rect x="340.0" y="481" width="320.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="491" x2="940" y2="491" stroke="#333" stroke-width="2"/>
<polygon points="940,491 932,486 932,496" fill="#333"/>
<line x1="340.0" y1="475" x2="340.0" y2="507" stroke="#2e7d32" stroke-width="3" />
<line x1="660.0" y1="475" x2="660.0" y2="507" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<text x="340.0" y="467" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">ge (geschlossen)</text>
<text x="660.0" y="467" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">lt (offen)</text>
<text x="60" y="531" font-size="12" fill="#444" font-style="italic">Typisches Muster fuer 'genau ein Monat' bei Timestamp-Feldern: [start, ende).</text>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="586" viewBox="0 0 1000 586" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#2e7d32"] { fill: #66bb6a; }
[stroke="#2e7d32"] { stroke: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[fill="#6a1b9a"] { fill: #ba68c8; }
}
</style>
<text x="500.0" y="24" font-size="15" fill="#555" text-anchor="middle">Multiple date parameters in the same query are combined with AND and define a range</text>
<text x="60" y="56" font-size="15" font-weight="700" fill="#111">Closed interval (inclusive)</text>
<text x="940" y="56" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-01-01&amp;date=le2023-12-31</text>
<rect x="340.0" y="91" width="320.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="101" x2="940" y2="101" stroke="#333" stroke-width="2"/>
<polygon points="940,101 932,96 932,106" fill="#333"/>
<line x1="340.0" y1="85" x2="340.0" y2="117" stroke="#2e7d32" stroke-width="3" />
<line x1="660.0" y1="85" x2="660.0" y2="117" stroke="#2e7d32" stroke-width="3" />
<text x="340.0" y="77" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">ge (closed)</text>
<text x="660.0" y="77" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">le (closed)</text>
<text x="60" y="141" font-size="12" fill="#444" font-style="italic">Both boundaries are inclusively part of the result -- the classic 'year range'.</text>
<text x="60" y="186" font-size="15" font-weight="700" fill="#111">Open interval (exclusive)</text>
<text x="940" y="186" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt2023-01-01&amp;date=lt2023-12-31</text>
<rect x="340.0" y="221" width="320.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="231" x2="940" y2="231" stroke="#333" stroke-width="2"/>
<polygon points="940,231 932,226 932,236" fill="#333"/>
<line x1="340.0" y1="215" x2="340.0" y2="247" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<line x1="660.0" y1="215" x2="660.0" y2="247" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<text x="340.0" y="207" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">gt (open)</text>
<text x="660.0" y="207" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">lt (open)</text>
<text x="60" y="271" font-size="12" fill="#444" font-style="italic">The boundary values themselves are excluded -- narrower than ge/le.</text>
<text x="60" y="316" font-size="15" font-weight="700" fill="#111">Strictly separated range (sa + eb)</text>
<text x="940" y="316" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa2023-01-01&amp;date=eb2023-12-31</text>
<rect x="340.0" y="351" width="320.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="361" x2="940" y2="361" stroke="#333" stroke-width="2"/>
<polygon points="940,361 932,356 932,366" fill="#333"/>
<line x1="340.0" y1="345" x2="340.0" y2="377" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<line x1="660.0" y1="345" x2="660.0" y2="377" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<text x="340.0" y="337" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">sa (open)</text>
<text x="660.0" y="337" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">eb (open)</text>
<text x="60" y="401" font-size="12" fill="#444" font-style="italic">Only relevant for Period/Range values: the resource range must lie entirely AFTER the 1st and entirely BEFORE the 2nd value.</text>
<text x="60" y="446" font-size="15" font-weight="700" fill="#111">Lower bound + upper exclusion</text>
<text x="940" y="446" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-06-01&amp;date=lt2023-07-01</text>
<rect x="340.0" y="481" width="320.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="491" x2="940" y2="491" stroke="#333" stroke-width="2"/>
<polygon points="940,491 932,486 932,496" fill="#333"/>
<line x1="340.0" y1="475" x2="340.0" y2="507" stroke="#2e7d32" stroke-width="3" />
<line x1="660.0" y1="475" x2="660.0" y2="507" stroke="#2e7d32" stroke-width="3" stroke-dasharray="4,4"/>
<text x="340.0" y="467" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">ge (closed)</text>
<text x="660.0" y="467" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">lt (open)</text>
<text x="60" y="531" font-size="12" fill="#444" font-style="italic">Typical pattern for 'exactly one month' on timestamp fields: [start, end).</text>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

@@ -0,0 +1,71 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="846" viewBox="0 0 1000 846" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#ffffff"] { fill: #121212; }
[fill="#c62828"] { fill: #ff6659; }
[stroke="#c62828"] { stroke: #ff6659; }
[fill="#6a1b9a"] { fill: #ba68c8; }
[fill="#f9a825"] { fill: #ffca28; }
[stroke="#f9a825"] { stroke: #ffca28; }
}
</style>
<text x="500.0" y="24" font-size="14" fill="#555" text-anchor="middle">Redundante, widerspruechliche und ungewoehnliche, aber spec-konforme Kombinationen</text>
<rect x="60" y="32" width="170" height="20" rx="4" fill="#f9a825" opacity="0.15"/>
<text x="145" y="46" font-size="11" font-weight="700" fill="#f9a825" text-anchor="middle">REDUNDANT</text>
<text x="60" y="68" font-size="15" font-weight="700" fill="#111">Redundant: eq + Grenzwert</text>
<text x="940" y="68" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=eq2023-06-15&amp;date=ge2020-01-01</text>
<line x1="60" y1="92" x2="940" y2="92" stroke="#333" stroke-width="2"/>
<polygon points="940,92 932,87 932,97" fill="#333"/>
<rect x="400.0" y="82" width="200" height="20" fill="#f9a825" opacity="0.25"/>
<line x1="600.0" y1="76" x2="600.0" y2="108" stroke="#f9a825" stroke-width="3"/>
<text x="60" y="152" font-size="12.5" fill="#444" font-style="italic">eq2023-06-15 deckt bereits ein volles Intervall ab; die zusaetzliche ge-Bedingung aendert nichts, da 2023 &gt; 2020 ohnehin erfuellt ist.</text>
<rect x="60" y="162" width="170" height="20" rx="4" fill="#c62828" opacity="0.15"/>
<text x="145" y="176" font-size="11" font-weight="700" fill="#c62828" text-anchor="middle">LEERES ERGEBNIS</text>
<text x="60" y="198" font-size="15" font-weight="700" fill="#111">Widerspruch: eq + ne auf denselben Wert</text>
<text x="940" y="198" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=eq2023-06-15&amp;date=ne2023-06-15</text>
<line x1="60" y1="222" x2="940" y2="222" stroke="#333" stroke-width="2"/>
<polygon points="940,222 932,217 932,227" fill="#333"/>
<line x1="485.0" y1="207" x2="515.0" y2="237" stroke="#c62828" stroke-width="4"/>
<line x1="485.0" y1="237" x2="515.0" y2="207" stroke="#c62828" stroke-width="4"/>
<text x="60" y="282" font-size="12.5" fill="#444" font-style="italic">eq verlangt Enthaltensein, ne verlangt Nicht-Enthaltensein im selben Intervall -&gt; IMMER leeres Ergebnis.</text>
<rect x="60" y="292" width="170" height="20" rx="4" fill="#c62828" opacity="0.15"/>
<text x="145" y="306" font-size="11" font-weight="700" fill="#c62828" text-anchor="middle">LEERES ERGEBNIS</text>
<text x="60" y="328" font-size="15" font-weight="700" fill="#111">Widerspruch: sich ausschliessende Grenzen</text>
<text x="940" y="328" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-06-01&amp;date=le2023-01-01</text>
<line x1="60" y1="352" x2="940" y2="352" stroke="#333" stroke-width="2"/>
<polygon points="940,352 932,347 932,357" fill="#333"/>
<line x1="485.0" y1="337" x2="515.0" y2="367" stroke="#c62828" stroke-width="4"/>
<line x1="485.0" y1="367" x2="515.0" y2="337" stroke="#c62828" stroke-width="4"/>
<text x="60" y="412" font-size="12.5" fill="#444" font-style="italic">Untergrenze liegt NACH der Obergrenze -&gt; kein Datum kann beide Bedingungen erfuellen -&gt; leeres Ergebnis.</text>
<rect x="60" y="422" width="170" height="20" rx="4" fill="#f9a825" opacity="0.15"/>
<text x="145" y="436" font-size="11" font-weight="700" fill="#f9a825" text-anchor="middle">REDUNDANT</text>
<text x="60" y="458" font-size="15" font-weight="700" fill="#111">Redundant: gleicher Praefix doppelt</text>
<text x="940" y="458" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2020-01-01&amp;date=ge2023-01-01</text>
<line x1="60" y1="482" x2="940" y2="482" stroke="#333" stroke-width="2"/>
<polygon points="940,482 932,477 932,487" fill="#333"/>
<rect x="400.0" y="472" width="200" height="20" fill="#f9a825" opacity="0.25"/>
<line x1="600.0" y1="466" x2="600.0" y2="498" stroke="#f9a825" stroke-width="3"/>
<text x="60" y="542" font-size="12.5" fill="#444" font-style="italic">Beide Bedingungen sind vom Typ ge; nur die strengere (spaetere) Untergrenze 2023 ist effektiv wirksam.</text>
<rect x="60" y="552" width="170" height="20" rx="4" fill="#6a1b9a" opacity="0.15"/>
<text x="145" y="566" font-size="11" font-weight="700" fill="#6a1b9a" text-anchor="middle">SONDERFALL</text>
<text x="60" y="588" font-size="15" font-weight="700" fill="#111">Sonderfall: drei Parameter (Ausschluss einer Teilspanne)</text>
<text x="940" y="588" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-01-01&amp;date=le2023-12-31&amp;date=ne2023-06-15</text>
<line x1="60" y1="612" x2="940" y2="612" stroke="#333" stroke-width="2"/>
<polygon points="940,612 932,607 932,617" fill="#333"/>
<rect x="380.0" y="602" width="240" height="20" fill="#6a1b9a" opacity="0.2"/>
<rect x="492.0" y="602" width="16" height="20" fill="#ffffff"/>
<text x="60" y="672" font-size="12.5" fill="#444" font-style="italic">Spec-konform: Jahresbereich, aus dem zusaetzlich ein einzelner Tag per ne ausgeschlossen wird.</text>
<rect x="60" y="682" width="170" height="20" rx="4" fill="#6a1b9a" opacity="0.15"/>
<text x="145" y="696" font-size="11" font-weight="700" fill="#6a1b9a" text-anchor="middle">SONDERFALL</text>
<text x="60" y="718" font-size="15" font-weight="700" fill="#111">Sonderfall: ap kombiniert mit Grenze</text>
<text x="940" y="718" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ap2023-06-15&amp;date=ge2023-01-01</text>
<line x1="60" y1="742" x2="940" y2="742" stroke="#333" stroke-width="2"/>
<polygon points="940,742 932,737 932,747" fill="#333"/>
<rect x="380.0" y="732" width="240" height="20" fill="#6a1b9a" opacity="0.2"/>
<text x="60" y="802" font-size="12.5" fill="#444" font-style="italic">Selten verwendet: unscharfe Naeherung zusaetzlich auf einen Mindestwert eingeschraenkt (Toleranz ist serverabhaengig).</text>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

@@ -0,0 +1,71 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="846" viewBox="0 0 1000 846" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#ffffff"] { fill: #121212; }
[fill="#c62828"] { fill: #ff6659; }
[stroke="#c62828"] { stroke: #ff6659; }
[fill="#6a1b9a"] { fill: #ba68c8; }
[fill="#f9a825"] { fill: #ffca28; }
[stroke="#f9a825"] { stroke: #ffca28; }
}
</style>
<text x="500.0" y="24" font-size="14" fill="#555" text-anchor="middle">Redundant, contradictory, and unusual but spec-compliant combinations</text>
<rect x="60" y="32" width="170" height="20" rx="4" fill="#f9a825" opacity="0.15"/>
<text x="145" y="46" font-size="11" font-weight="700" fill="#f9a825" text-anchor="middle">REDUNDANT</text>
<text x="60" y="68" font-size="15" font-weight="700" fill="#111">Redundant: eq + boundary</text>
<text x="940" y="68" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=eq2023-06-15&amp;date=ge2020-01-01</text>
<line x1="60" y1="92" x2="940" y2="92" stroke="#333" stroke-width="2"/>
<polygon points="940,92 932,87 932,97" fill="#333"/>
<rect x="400.0" y="82" width="200" height="20" fill="#f9a825" opacity="0.25"/>
<line x1="600.0" y1="76" x2="600.0" y2="108" stroke="#f9a825" stroke-width="3"/>
<text x="60" y="152" font-size="12.5" fill="#444" font-style="italic">eq2023-06-15 already covers a full interval; the additional ge condition changes nothing, since 2023 &gt; 2020 is satisfied anyway.</text>
<rect x="60" y="162" width="170" height="20" rx="4" fill="#c62828" opacity="0.15"/>
<text x="145" y="176" font-size="11" font-weight="700" fill="#c62828" text-anchor="middle">EMPTY RESULT</text>
<text x="60" y="198" font-size="15" font-weight="700" fill="#111">Contradiction: eq + ne on the same value</text>
<text x="940" y="198" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=eq2023-06-15&amp;date=ne2023-06-15</text>
<line x1="60" y1="222" x2="940" y2="222" stroke="#333" stroke-width="2"/>
<polygon points="940,222 932,217 932,227" fill="#333"/>
<line x1="485.0" y1="207" x2="515.0" y2="237" stroke="#c62828" stroke-width="4"/>
<line x1="485.0" y1="237" x2="515.0" y2="207" stroke="#c62828" stroke-width="4"/>
<text x="60" y="282" font-size="12.5" fill="#444" font-style="italic">eq requires containment, ne requires non-containment in the same interval -&gt; ALWAYS an empty result.</text>
<rect x="60" y="292" width="170" height="20" rx="4" fill="#c62828" opacity="0.15"/>
<text x="145" y="306" font-size="11" font-weight="700" fill="#c62828" text-anchor="middle">EMPTY RESULT</text>
<text x="60" y="328" font-size="15" font-weight="700" fill="#111">Contradiction: mutually exclusive bounds</text>
<text x="940" y="328" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-06-01&amp;date=le2023-01-01</text>
<line x1="60" y1="352" x2="940" y2="352" stroke="#333" stroke-width="2"/>
<polygon points="940,352 932,347 932,357" fill="#333"/>
<line x1="485.0" y1="337" x2="515.0" y2="367" stroke="#c62828" stroke-width="4"/>
<line x1="485.0" y1="367" x2="515.0" y2="337" stroke="#c62828" stroke-width="4"/>
<text x="60" y="412" font-size="12.5" fill="#444" font-style="italic">Lower bound lies AFTER the upper bound -&gt; no date can satisfy both conditions -&gt; empty result.</text>
<rect x="60" y="422" width="170" height="20" rx="4" fill="#f9a825" opacity="0.15"/>
<text x="145" y="436" font-size="11" font-weight="700" fill="#f9a825" text-anchor="middle">REDUNDANT</text>
<text x="60" y="458" font-size="15" font-weight="700" fill="#111">Redundant: same prefix twice</text>
<text x="940" y="458" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2020-01-01&amp;date=ge2023-01-01</text>
<line x1="60" y1="482" x2="940" y2="482" stroke="#333" stroke-width="2"/>
<polygon points="940,482 932,477 932,487" fill="#333"/>
<rect x="400.0" y="472" width="200" height="20" fill="#f9a825" opacity="0.25"/>
<line x1="600.0" y1="466" x2="600.0" y2="498" stroke="#f9a825" stroke-width="3"/>
<text x="60" y="542" font-size="12.5" fill="#444" font-style="italic">Both conditions are of type ge; only the stricter (later) lower bound 2023 is effectively in force.</text>
<rect x="60" y="552" width="170" height="20" rx="4" fill="#6a1b9a" opacity="0.15"/>
<text x="145" y="566" font-size="11" font-weight="700" fill="#6a1b9a" text-anchor="middle">SPECIAL CASE</text>
<text x="60" y="588" font-size="15" font-weight="700" fill="#111">Special case: three parameters (excluding a sub-range)</text>
<text x="940" y="588" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge2023-01-01&amp;date=le2023-12-31&amp;date=ne2023-06-15</text>
<line x1="60" y1="612" x2="940" y2="612" stroke="#333" stroke-width="2"/>
<polygon points="940,612 932,607 932,617" fill="#333"/>
<rect x="380.0" y="602" width="240" height="20" fill="#6a1b9a" opacity="0.2"/>
<rect x="492.0" y="602" width="16" height="20" fill="#ffffff"/>
<text x="60" y="672" font-size="12.5" fill="#444" font-style="italic">Spec-compliant: a year range from which a single day is additionally excluded via ne.</text>
<rect x="60" y="682" width="170" height="20" rx="4" fill="#6a1b9a" opacity="0.15"/>
<text x="145" y="696" font-size="11" font-weight="700" fill="#6a1b9a" text-anchor="middle">SPECIAL CASE</text>
<text x="60" y="718" font-size="15" font-weight="700" fill="#111">Special case: ap combined with a boundary</text>
<text x="940" y="718" font-size="12.5" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ap2023-06-15&amp;date=ge2023-01-01</text>
<line x1="60" y1="742" x2="940" y2="742" stroke="#333" stroke-width="2"/>
<polygon points="940,742 932,737 932,747" fill="#333"/>
<rect x="380.0" y="732" width="240" height="20" fill="#6a1b9a" opacity="0.2"/>
<text x="60" y="802" font-size="12.5" fill="#444" font-style="italic">Rarely used: a fuzzy approximation additionally constrained to a minimum value (tolerance is server-dependent).</text>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

@@ -0,0 +1,92 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1100" height="590" viewBox="0 0 1100 590" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#fafafa"] { fill: #2a2a2a; }
[stroke="#ddd"] { stroke: #484848; }
[fill="#2e7d32"] { fill: #66bb6a; }
[stroke="#c62828"] { stroke: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
[fill="#6a1b9a"] { fill: #ba68c8; }
}
</style>
<text x="550.0" y="24" font-size="14" fill="#555" text-anchor="middle">Jede Zelle = eine gueltige Kombination aus zwei date-Parametern (z.B. date=ge...&amp;date=le...)</text>
<text x="380.0" y="65" font-size="16" font-weight="700" fill="#1565c0" text-anchor="middle">le</text>
<text x="380.0" y="82" font-size="11" fill="#1565c0" text-anchor="middle">≤ (bis einschl.)</text>
<text x="700.0" y="65" font-size="16" font-weight="700" fill="#1565c0" text-anchor="middle">lt</text>
<text x="700.0" y="82" font-size="11" fill="#1565c0" text-anchor="middle">&lt; (davor)</text>
<text x="1020.0" y="65" font-size="16" font-weight="700" fill="#1565c0" text-anchor="middle">eb</text>
<text x="1020.0" y="82" font-size="11" fill="#1565c0" text-anchor="middle">ends before (strikt davor)</text>
<text x="200" y="159.0" font-size="16" font-weight="700" fill="#2e7d32" text-anchor="end">ge</text>
<text x="200" y="177.0" font-size="11" fill="#2e7d32" text-anchor="end">≥ (ab einschl.)</text>
<text x="200" y="309.0" font-size="16" font-weight="700" fill="#2e7d32" text-anchor="end">gt</text>
<text x="200" y="327.0" font-size="11" fill="#2e7d32" text-anchor="end">&gt; (danach)</text>
<text x="200" y="459.0" font-size="16" font-weight="700" fill="#2e7d32" text-anchor="end">sa</text>
<text x="200" y="477.0" font-size="11" fill="#2e7d32" text-anchor="end">starts after (strikt danach)</text>
<rect x="226" y="96" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="341.6" y="174.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="240" y1="183.0" x2="520" y2="183.0" stroke="#333" stroke-width="1.5"/>
<line x1="341.6" y1="170.0" x2="341.6" y2="196.0" stroke="#c62828" stroke-width="2.5" />
<line x1="418.4" y1="170.0" x2="418.4" y2="196.0" stroke="#c62828" stroke-width="2.5" />
<text x="380.0" y="226" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge...&amp;date=le...</text>
<text x="380.0" y="210" font-size="11" fill="#555" text-anchor="middle">geschl. / geschl.</text>
<rect x="546" y="96" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="661.6" y="174.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="560" y1="183.0" x2="840" y2="183.0" stroke="#333" stroke-width="1.5"/>
<line x1="661.6" y1="170.0" x2="661.6" y2="196.0" stroke="#c62828" stroke-width="2.5" />
<line x1="738.4" y1="170.0" x2="738.4" y2="196.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="700.0" y="226" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge...&amp;date=lt...</text>
<text x="700.0" y="210" font-size="11" fill="#555" text-anchor="middle">geschl. / offen</text>
<rect x="866" y="96" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="981.6" y="174.0" width="76.80000000000007" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="880" y1="183.0" x2="1160" y2="183.0" stroke="#333" stroke-width="1.5"/>
<line x1="981.6" y1="170.0" x2="981.6" y2="196.0" stroke="#c62828" stroke-width="2.5" />
<line x1="1058.4" y1="170.0" x2="1058.4" y2="196.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="1020.0" y="226" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge...&amp;date=eb...</text>
<text x="1020.0" y="210" font-size="11" fill="#555" text-anchor="middle">geschl. / offen</text>
<rect x="226" y="246" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="341.6" y="324.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="240" y1="333.0" x2="520" y2="333.0" stroke="#333" stroke-width="1.5"/>
<line x1="341.6" y1="320.0" x2="341.6" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="418.4" y1="320.0" x2="418.4" y2="346.0" stroke="#c62828" stroke-width="2.5" />
<text x="380.0" y="376" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt...&amp;date=le...</text>
<text x="380.0" y="360" font-size="11" fill="#555" text-anchor="middle">offen / geschl.</text>
<rect x="546" y="246" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="661.6" y="324.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="560" y1="333.0" x2="840" y2="333.0" stroke="#333" stroke-width="1.5"/>
<line x1="661.6" y1="320.0" x2="661.6" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="738.4" y1="320.0" x2="738.4" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="700.0" y="376" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt...&amp;date=lt...</text>
<text x="700.0" y="360" font-size="11" fill="#555" text-anchor="middle">offen / offen</text>
<rect x="866" y="246" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="981.6" y="324.0" width="76.80000000000007" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="880" y1="333.0" x2="1160" y2="333.0" stroke="#333" stroke-width="1.5"/>
<line x1="981.6" y1="320.0" x2="981.6" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="1058.4" y1="320.0" x2="1058.4" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="1020.0" y="376" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt...&amp;date=eb...</text>
<text x="1020.0" y="360" font-size="11" fill="#555" text-anchor="middle">offen / offen</text>
<rect x="226" y="396" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="341.6" y="474.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="240" y1="483.0" x2="520" y2="483.0" stroke="#333" stroke-width="1.5"/>
<line x1="341.6" y1="470.0" x2="341.6" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="418.4" y1="470.0" x2="418.4" y2="496.0" stroke="#c62828" stroke-width="2.5" />
<text x="380.0" y="526" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa...&amp;date=le...</text>
<text x="380.0" y="510" font-size="11" fill="#555" text-anchor="middle">offen / geschl.</text>
<rect x="546" y="396" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="661.6" y="474.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="560" y1="483.0" x2="840" y2="483.0" stroke="#333" stroke-width="1.5"/>
<line x1="661.6" y1="470.0" x2="661.6" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="738.4" y1="470.0" x2="738.4" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="700.0" y="526" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa...&amp;date=lt...</text>
<text x="700.0" y="510" font-size="11" fill="#555" text-anchor="middle">offen / offen</text>
<rect x="866" y="396" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="981.6" y="474.0" width="76.80000000000007" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="880" y1="483.0" x2="1160" y2="483.0" stroke="#333" stroke-width="1.5"/>
<line x1="981.6" y1="470.0" x2="981.6" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="1058.4" y1="470.0" x2="1058.4" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="1020.0" y="526" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa...&amp;date=eb...</text>
<text x="1020.0" y="510" font-size="11" fill="#555" text-anchor="middle">offen / offen</text>
<text x="220" y="572" font-size="12" fill="#444" font-style="italic">Gestrichelte Grenze = exklusiv (Wert selbst nicht im Treffer) | Durchgezogene Grenze = inklusiv</text>
</svg>

After

Width:  |  Height:  |  Size: 9.2 KiB

@@ -0,0 +1,92 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1100" height="590" viewBox="0 0 1100 590" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#fafafa"] { fill: #2a2a2a; }
[stroke="#ddd"] { stroke: #484848; }
[fill="#2e7d32"] { fill: #66bb6a; }
[stroke="#c62828"] { stroke: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
[fill="#6a1b9a"] { fill: #ba68c8; }
}
</style>
<text x="550.0" y="24" font-size="14" fill="#555" text-anchor="middle">Each cell = a valid combination of two date parameters (e.g. date=ge...&amp;date=le...)</text>
<text x="380.0" y="65" font-size="16" font-weight="700" fill="#1565c0" text-anchor="middle">le</text>
<text x="380.0" y="82" font-size="11" fill="#1565c0" text-anchor="middle">≤ (until, incl.)</text>
<text x="700.0" y="65" font-size="16" font-weight="700" fill="#1565c0" text-anchor="middle">lt</text>
<text x="700.0" y="82" font-size="11" fill="#1565c0" text-anchor="middle">&lt; (before)</text>
<text x="1020.0" y="65" font-size="16" font-weight="700" fill="#1565c0" text-anchor="middle">eb</text>
<text x="1020.0" y="82" font-size="11" fill="#1565c0" text-anchor="middle">ends before (strictly before)</text>
<text x="200" y="159.0" font-size="16" font-weight="700" fill="#2e7d32" text-anchor="end">ge</text>
<text x="200" y="177.0" font-size="11" fill="#2e7d32" text-anchor="end">≥ (from, incl.)</text>
<text x="200" y="309.0" font-size="16" font-weight="700" fill="#2e7d32" text-anchor="end">gt</text>
<text x="200" y="327.0" font-size="11" fill="#2e7d32" text-anchor="end">&gt; (after)</text>
<text x="200" y="459.0" font-size="16" font-weight="700" fill="#2e7d32" text-anchor="end">sa</text>
<text x="200" y="477.0" font-size="11" fill="#2e7d32" text-anchor="end">starts after (strictly after)</text>
<rect x="226" y="96" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="341.6" y="174.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="240" y1="183.0" x2="520" y2="183.0" stroke="#333" stroke-width="1.5"/>
<line x1="341.6" y1="170.0" x2="341.6" y2="196.0" stroke="#c62828" stroke-width="2.5" />
<line x1="418.4" y1="170.0" x2="418.4" y2="196.0" stroke="#c62828" stroke-width="2.5" />
<text x="380.0" y="226" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge...&amp;date=le...</text>
<text x="380.0" y="210" font-size="11" fill="#555" text-anchor="middle">closed / closed</text>
<rect x="546" y="96" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="661.6" y="174.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="560" y1="183.0" x2="840" y2="183.0" stroke="#333" stroke-width="1.5"/>
<line x1="661.6" y1="170.0" x2="661.6" y2="196.0" stroke="#c62828" stroke-width="2.5" />
<line x1="738.4" y1="170.0" x2="738.4" y2="196.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="700.0" y="226" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge...&amp;date=lt...</text>
<text x="700.0" y="210" font-size="11" fill="#555" text-anchor="middle">closed / open</text>
<rect x="866" y="96" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="981.6" y="174.0" width="76.80000000000007" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="880" y1="183.0" x2="1160" y2="183.0" stroke="#333" stroke-width="1.5"/>
<line x1="981.6" y1="170.0" x2="981.6" y2="196.0" stroke="#c62828" stroke-width="2.5" />
<line x1="1058.4" y1="170.0" x2="1058.4" y2="196.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="1020.0" y="226" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=ge...&amp;date=eb...</text>
<text x="1020.0" y="210" font-size="11" fill="#555" text-anchor="middle">closed / open</text>
<rect x="226" y="246" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="341.6" y="324.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="240" y1="333.0" x2="520" y2="333.0" stroke="#333" stroke-width="1.5"/>
<line x1="341.6" y1="320.0" x2="341.6" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="418.4" y1="320.0" x2="418.4" y2="346.0" stroke="#c62828" stroke-width="2.5" />
<text x="380.0" y="376" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt...&amp;date=le...</text>
<text x="380.0" y="360" font-size="11" fill="#555" text-anchor="middle">open / closed</text>
<rect x="546" y="246" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="661.6" y="324.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="560" y1="333.0" x2="840" y2="333.0" stroke="#333" stroke-width="1.5"/>
<line x1="661.6" y1="320.0" x2="661.6" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="738.4" y1="320.0" x2="738.4" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="700.0" y="376" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt...&amp;date=lt...</text>
<text x="700.0" y="360" font-size="11" fill="#555" text-anchor="middle">open / open</text>
<rect x="866" y="246" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="981.6" y="324.0" width="76.80000000000007" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="880" y1="333.0" x2="1160" y2="333.0" stroke="#333" stroke-width="1.5"/>
<line x1="981.6" y1="320.0" x2="981.6" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="1058.4" y1="320.0" x2="1058.4" y2="346.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="1020.0" y="376" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=gt...&amp;date=eb...</text>
<text x="1020.0" y="360" font-size="11" fill="#555" text-anchor="middle">open / open</text>
<rect x="226" y="396" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="341.6" y="474.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="240" y1="483.0" x2="520" y2="483.0" stroke="#333" stroke-width="1.5"/>
<line x1="341.6" y1="470.0" x2="341.6" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="418.4" y1="470.0" x2="418.4" y2="496.0" stroke="#c62828" stroke-width="2.5" />
<text x="380.0" y="526" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa...&amp;date=le...</text>
<text x="380.0" y="510" font-size="11" fill="#555" text-anchor="middle">open / closed</text>
<rect x="546" y="396" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="661.6" y="474.0" width="76.79999999999995" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="560" y1="483.0" x2="840" y2="483.0" stroke="#333" stroke-width="1.5"/>
<line x1="661.6" y1="470.0" x2="661.6" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="738.4" y1="470.0" x2="738.4" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="700.0" y="526" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa...&amp;date=lt...</text>
<text x="700.0" y="510" font-size="11" fill="#555" text-anchor="middle">open / open</text>
<rect x="866" y="396" width="308" height="138" fill="#fafafa" stroke="#ddd" stroke-width="1" rx="6"/>
<rect x="981.6" y="474.0" width="76.80000000000007" height="18" fill="#2e7d32" opacity="0.25"/>
<line x1="880" y1="483.0" x2="1160" y2="483.0" stroke="#333" stroke-width="1.5"/>
<line x1="981.6" y1="470.0" x2="981.6" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<line x1="1058.4" y1="470.0" x2="1058.4" y2="496.0" stroke="#c62828" stroke-width="2.5" stroke-dasharray="4,3"/>
<text x="1020.0" y="526" font-size="11.5" fill="#6a1b9a" text-anchor="middle" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=sa...&amp;date=eb...</text>
<text x="1020.0" y="510" font-size="11" fill="#555" text-anchor="middle">open / open</text>
<text x="220" y="572" font-size="12" fill="#444" font-style="italic">Dashed boundary = exclusive (value itself not included) | Solid boundary = inclusive</text>
</svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

+40
View File
@@ -0,0 +1,40 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="286" viewBox="0 0 1000 286" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#888"] { fill: #b0b0b0; }
[fill="#2e7d32"] { fill: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[stroke="#c62828"] { stroke: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
[fill="#6a1b9a"] { fill: #ba68c8; }
}
</style>
<text x="500.0" y="24" font-size="15" fill="#555" text-anchor="middle">Ohne Praefix wird 'eq' angenommen -- die Genauigkeit (Precision) des Suchwerts bestimmt das Intervall</text>
<text x="60" y="64" font-size="15" font-weight="700" fill="#111">Suchwert mit Tages-Genauigkeit</text>
<text x="940" y="64" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=2023-06-15</text>
<rect x="475.0" y="91" width="50.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="101" x2="940" y2="101" stroke="#333" stroke-width="2"/>
<polygon points="940,101 932,96 932,106" fill="#333"/>
<text x="940" y="129" font-size="11" fill="#888" text-anchor="end">Zukunft →</text>
<text x="60" y="129" font-size="11" fill="#888" text-anchor="start">← Vergangenheit</text>
<line x1="500.0" y1="77" x2="500.0" y2="125" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="101" r="4.5" fill="#c62828"/>
<text x="500.0" y="71" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="147" font-size="12" fill="#444" font-style="italic">Intervall = genau dieser Tag (00:00-24:00). Resource-Datum muss vollstaendig in diesem Intervall liegen.</text>
<text x="60" y="174" font-size="15" font-weight="700" fill="#111">Suchwert mit Monats-Genauigkeit</text>
<text x="940" y="174" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=2023-06</text>
<rect x="410.0" y="201" width="180.0" height="20" fill="#1565c0" opacity="0.22"/>
<line x1="60" y1="211" x2="940" y2="211" stroke="#333" stroke-width="2"/>
<polygon points="940,211 932,206 932,216" fill="#333"/>
<text x="940" y="239" font-size="11" fill="#888" text-anchor="end">Zukunft →</text>
<text x="60" y="239" font-size="11" fill="#888" text-anchor="start">← Vergangenheit</text>
<line x1="500.0" y1="187" x2="500.0" y2="235" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="211" r="4.5" fill="#c62828"/>
<text x="500.0" y="181" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">Juni 2023</text>
<text x="60" y="257" font-size="12" fill="#444" font-style="italic">Intervall = ganzer Monat (2023-06-01 00:00 bis 2023-07-01 00:00). Je groeber die Precision, desto breiter das Intervall.</text>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+40
View File
@@ -0,0 +1,40 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="286" viewBox="0 0 1000 286" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#888"] { fill: #b0b0b0; }
[fill="#2e7d32"] { fill: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[stroke="#c62828"] { stroke: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
[fill="#6a1b9a"] { fill: #ba68c8; }
}
</style>
<text x="500.0" y="24" font-size="15" fill="#555" text-anchor="middle">Without a prefix, 'eq' is assumed -- the precision of the search value determines the interval</text>
<text x="60" y="64" font-size="15" font-weight="700" fill="#111">Search value with day precision</text>
<text x="940" y="64" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=2023-06-15</text>
<rect x="475.0" y="91" width="50.0" height="20" fill="#2e7d32" opacity="0.22"/>
<line x1="60" y1="101" x2="940" y2="101" stroke="#333" stroke-width="2"/>
<polygon points="940,101 932,96 932,106" fill="#333"/>
<text x="940" y="129" font-size="11" fill="#888" text-anchor="end">Future →</text>
<text x="60" y="129" font-size="11" fill="#888" text-anchor="start">← Past</text>
<line x1="500.0" y1="77" x2="500.0" y2="125" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="101" r="4.5" fill="#c62828"/>
<text x="500.0" y="71" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">2023-06-15</text>
<text x="60" y="147" font-size="12" fill="#444" font-style="italic">Interval = exactly this day (00:00-24:00). The resource date must lie fully within this interval.</text>
<text x="60" y="174" font-size="15" font-weight="700" fill="#111">Search value with month precision</text>
<text x="940" y="174" font-size="13" fill="#6a1b9a" text-anchor="end" font-family="Latin Modern Mono, CMU Typewriter Text, Computer Modern Typewriter, Consolas, Menlo, monospace">date=2023-06</text>
<rect x="410.0" y="201" width="180.0" height="20" fill="#1565c0" opacity="0.22"/>
<line x1="60" y1="211" x2="940" y2="211" stroke="#333" stroke-width="2"/>
<polygon points="940,211 932,206 932,216" fill="#333"/>
<text x="940" y="239" font-size="11" fill="#888" text-anchor="end">Future →</text>
<text x="60" y="239" font-size="11" fill="#888" text-anchor="start">← Past</text>
<line x1="500.0" y1="187" x2="500.0" y2="235" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<circle cx="500.0" cy="211" r="4.5" fill="#c62828"/>
<text x="500.0" y="181" font-size="12" fill="#c62828" text-anchor="middle" font-weight="600">June 2023</text>
<text x="60" y="257" font-size="12" fill="#444" font-style="italic">Interval = entire month (2023-06-01 00:00 to 2023-07-01 00:00). The coarser the precision, the wider the interval.</text>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

@@ -0,0 +1,111 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1160" height="754" viewBox="0 0 1160 754" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#777"] { fill: #aeaeae; }
[stroke="#eee"] { stroke: #3a3a3a; }
[stroke="#ffffff"] { stroke: #121212; }
[fill="#2e7d32"] { fill: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
}
</style>
<text x="550.0" y="24" font-size="14" fill="#555" text-anchor="middle">Fehlender Start = -unendlich | Fehlendes Ende = +unendlich | Pfeilspitze = offenes Ende</text>
<text x="550.0" y="44" font-size="12.5" fill="#777" text-anchor="middle">Suchwert: date=&amp;lt;praefix&amp;gt;2023-06-15 | Gruen = Treffer, Rot = kein Treffer</text>
<text x="30" y="74" font-size="20" font-weight="700" fill="#111">gt</text>
<text x="180" y="74" font-size="12.5" fill="#555">Fehlendes Ende = +unendlich -&gt; ueberlappt fast immer den oberen Bereich.</text>
<rect x="700.0" y="90" width="360.0" height="124" fill="#1565c0" opacity="0.07"/>
<line x1="260" y1="100" x2="1060" y2="100" stroke="#333" stroke-width="1.5"/>
<polygon points="1060,100 1053,96 1053,104" fill="#333"/>
<line x1="700.0" y1="100" x2="700.0" y2="206" stroke="#333" stroke-width="2" />
<text x="700.0" y="90" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Suchgrenze (2023-06-15)</text>
<rect x="660.0" y="118" width="364.0" height="16" fill="#2e7d32"/>
<rect x="660.0" y="118" width="10" height="16" rx="4" fill="#2e7d32"/>
<polygon points="1040,126 1024,118 1024,134" fill="#2e7d32"/>
<text x="246" y="130" font-size="11.5" fill="#333" text-anchor="end">Period D: nur Start (laeuft noch)</text>
<path d="M 1074 126 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="296" y="152" width="394.0" height="16" fill="#c62828"/>
<polygon points="280,160 296,152 296,168" fill="#c62828"/>
<rect x="680.0" y="152" width="10" height="16" rx="4" fill="#c62828"/>
<text x="246" y="164" font-size="11.5" fill="#333" text-anchor="end">Period E: nur Ende (Start unbekannt)</text>
<line x1="1075" y1="153" x2="1089" y2="167" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="167" x2="1089" y2="153" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="296" y="186" width="728" height="16" fill="#2e7d32"/>
<polygon points="280,194 296,186 296,202" fill="#2e7d32"/>
<polygon points="1040,194 1024,186 1024,202" fill="#2e7d32"/>
<text x="246" y="198" font-size="11.5" fill="#333" text-anchor="end">Period F: weder Start noch Ende bekannt</text>
<path d="M 1074 194 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<line x1="30" y1="214" x2="1130" y2="214" stroke="#eee" stroke-width="1"/>
<text x="30" y="236" font-size="20" font-weight="700" fill="#111">sa</text>
<text x="180" y="236" font-size="12.5" fill="#555">Fehlender Start = -unendlich -&gt; kann NIE vollstaendig 'danach' liegen.</text>
<rect x="700.0" y="252" width="360.0" height="124" fill="#1565c0" opacity="0.07"/>
<line x1="260" y1="262" x2="1060" y2="262" stroke="#333" stroke-width="1.5"/>
<polygon points="1060,262 1053,258 1053,266" fill="#333"/>
<line x1="700.0" y1="262" x2="700.0" y2="368" stroke="#333" stroke-width="2" stroke-dasharray="4,4"/>
<text x="700.0" y="252" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Suchgrenze (2023-06-15)</text>
<rect x="660.0" y="280" width="364.0" height="16" fill="#c62828"/>
<rect x="660.0" y="280" width="10" height="16" rx="4" fill="#c62828"/>
<polygon points="1040,288 1024,280 1024,296" fill="#c62828"/>
<text x="246" y="292" font-size="11.5" fill="#333" text-anchor="end">Period D: nur Start (laeuft noch)</text>
<line x1="1075" y1="281" x2="1089" y2="295" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="295" x2="1089" y2="281" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="296" y="314" width="394.0" height="16" fill="#c62828"/>
<polygon points="280,322 296,314 296,330" fill="#c62828"/>
<rect x="680.0" y="314" width="10" height="16" rx="4" fill="#c62828"/>
<text x="246" y="326" font-size="11.5" fill="#333" text-anchor="end">Period E: nur Ende (Start unbekannt)</text>
<line x1="1075" y1="315" x2="1089" y2="329" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="329" x2="1089" y2="315" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="296" y="348" width="728" height="16" fill="#c62828"/>
<polygon points="280,356 296,348 296,364" fill="#c62828"/>
<polygon points="1040,356 1024,348 1024,364" fill="#c62828"/>
<text x="246" y="360" font-size="11.5" fill="#333" text-anchor="end">Period F: weder Start noch Ende bekannt</text>
<line x1="1075" y1="349" x2="1089" y2="363" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="363" x2="1089" y2="349" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<line x1="30" y1="376" x2="1130" y2="376" stroke="#eee" stroke-width="1"/>
<text x="30" y="398" font-size="20" font-weight="700" fill="#111">lt</text>
<text x="180" y="398" font-size="12.5" fill="#555">Fehlender Start = -unendlich -&gt; ueberlappt fast immer den unteren Bereich.</text>
<rect x="260" y="414" width="440.0" height="124" fill="#1565c0" opacity="0.07"/>
<line x1="260" y1="424" x2="1060" y2="424" stroke="#333" stroke-width="1.5"/>
<polygon points="1060,424 1053,420 1053,428" fill="#333"/>
<line x1="700.0" y1="424" x2="700.0" y2="530" stroke="#333" stroke-width="2" />
<text x="700.0" y="414" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Suchgrenze (2023-06-15)</text>
<rect x="660.0" y="442" width="364.0" height="16" fill="#2e7d32"/>
<rect x="660.0" y="442" width="10" height="16" rx="4" fill="#2e7d32"/>
<polygon points="1040,450 1024,442 1024,458" fill="#2e7d32"/>
<text x="246" y="454" font-size="11.5" fill="#333" text-anchor="end">Period D: nur Start (laeuft noch)</text>
<path d="M 1074 450 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="296" y="476" width="394.0" height="16" fill="#2e7d32"/>
<polygon points="280,484 296,476 296,492" fill="#2e7d32"/>
<rect x="680.0" y="476" width="10" height="16" rx="4" fill="#2e7d32"/>
<text x="246" y="488" font-size="11.5" fill="#333" text-anchor="end">Period E: nur Ende (Start unbekannt)</text>
<path d="M 1074 484 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="296" y="510" width="728" height="16" fill="#2e7d32"/>
<polygon points="280,518 296,510 296,526" fill="#2e7d32"/>
<polygon points="1040,518 1024,510 1024,526" fill="#2e7d32"/>
<text x="246" y="522" font-size="11.5" fill="#333" text-anchor="end">Period F: weder Start noch Ende bekannt</text>
<path d="M 1074 518 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<line x1="30" y1="538" x2="1130" y2="538" stroke="#eee" stroke-width="1"/>
<text x="30" y="560" font-size="20" font-weight="700" fill="#111">eb</text>
<text x="180" y="560" font-size="12.5" fill="#555">Fehlendes Ende = +unendlich -&gt; kann NIE vollstaendig 'davor' liegen.</text>
<rect x="260" y="576" width="440.0" height="124" fill="#1565c0" opacity="0.07"/>
<line x1="260" y1="586" x2="1060" y2="586" stroke="#333" stroke-width="1.5"/>
<polygon points="1060,586 1053,582 1053,590" fill="#333"/>
<line x1="700.0" y1="586" x2="700.0" y2="692" stroke="#333" stroke-width="2" stroke-dasharray="4,4"/>
<text x="700.0" y="576" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Suchgrenze (2023-06-15)</text>
<rect x="660.0" y="604" width="364.0" height="16" fill="#c62828"/>
<rect x="660.0" y="604" width="10" height="16" rx="4" fill="#c62828"/>
<polygon points="1040,612 1024,604 1024,620" fill="#c62828"/>
<text x="246" y="616" font-size="11.5" fill="#333" text-anchor="end">Period D: nur Start (laeuft noch)</text>
<line x1="1075" y1="605" x2="1089" y2="619" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="619" x2="1089" y2="605" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="296" y="638" width="394.0" height="16" fill="#2e7d32"/>
<polygon points="280,646 296,638 296,654" fill="#2e7d32"/>
<rect x="680.0" y="638" width="10" height="16" rx="4" fill="#2e7d32"/>
<text x="246" y="650" font-size="11.5" fill="#333" text-anchor="end">Period E: nur Ende (Start unbekannt)</text>
<path d="M 1074 646 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="296" y="672" width="728" height="16" fill="#c62828"/>
<polygon points="280,680 296,672 296,688" fill="#c62828"/>
<polygon points="1040,680 1024,672 1024,688" fill="#c62828"/>
<text x="246" y="684" font-size="11.5" fill="#333" text-anchor="end">Period F: weder Start noch Ende bekannt</text>
<line x1="1075" y1="673" x2="1089" y2="687" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="687" x2="1089" y2="673" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="30" y="722" width="18" height="14" rx="3" fill="#2e7d32"/><text x="54" y="734" font-size="12.5" fill="#333">Treffer</text>
<rect x="130" y="722" width="18" height="14" rx="3" fill="#c62828"/><text x="154" y="734" font-size="12.5" fill="#333">kein Treffer</text>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

@@ -0,0 +1,111 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1160" height="754" viewBox="0 0 1160 754" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#555"] { fill: #c2c2c2; }
[fill="#777"] { fill: #aeaeae; }
[stroke="#eee"] { stroke: #3a3a3a; }
[stroke="#ffffff"] { stroke: #121212; }
[fill="#2e7d32"] { fill: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
}
</style>
<text x="550.0" y="24" font-size="14" fill="#555" text-anchor="middle">Missing start = -infinity | Missing end = +infinity | Arrowhead = open end</text>
<text x="550.0" y="44" font-size="12.5" fill="#777" text-anchor="middle">Search value: date=&amp;lt;prefix&amp;gt;2023-06-15 | Green = match, Red = no match</text>
<text x="30" y="74" font-size="20" font-weight="700" fill="#111">gt</text>
<text x="180" y="74" font-size="12.5" fill="#555">Missing end = +infinity -&gt; almost always overlaps the upper range.</text>
<rect x="700.0" y="90" width="360.0" height="124" fill="#1565c0" opacity="0.07"/>
<line x1="260" y1="100" x2="1060" y2="100" stroke="#333" stroke-width="1.5"/>
<polygon points="1060,100 1053,96 1053,104" fill="#333"/>
<line x1="700.0" y1="100" x2="700.0" y2="206" stroke="#333" stroke-width="2" />
<text x="700.0" y="90" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Search boundary (2023-06-15)</text>
<rect x="660.0" y="118" width="364.0" height="16" fill="#2e7d32"/>
<rect x="660.0" y="118" width="10" height="16" rx="4" fill="#2e7d32"/>
<polygon points="1040,126 1024,118 1024,134" fill="#2e7d32"/>
<text x="246" y="130" font-size="11.5" fill="#333" text-anchor="end">Period D: start only (ongoing)</text>
<path d="M 1074 126 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="296" y="152" width="394.0" height="16" fill="#c62828"/>
<polygon points="280,160 296,152 296,168" fill="#c62828"/>
<rect x="680.0" y="152" width="10" height="16" rx="4" fill="#c62828"/>
<text x="246" y="164" font-size="11.5" fill="#333" text-anchor="end">Period E: end only (start unknown)</text>
<line x1="1075" y1="153" x2="1089" y2="167" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="167" x2="1089" y2="153" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="296" y="186" width="728" height="16" fill="#2e7d32"/>
<polygon points="280,194 296,186 296,202" fill="#2e7d32"/>
<polygon points="1040,194 1024,186 1024,202" fill="#2e7d32"/>
<text x="246" y="198" font-size="11.5" fill="#333" text-anchor="end">Period F: neither start nor end known</text>
<path d="M 1074 194 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<line x1="30" y1="214" x2="1130" y2="214" stroke="#eee" stroke-width="1"/>
<text x="30" y="236" font-size="20" font-weight="700" fill="#111">sa</text>
<text x="180" y="236" font-size="12.5" fill="#555">Missing start = -infinity -&gt; can NEVER lie entirely 'after'.</text>
<rect x="700.0" y="252" width="360.0" height="124" fill="#1565c0" opacity="0.07"/>
<line x1="260" y1="262" x2="1060" y2="262" stroke="#333" stroke-width="1.5"/>
<polygon points="1060,262 1053,258 1053,266" fill="#333"/>
<line x1="700.0" y1="262" x2="700.0" y2="368" stroke="#333" stroke-width="2" stroke-dasharray="4,4"/>
<text x="700.0" y="252" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Search boundary (2023-06-15)</text>
<rect x="660.0" y="280" width="364.0" height="16" fill="#c62828"/>
<rect x="660.0" y="280" width="10" height="16" rx="4" fill="#c62828"/>
<polygon points="1040,288 1024,280 1024,296" fill="#c62828"/>
<text x="246" y="292" font-size="11.5" fill="#333" text-anchor="end">Period D: start only (ongoing)</text>
<line x1="1075" y1="281" x2="1089" y2="295" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="295" x2="1089" y2="281" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="296" y="314" width="394.0" height="16" fill="#c62828"/>
<polygon points="280,322 296,314 296,330" fill="#c62828"/>
<rect x="680.0" y="314" width="10" height="16" rx="4" fill="#c62828"/>
<text x="246" y="326" font-size="11.5" fill="#333" text-anchor="end">Period E: end only (start unknown)</text>
<line x1="1075" y1="315" x2="1089" y2="329" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="329" x2="1089" y2="315" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="296" y="348" width="728" height="16" fill="#c62828"/>
<polygon points="280,356 296,348 296,364" fill="#c62828"/>
<polygon points="1040,356 1024,348 1024,364" fill="#c62828"/>
<text x="246" y="360" font-size="11.5" fill="#333" text-anchor="end">Period F: neither start nor end known</text>
<line x1="1075" y1="349" x2="1089" y2="363" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="363" x2="1089" y2="349" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<line x1="30" y1="376" x2="1130" y2="376" stroke="#eee" stroke-width="1"/>
<text x="30" y="398" font-size="20" font-weight="700" fill="#111">lt</text>
<text x="180" y="398" font-size="12.5" fill="#555">Missing start = -infinity -&gt; almost always overlaps the lower range.</text>
<rect x="260" y="414" width="440.0" height="124" fill="#1565c0" opacity="0.07"/>
<line x1="260" y1="424" x2="1060" y2="424" stroke="#333" stroke-width="1.5"/>
<polygon points="1060,424 1053,420 1053,428" fill="#333"/>
<line x1="700.0" y1="424" x2="700.0" y2="530" stroke="#333" stroke-width="2" />
<text x="700.0" y="414" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Search boundary (2023-06-15)</text>
<rect x="660.0" y="442" width="364.0" height="16" fill="#2e7d32"/>
<rect x="660.0" y="442" width="10" height="16" rx="4" fill="#2e7d32"/>
<polygon points="1040,450 1024,442 1024,458" fill="#2e7d32"/>
<text x="246" y="454" font-size="11.5" fill="#333" text-anchor="end">Period D: start only (ongoing)</text>
<path d="M 1074 450 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="296" y="476" width="394.0" height="16" fill="#2e7d32"/>
<polygon points="280,484 296,476 296,492" fill="#2e7d32"/>
<rect x="680.0" y="476" width="10" height="16" rx="4" fill="#2e7d32"/>
<text x="246" y="488" font-size="11.5" fill="#333" text-anchor="end">Period E: end only (start unknown)</text>
<path d="M 1074 484 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="296" y="510" width="728" height="16" fill="#2e7d32"/>
<polygon points="280,518 296,510 296,526" fill="#2e7d32"/>
<polygon points="1040,518 1024,510 1024,526" fill="#2e7d32"/>
<text x="246" y="522" font-size="11.5" fill="#333" text-anchor="end">Period F: neither start nor end known</text>
<path d="M 1074 518 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<line x1="30" y1="538" x2="1130" y2="538" stroke="#eee" stroke-width="1"/>
<text x="30" y="560" font-size="20" font-weight="700" fill="#111">eb</text>
<text x="180" y="560" font-size="12.5" fill="#555">Missing end = +infinity -&gt; can NEVER lie entirely 'before'.</text>
<rect x="260" y="576" width="440.0" height="124" fill="#1565c0" opacity="0.07"/>
<line x1="260" y1="586" x2="1060" y2="586" stroke="#333" stroke-width="1.5"/>
<polygon points="1060,586 1053,582 1053,590" fill="#333"/>
<line x1="700.0" y1="586" x2="700.0" y2="692" stroke="#333" stroke-width="2" stroke-dasharray="4,4"/>
<text x="700.0" y="576" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Search boundary (2023-06-15)</text>
<rect x="660.0" y="604" width="364.0" height="16" fill="#c62828"/>
<rect x="660.0" y="604" width="10" height="16" rx="4" fill="#c62828"/>
<polygon points="1040,612 1024,604 1024,620" fill="#c62828"/>
<text x="246" y="616" font-size="11.5" fill="#333" text-anchor="end">Period D: start only (ongoing)</text>
<line x1="1075" y1="605" x2="1089" y2="619" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="619" x2="1089" y2="605" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="296" y="638" width="394.0" height="16" fill="#2e7d32"/>
<polygon points="280,646 296,638 296,654" fill="#2e7d32"/>
<rect x="680.0" y="638" width="10" height="16" rx="4" fill="#2e7d32"/>
<text x="246" y="650" font-size="11.5" fill="#333" text-anchor="end">Period E: end only (start unknown)</text>
<path d="M 1074 646 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="296" y="672" width="728" height="16" fill="#c62828"/>
<polygon points="280,680 296,672 296,688" fill="#c62828"/>
<polygon points="1040,680 1024,672 1024,688" fill="#c62828"/>
<text x="246" y="684" font-size="11.5" fill="#333" text-anchor="end">Period F: neither start nor end known</text>
<line x1="1075" y1="673" x2="1089" y2="687" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="1075" y1="687" x2="1089" y2="673" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<rect x="30" y="722" width="18" height="14" rx="3" fill="#2e7d32"/><text x="54" y="734" font-size="12.5" fill="#333">Match</text>
<rect x="130" y="722" width="18" height="14" rx="3" fill="#c62828"/><text x="154" y="734" font-size="12.5" fill="#333">No match</text>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

@@ -0,0 +1,84 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="756" viewBox="0 0 1000 756" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[stroke="#eee"] { stroke: #3a3a3a; }
[stroke="#ffffff"] { stroke: #121212; }
[fill="#2e7d32"] { fill: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
}
</style>
<text x="500.0" y="24" font-size="14" fill="#555" text-anchor="middle">Suchwert: date=&amp;lt;praefix&amp;gt;2023-06-15 | Gruen = Treffer, Rot = kein Treffer</text>
<text x="60" y="56" font-size="20" font-weight="700" fill="#111">gt</text>
<text x="60" y="76" font-size="12.5" fill="#555">Overlap genuegt: Period muss nur ueber die Grenze hinausragen.</text>
<rect x="544.0" y="84" width="396.0" height="16" fill="#1565c0" opacity="0.10"/>
<line x1="60" y1="92" x2="940" y2="92" stroke="#333" stroke-width="1.5"/>
<polygon points="940,92 933,88 933,96" fill="#333"/>
<line x1="544.0" y1="72" x2="544.0" y2="112" stroke="#333" stroke-width="2" />
<text x="544.0" y="66" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Suchgrenze (2023-06-15)</text>
<rect x="100" y="113" width="354.0" height="18" rx="4" fill="#c62828"/>
<line x1="270.0" y1="115" x2="284.0" y2="129" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="270.0" y1="129" x2="284.0" y2="115" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="277.0" y="154" font-size="11" fill="#444" text-anchor="middle">Period A: komplett davor</text>
<rect x="454.0" y="113" width="160.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 526.0 122 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="534.0" y="154" font-size="11" fill="#444" text-anchor="middle">Period B: ueberlappt Grenze</text>
<rect x="614.0" y="113" width="286.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 749.0 122 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="757.0" y="154" font-size="11" fill="#444" text-anchor="middle">Period C: komplett danach</text>
<text x="60" y="226" font-size="20" font-weight="700" fill="#111">sa</text>
<text x="60" y="246" font-size="12.5" fill="#555">Vollstaendige Trennung noetig: Period muss komplett hinter der Grenze liegen.</text>
<rect x="544.0" y="254" width="396.0" height="16" fill="#1565c0" opacity="0.10"/>
<line x1="60" y1="262" x2="940" y2="262" stroke="#333" stroke-width="1.5"/>
<polygon points="940,262 933,258 933,266" fill="#333"/>
<line x1="544.0" y1="242" x2="544.0" y2="282" stroke="#333" stroke-width="2" stroke-dasharray="4,4"/>
<text x="544.0" y="236" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Suchgrenze (2023-06-15)</text>
<rect x="100" y="283" width="354.0" height="18" rx="4" fill="#c62828"/>
<line x1="270.0" y1="285" x2="284.0" y2="299" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="270.0" y1="299" x2="284.0" y2="285" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="277.0" y="324" font-size="11" fill="#444" text-anchor="middle">Period A: komplett davor</text>
<rect x="454.0" y="283" width="160.0" height="18" rx="4" fill="#c62828"/>
<line x1="527.0" y1="285" x2="541.0" y2="299" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="527.0" y1="299" x2="541.0" y2="285" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="534.0" y="324" font-size="11" fill="#444" text-anchor="middle">Period B: ueberlappt Grenze</text>
<rect x="614.0" y="283" width="286.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 749.0 292 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="757.0" y="324" font-size="11" fill="#444" text-anchor="middle">Period C: komplett danach</text>
<line x1="30" y1="361" x2="940" y2="361" stroke="#eee" stroke-width="1"/>
<text x="60" y="396" font-size="20" font-weight="700" fill="#111">lt</text>
<text x="60" y="416" font-size="12.5" fill="#555">Overlap genuegt: Period muss nur vor die Grenze hineinragen.</text>
<rect x="60" y="424" width="484.0" height="16" fill="#1565c0" opacity="0.10"/>
<line x1="60" y1="432" x2="940" y2="432" stroke="#333" stroke-width="1.5"/>
<polygon points="940,432 933,428 933,436" fill="#333"/>
<line x1="544.0" y1="412" x2="544.0" y2="452" stroke="#333" stroke-width="2" />
<text x="544.0" y="406" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Suchgrenze (2023-06-15)</text>
<rect x="100" y="453" width="354.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 269.0 462 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="277.0" y="494" font-size="11" fill="#444" text-anchor="middle">Period A: komplett davor</text>
<rect x="454.0" y="453" width="160.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 526.0 462 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="534.0" y="494" font-size="11" fill="#444" text-anchor="middle">Period B: ueberlappt Grenze</text>
<rect x="614.0" y="453" width="286.0" height="18" rx="4" fill="#c62828"/>
<line x1="750.0" y1="455" x2="764.0" y2="469" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="750.0" y1="469" x2="764.0" y2="455" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="757.0" y="494" font-size="11" fill="#444" text-anchor="middle">Period C: komplett danach</text>
<text x="60" y="566" font-size="20" font-weight="700" fill="#111">eb</text>
<text x="60" y="586" font-size="12.5" fill="#555">Vollstaendige Trennung noetig: Period muss komplett vor der Grenze liegen.</text>
<rect x="60" y="594" width="484.0" height="16" fill="#1565c0" opacity="0.10"/>
<line x1="60" y1="602" x2="940" y2="602" stroke="#333" stroke-width="1.5"/>
<polygon points="940,602 933,598 933,606" fill="#333"/>
<line x1="544.0" y1="582" x2="544.0" y2="622" stroke="#333" stroke-width="2" stroke-dasharray="4,4"/>
<text x="544.0" y="576" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Suchgrenze (2023-06-15)</text>
<rect x="100" y="623" width="354.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 269.0 632 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="277.0" y="664" font-size="11" fill="#444" text-anchor="middle">Period A: komplett davor</text>
<rect x="454.0" y="623" width="160.0" height="18" rx="4" fill="#c62828"/>
<line x1="527.0" y1="625" x2="541.0" y2="639" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="527.0" y1="639" x2="541.0" y2="625" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="534.0" y="664" font-size="11" fill="#444" text-anchor="middle">Period B: ueberlappt Grenze</text>
<rect x="614.0" y="623" width="286.0" height="18" rx="4" fill="#c62828"/>
<line x1="750.0" y1="625" x2="764.0" y2="639" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="750.0" y1="639" x2="764.0" y2="625" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="757.0" y="664" font-size="11" fill="#444" text-anchor="middle">Period C: komplett danach</text>
<rect x="30" y="724" width="18" height="14" rx="3" fill="#2e7d32"/><text x="54" y="736" font-size="12.5" fill="#333">Treffer</text>
<rect x="130" y="724" width="18" height="14" rx="3" fill="#c62828"/><text x="154" y="736" font-size="12.5" fill="#333">kein Treffer</text>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,84 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="756" viewBox="0 0 1000 756" font-family="Latin Modern Roman, CMU Serif, Computer Modern Serif, Georgia, Times New Roman, serif">
<style>
@media (prefers-color-scheme: dark) {
[fill="#111"] { fill: #f2f2f2; }
[fill="#333"] { fill: #d6d6d6; }
[stroke="#333"] { stroke: #d6d6d6; }
[fill="#444"] { fill: #cfcfcf; }
[fill="#555"] { fill: #c2c2c2; }
[stroke="#eee"] { stroke: #3a3a3a; }
[stroke="#ffffff"] { stroke: #121212; }
[fill="#2e7d32"] { fill: #66bb6a; }
[fill="#c62828"] { fill: #ff6659; }
[fill="#1565c0"] { fill: #64b5f6; }
}
</style>
<text x="500.0" y="24" font-size="14" fill="#555" text-anchor="middle">Search value: date=&amp;lt;prefix&amp;gt;2023-06-15 | Green = match, Red = no match</text>
<text x="60" y="56" font-size="20" font-weight="700" fill="#111">gt</text>
<text x="60" y="76" font-size="12.5" fill="#555">Overlap suffices: the period only needs to extend past the boundary.</text>
<rect x="544.0" y="84" width="396.0" height="16" fill="#1565c0" opacity="0.10"/>
<line x1="60" y1="92" x2="940" y2="92" stroke="#333" stroke-width="1.5"/>
<polygon points="940,92 933,88 933,96" fill="#333"/>
<line x1="544.0" y1="72" x2="544.0" y2="112" stroke="#333" stroke-width="2" />
<text x="544.0" y="66" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Search boundary (2023-06-15)</text>
<rect x="100" y="113" width="354.0" height="18" rx="4" fill="#c62828"/>
<line x1="270.0" y1="115" x2="284.0" y2="129" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="270.0" y1="129" x2="284.0" y2="115" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="277.0" y="154" font-size="11" fill="#444" text-anchor="middle">Period A: entirely before</text>
<rect x="454.0" y="113" width="160.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 526.0 122 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="534.0" y="154" font-size="11" fill="#444" text-anchor="middle">Period B: overlaps boundary</text>
<rect x="614.0" y="113" width="286.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 749.0 122 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="757.0" y="154" font-size="11" fill="#444" text-anchor="middle">Period C: entirely after</text>
<text x="60" y="226" font-size="20" font-weight="700" fill="#111">sa</text>
<text x="60" y="246" font-size="12.5" fill="#555">Full separation required: the period must lie entirely beyond the boundary.</text>
<rect x="544.0" y="254" width="396.0" height="16" fill="#1565c0" opacity="0.10"/>
<line x1="60" y1="262" x2="940" y2="262" stroke="#333" stroke-width="1.5"/>
<polygon points="940,262 933,258 933,266" fill="#333"/>
<line x1="544.0" y1="242" x2="544.0" y2="282" stroke="#333" stroke-width="2" stroke-dasharray="4,4"/>
<text x="544.0" y="236" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Search boundary (2023-06-15)</text>
<rect x="100" y="283" width="354.0" height="18" rx="4" fill="#c62828"/>
<line x1="270.0" y1="285" x2="284.0" y2="299" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="270.0" y1="299" x2="284.0" y2="285" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="277.0" y="324" font-size="11" fill="#444" text-anchor="middle">Period A: entirely before</text>
<rect x="454.0" y="283" width="160.0" height="18" rx="4" fill="#c62828"/>
<line x1="527.0" y1="285" x2="541.0" y2="299" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="527.0" y1="299" x2="541.0" y2="285" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="534.0" y="324" font-size="11" fill="#444" text-anchor="middle">Period B: overlaps boundary</text>
<rect x="614.0" y="283" width="286.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 749.0 292 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="757.0" y="324" font-size="11" fill="#444" text-anchor="middle">Period C: entirely after</text>
<line x1="30" y1="361" x2="940" y2="361" stroke="#eee" stroke-width="1"/>
<text x="60" y="396" font-size="20" font-weight="700" fill="#111">lt</text>
<text x="60" y="416" font-size="12.5" fill="#555">Overlap suffices: the period only needs to reach before the boundary.</text>
<rect x="60" y="424" width="484.0" height="16" fill="#1565c0" opacity="0.10"/>
<line x1="60" y1="432" x2="940" y2="432" stroke="#333" stroke-width="1.5"/>
<polygon points="940,432 933,428 933,436" fill="#333"/>
<line x1="544.0" y1="412" x2="544.0" y2="452" stroke="#333" stroke-width="2" />
<text x="544.0" y="406" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Search boundary (2023-06-15)</text>
<rect x="100" y="453" width="354.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 269.0 462 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="277.0" y="494" font-size="11" fill="#444" text-anchor="middle">Period A: entirely before</text>
<rect x="454.0" y="453" width="160.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 526.0 462 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="534.0" y="494" font-size="11" fill="#444" text-anchor="middle">Period B: overlaps boundary</text>
<rect x="614.0" y="453" width="286.0" height="18" rx="4" fill="#c62828"/>
<line x1="750.0" y1="455" x2="764.0" y2="469" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="750.0" y1="469" x2="764.0" y2="455" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="757.0" y="494" font-size="11" fill="#444" text-anchor="middle">Period C: entirely after</text>
<text x="60" y="566" font-size="20" font-weight="700" fill="#111">eb</text>
<text x="60" y="586" font-size="12.5" fill="#555">Full separation required: the period must lie entirely before the boundary.</text>
<rect x="60" y="594" width="484.0" height="16" fill="#1565c0" opacity="0.10"/>
<line x1="60" y1="602" x2="940" y2="602" stroke="#333" stroke-width="1.5"/>
<polygon points="940,602 933,598 933,606" fill="#333"/>
<line x1="544.0" y1="582" x2="544.0" y2="622" stroke="#333" stroke-width="2" stroke-dasharray="4,4"/>
<text x="544.0" y="576" font-size="11.5" fill="#333" text-anchor="middle" font-weight="600">Search boundary (2023-06-15)</text>
<rect x="100" y="623" width="354.0" height="18" rx="4" fill="#2e7d32"/>
<path d="M 269.0 632 l 5 5 l 10 -11" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="277.0" y="664" font-size="11" fill="#444" text-anchor="middle">Period A: entirely before</text>
<rect x="454.0" y="623" width="160.0" height="18" rx="4" fill="#c62828"/>
<line x1="527.0" y1="625" x2="541.0" y2="639" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="527.0" y1="639" x2="541.0" y2="625" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="534.0" y="664" font-size="11" fill="#444" text-anchor="middle">Period B: overlaps boundary</text>
<rect x="614.0" y="623" width="286.0" height="18" rx="4" fill="#c62828"/>
<line x1="750.0" y1="625" x2="764.0" y2="639" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/><line x1="750.0" y1="639" x2="764.0" y2="625" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
<text x="757.0" y="664" font-size="11" fill="#444" text-anchor="middle">Period C: entirely after</text>
<rect x="30" y="724" width="18" height="14" rx="3" fill="#2e7d32"/><text x="54" y="736" font-size="12.5" fill="#333">Match</text>
<rect x="130" y="724" width="18" height="14" rx="3" fill="#c62828"/><text x="154" y="736" font-size="12.5" fill="#333">No match</text>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB