{"id":1803,"date":"2025-09-10T18:29:37","date_gmt":"2025-09-10T18:29:37","guid":{"rendered":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803"},"modified":"2025-09-13T07:20:13","modified_gmt":"2025-09-13T07:20:13","slug":"xml-xslt-ja-xml-skeem","status":"publish","type":"page","link":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803","title":{"rendered":"XML, XSLT ja XML-skeem"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Mis on XML?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>XML (Extensible Markup Language)<\/strong> on <strong>andmete kirjeldamise ja struktureerimise keel<\/strong>.<\/li>\n\n\n\n<li>Kasutatakse andmete vahetamiseks, salvestamiseks ja edastamiseks.<\/li>\n\n\n\n<li>Erinevalt HTML-ist ei kirjelda XML andmete <em>v\u00e4ljan\u00e4gemist<\/em>, vaid nende <em>sisu ja struktuuri<\/em>.<\/li>\n\n\n\n<li>N\u00e4ide:<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;?xml version=\"1.0\" encoding=\"utf-8\" ?>\n&lt;!-- \u0421\u0435\u043c\u0435\u0439\u043d\u043e\u0435 \u0434\u0440\u0435\u0432\u043e -->\n&lt;sugupuu>\n\t&lt;inimene saasta=\"1944\" elukoht=\"Paldiski\">\n\t\t&lt;nimi>Tamara&lt;\/nimi>\n\t\t&lt;perekonnanimi>Zelenina&lt;\/perekonnanimi>\n\t\t&lt;lapsed>\n\t\t\t&lt;inimene saasta=\"1966\" elukoht=\"Tallinn\">\n\t\t\t\t&lt;nimi>Elena&lt;\/nimi>\n\t\t\t\t&lt;perekonnanimi>Sergeeva&lt;\/perekonnanimi>\n\t\t\t\t&lt;lapsed>\n\t\t\t\t\t&lt;inimene saasta=\"1986\" elukoht=\"Tallinn\">\n\t\t\t\t\t\t&lt;nimi>Natalia&lt;\/nimi>\n\t\t\t\t\t\t&lt;perekonnanimi>Volkova&lt;\/perekonnanimi>\n\t\t\t\t\t&lt;\/inimene>\n\t\t\t\t&lt;\/lapsed>\n\t\t\t&lt;\/inimene>\n\t\t&lt;\/lapsed>\n\t&lt;\/inimene>\n&lt;\/sugupuu>\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #5E81AC\">xml<\/span><span style=\"color: #8FBCBB\"> version<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">1.0<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #8FBCBB\"> encoding<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">utf-8<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">&lt;!-- \u0421\u0435\u043c\u0435\u0439\u043d\u043e\u0435 \u0434\u0440\u0435\u0432\u043e --&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;sugupuu&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #81A1C1\">&lt;inimene<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">saasta<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">1944<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">elukoht<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Paldiski<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #81A1C1\">&lt;nimi&gt;<\/span><span style=\"color: #D8DEE9FF\">Tamara<\/span><span style=\"color: #81A1C1\">&lt;\/nimi&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #81A1C1\">&lt;perekonnanimi&gt;<\/span><span style=\"color: #D8DEE9FF\">Zelenina<\/span><span style=\"color: #81A1C1\">&lt;\/perekonnanimi&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #81A1C1\">&lt;lapsed&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;inimene<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">saasta<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">1966<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">elukoht<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Tallinn<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;nimi&gt;<\/span><span style=\"color: #D8DEE9FF\">Elena<\/span><span style=\"color: #81A1C1\">&lt;\/nimi&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;perekonnanimi&gt;<\/span><span style=\"color: #D8DEE9FF\">Sergeeva<\/span><span style=\"color: #81A1C1\">&lt;\/perekonnanimi&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;lapsed&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;inimene<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">saasta<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">1986<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">elukoht<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Tallinn<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;nimi&gt;<\/span><span style=\"color: #D8DEE9FF\">Natalia<\/span><span style=\"color: #81A1C1\">&lt;\/nimi&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;perekonnanimi&gt;<\/span><span style=\"color: #D8DEE9FF\">Volkova<\/span><span style=\"color: #81A1C1\">&lt;\/perekonnanimi&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/inimene&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/lapsed&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/inimene&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/lapsed&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #81A1C1\">&lt;\/inimene&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/sugupuu&gt;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Mis on XSLT?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>XSLT (Extensible Stylesheet Language Transformations)<\/strong> on keel, mida kasutatakse <strong>XML-dokumentide teisendamiseks<\/strong>.<\/li>\n\n\n\n<li>V\u00f5imaldab muuta XML-i n\u00e4iteks:\n<ul class=\"wp-block-list\">\n<li>HTML-leheks (veebis kuvamiseks)<\/li>\n\n\n\n<li>Teiseks XML-struktuuriks<\/li>\n\n\n\n<li>Tekstifailiks v\u00f5i muuks v\u00e4ljundiks<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Kasutab <strong>XSL stiililehte<\/strong>, mis m\u00e4\u00e4rab, kuidas XML-elemente tuleb t\u00f6\u00f6delda.<\/li>\n<\/ul>\n\n\n\n<p>N\u00e4ide: XML teisendamine HTML-i<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?>\n&lt;xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http:\/\/www.w3.org\/1999\/XSL\/Transform\"\n    xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\" exclude-result-prefixes=\"msxsl\">\n    &lt;xsl:output method=\"xml\" indent=\"yes\"\/>\n\n\t&lt;xsl:key name=\"elukohtKey\" match=\"inimene\" use=\"@elukoht\"\/>\n\t\n    &lt;xsl:template match=\"\/\">\n\t\t&lt;h2>Inimeste andmed&lt;\/h2>\n\t\t&lt;table border=\"1\">\n\t\t\t&lt;tr>\n\t\t\t\t&lt;th>Nimi&lt;\/th>\n\t\t\t\t&lt;th>Perekonnanimi&lt;\/th>\n\t\t\t\t&lt;th>S\u00fcnniAasta&lt;\/th>\n\t\t\t\t&lt;th>Vanus&lt;\/th>\n\t\t\t\t&lt;th>Elukoht&lt;\/th>\n\t\t\t\t&lt;th>Laste arv&lt;\/th>\n\t\t\t\t&lt;th>Lapsed&lt;\/th>\n\t\t\t&lt;\/tr>\n\t\t\t&lt;xsl:for-each select=\"\/\/inimene\">\n\t\t\t\t&lt;xsl:variable name=\"nimi\" select=\"nimi\"\/>\n\t\t\t\t&lt;xsl:variable name=\"lasteArv\" select=\"count(lapsed\/inimene)\"\/>\n\t\t\t\t&lt;tr>\n\t\t\t\t\t&lt;td>&lt;xsl:value-of select=\"$nimi\"\/>&lt;\/td>\n\t\t\t\t\t&lt;td>&lt;xsl:value-of select=\"perekonnanimi\"\/>&lt;\/td>\n\t\t\t\t\t&lt;td>&lt;xsl:value-of select=\"@saasta\"\/>&lt;\/td>\n\t\t\t\t\t&lt;td>&lt;xsl:value-of select=\"2025 - number(@saasta)\"\/>&lt;\/td>\n\t\t\t\t\t&lt;td>&lt;xsl:value-of select=\"@elukoht\"\/>&lt;\/td>\n\t\t\t\t\t&lt;td>&lt;xsl:value-of select=\"$lasteArv\"\/>&lt;\/td>\n\t\t\t\t\t&lt;td>\n\t\t\t\t\t\t&lt;xsl:for-each select=\"lapsed\/inimene\">\n\t\t\t\t\t\t\t&lt;xsl:value-of select=\"nimi\"\/>\n\t\t\t\t\t\t\t&lt;xsl:if test=\"position()!=last()\">, &lt;\/xsl:if>\n\t\t\t\t\t\t&lt;\/xsl:for-each>\n\t\t\t\t\t&lt;\/td>\n\t\t\t\t&lt;\/tr>\n\t\t\t&lt;\/xsl:for-each>\n\t\t&lt;\/table>\n\t&lt;\/xsl:template>\n&lt;\/xsl:stylesheet>\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #5E81AC\">xml<\/span><span style=\"color: #8FBCBB\"> version<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">1.0<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #8FBCBB\"> encoding<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">utf-8<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">stylesheet<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">version<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">1.0<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">xmlns<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">http:\/\/www.w3.org\/1999\/XSL\/Transform<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">xmlns<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #8FBCBB\">msxsl<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">urn:schemas-microsoft-com:xslt<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">exclude-result-prefixes<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">msxsl<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">output<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">method<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">xml<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">indent<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">yes<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">key<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">elukohtKey<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">match<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">inimene<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">use<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">@elukoht<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">template<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">match<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\/<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #81A1C1\">&lt;h2&gt;<\/span><span style=\"color: #D8DEE9FF\">Inimeste andmed<\/span><span style=\"color: #81A1C1\">&lt;\/h2&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #81A1C1\">&lt;table<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">border<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">1<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;tr&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;th&gt;<\/span><span style=\"color: #D8DEE9FF\">Nimi<\/span><span style=\"color: #81A1C1\">&lt;\/th&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;th&gt;<\/span><span style=\"color: #D8DEE9FF\">Perekonnanimi<\/span><span style=\"color: #81A1C1\">&lt;\/th&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;th&gt;<\/span><span style=\"color: #D8DEE9FF\">S\u00fcnniAasta<\/span><span style=\"color: #81A1C1\">&lt;\/th&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;th&gt;<\/span><span style=\"color: #D8DEE9FF\">Vanus<\/span><span style=\"color: #81A1C1\">&lt;\/th&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;th&gt;<\/span><span style=\"color: #D8DEE9FF\">Elukoht<\/span><span style=\"color: #81A1C1\">&lt;\/th&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;th&gt;<\/span><span style=\"color: #D8DEE9FF\">Laste arv<\/span><span style=\"color: #81A1C1\">&lt;\/th&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;th&gt;<\/span><span style=\"color: #D8DEE9FF\">Lapsed<\/span><span style=\"color: #81A1C1\">&lt;\/th&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/tr&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">for-each<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\/\/inimene<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">variable<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">nimi<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">nimi<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">variable<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">lasteArv<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">count(lapsed\/inimene)<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;tr&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;td&gt;&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">value-of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">$nimi<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;&lt;\/td&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;td&gt;&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">value-of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">perekonnanimi<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;&lt;\/td&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;td&gt;&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">value-of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">@saasta<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;&lt;\/td&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;td&gt;&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">value-of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">2025 - number(@saasta)<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;&lt;\/td&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;td&gt;&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">value-of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">@elukoht<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;&lt;\/td&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;td&gt;&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">value-of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">$lasteArv<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;&lt;\/td&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;td&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">for-each<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">lapsed\/inimene<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">value-of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">select<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">nimi<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">test<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">position()!=last()<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">if&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">for-each&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/td&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/tr&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">for-each&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #81A1C1\">&lt;\/table&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">template&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #8FBCBB\">xsl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">stylesheet&gt;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Mis on XML-skeem (XSD)?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>XML-skeem (XSD \u2013 XML Schema Definition)<\/strong> m\u00e4\u00e4rab, milline peab XML dokumendi struktuur olema.<\/li>\n\n\n\n<li>Kirjeldab:\n<ul class=\"wp-block-list\">\n<li>Millised elemendid ja atribuudid on lubatud<\/li>\n\n\n\n<li>Millised andmet\u00fc\u00fcbid on (nt number, kuup\u00e4ev, tekst)<\/li>\n\n\n\n<li>Millised elemendid peavad esinema ja millised on valikulised<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tagab XML-andmete <strong>korrektsuse ja valideeritavuse<\/strong>.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;sugupuu xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n         xsi:noNamespaceSchemaLocation=\"sugupuu.xsd\">\n  &lt;inimene saasta=\"1944\" elukoht=\"Paldiski\">\n    &lt;nimi>Tamara&lt;\/nimi>\n    &lt;perekonnanimi>Zelenina&lt;\/perekonnanimi>\n  &lt;\/inimene>\n&lt;\/sugupuu>\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">&lt;sugupuu<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">xmlns<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #8FBCBB\">xsi<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">http:\/\/www.w3.org\/2001\/XMLSchema-instance<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">         <\/span><span style=\"color: #8FBCBB\">xsi<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #8FBCBB\">noNamespaceSchemaLocation<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">sugupuu.xsd<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">&lt;inimene<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">saasta<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">1944<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">elukoht<\/span><span style=\"color: #D8DEE9FF\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Paldiski<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">&lt;nimi&gt;<\/span><span style=\"color: #D8DEE9FF\">Tamara<\/span><span style=\"color: #81A1C1\">&lt;\/nimi&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">&lt;perekonnanimi&gt;<\/span><span style=\"color: #D8DEE9FF\">Zelenina<\/span><span style=\"color: #81A1C1\">&lt;\/perekonnanimi&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">&lt;\/inimene&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/sugupuu&gt;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Kuidas XML-skeemi luua?<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>M\u00e4\u00e4ratle XML struktuur<\/strong> (millised elemendid ja atribuudid vaja).<\/li>\n\n\n\n<li><strong>Kirjuta XSD-fail<\/strong>, kus kirjeldad elemendid, nende t\u00fc\u00fcbid ja j\u00e4rjekorra.<\/li>\n\n\n\n<li><strong>Valideeri XML<\/strong> skeemi vastu spetsiaalse t\u00f6\u00f6riista v\u00f5i tarkvaraga.<\/li>\n<\/ol>\n\n\n\n<p><strong>Sugupuu<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>T\u00f5sta punasega esile nimi, mis sisaldab t\u00e4hte &#8220;A&#8221;<\/li>\n\n\n\n<li>Tee tabel, kus on n\u00e4idatud vanaemad ja nende lapselapsed.<\/li>\n\n\n\n<li>Lisa tabel kellelon auto ja autode nimi.<\/li>\n<\/ol>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1141\" height=\"832\" src=\"https:\/\/github.com\/user-attachments\/assets\/3c5fe6b0-1643-486f-9921-f0030cdaada7\" alt=\"image\"><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/github.com\/user-attachments\/assets\/c230fb0c-ed87-4340-9b80-83a68ca98b27\" alt=\"image\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Mis on XML? \ud83d\udd39 Mis on XSLT? N\u00e4ide: XML teisendamine HTML-i \ud83d\udd39 Mis on XML-skeem (XSD)? \ud83d\udd39 Kuidas XML-skeemi luua? Sugupuu<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1803","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>XML, XSLT ja XML-skeem - Kirill Sats &otilde;pimapp | portfoolio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"XML, XSLT ja XML-skeem - Kirill Sats &otilde;pimapp | portfoolio\" \/>\n<meta property=\"og:description\" content=\"Mis on XML? \ud83d\udd39 Mis on XSLT? N\u00e4ide: XML teisendamine HTML-i \ud83d\udd39 Mis on XML-skeem (XSD)? \ud83d\udd39 Kuidas XML-skeemi luua? Sugupuu\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803\" \/>\n<meta property=\"og:site_name\" content=\"Kirill Sats &otilde;pimapp | portfoolio\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-13T07:20:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.com\/user-attachments\/assets\/3c5fe6b0-1643-486f-9921-f0030cdaada7\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1803\",\"url\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1803\",\"name\":\"XML, XSLT ja XML-skeem - Kirill Sats &otilde;pimapp | portfoolio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1803#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1803#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.com\\\/user-attachments\\\/assets\\\/3c5fe6b0-1643-486f-9921-f0030cdaada7\",\"datePublished\":\"2025-09-10T18:29:37+00:00\",\"dateModified\":\"2025-09-13T07:20:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1803#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1803\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1803#primaryimage\",\"url\":\"https:\\\/\\\/github.com\\\/user-attachments\\\/assets\\\/3c5fe6b0-1643-486f-9921-f0030cdaada7\",\"contentUrl\":\"https:\\\/\\\/github.com\\\/user-attachments\\\/assets\\\/3c5fe6b0-1643-486f-9921-f0030cdaada7\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1803#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"XML, XSLT ja XML-skeem\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/#website\",\"url\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/\",\"name\":\"Kirill Sats &otilde;pimapp | portfoolio\",\"description\":\"Noorem Tarkvaarendaja eriala\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"XML, XSLT ja XML-skeem - Kirill Sats &otilde;pimapp | portfoolio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803","og_locale":"et_EE","og_type":"article","og_title":"XML, XSLT ja XML-skeem - Kirill Sats &otilde;pimapp | portfoolio","og_description":"Mis on XML? \ud83d\udd39 Mis on XSLT? N\u00e4ide: XML teisendamine HTML-i \ud83d\udd39 Mis on XML-skeem (XSD)? \ud83d\udd39 Kuidas XML-skeemi luua? Sugupuu","og_url":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803","og_site_name":"Kirill Sats &otilde;pimapp | portfoolio","article_modified_time":"2025-09-13T07:20:13+00:00","og_image":[{"url":"https:\/\/github.com\/user-attachments\/assets\/3c5fe6b0-1643-486f-9921-f0030cdaada7","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803","url":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803","name":"XML, XSLT ja XML-skeem - Kirill Sats &otilde;pimapp | portfoolio","isPartOf":{"@id":"https:\/\/kirillsats23.thkit.ee\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803#primaryimage"},"image":{"@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803#primaryimage"},"thumbnailUrl":"https:\/\/github.com\/user-attachments\/assets\/3c5fe6b0-1643-486f-9921-f0030cdaada7","datePublished":"2025-09-10T18:29:37+00:00","dateModified":"2025-09-13T07:20:13+00:00","breadcrumb":{"@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803"]}]},{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803#primaryimage","url":"https:\/\/github.com\/user-attachments\/assets\/3c5fe6b0-1643-486f-9921-f0030cdaada7","contentUrl":"https:\/\/github.com\/user-attachments\/assets\/3c5fe6b0-1643-486f-9921-f0030cdaada7"},{"@type":"BreadcrumbList","@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1803#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kirillsats23.thkit.ee\/wp\/"},{"@type":"ListItem","position":2,"name":"XML, XSLT ja XML-skeem"}]},{"@type":"WebSite","@id":"https:\/\/kirillsats23.thkit.ee\/wp\/#website","url":"https:\/\/kirillsats23.thkit.ee\/wp\/","name":"Kirill Sats &otilde;pimapp | portfoolio","description":"Noorem Tarkvaarendaja eriala","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kirillsats23.thkit.ee\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"}]}},"_links":{"self":[{"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/1803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1803"}],"version-history":[{"count":3,"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/1803\/revisions"}],"predecessor-version":[{"id":1837,"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/1803\/revisions\/1837"}],"wp:attachment":[{"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}