{"id":18291705,"url":"https://github.com/miroslav-reiter/kurz_xml_schema","last_synced_at":"2026-01-21T07:33:21.436Z","repository":{"id":45862495,"uuid":"435419113","full_name":"miroslav-reiter/Kurz_XML_Schema","owner":"miroslav-reiter","description":"🏷️ Materiály z kurzu XML II. XML Schema","archived":false,"fork":false,"pushed_at":"2023-01-27T14:04:03.000Z","size":13881,"stargazers_count":2,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-09T18:36:56.593Z","etag":null,"topics":["reiter","schema","soa","webservice","webservices","xml","xml-parsing","xml-schema"],"latest_commit_sha":null,"homepage":"https://www.it-academy.sk/kurz/xml-ii-xml-scheme/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miroslav-reiter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-06T08:37:47.000Z","updated_at":"2023-03-05T13:22:34.000Z","dependencies_parsed_at":"2023-02-15T10:00:56.245Z","dependency_job_id":null,"html_url":"https://github.com/miroslav-reiter/Kurz_XML_Schema","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/miroslav-reiter/Kurz_XML_Schema","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslav-reiter%2FKurz_XML_Schema","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslav-reiter%2FKurz_XML_Schema/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslav-reiter%2FKurz_XML_Schema/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslav-reiter%2FKurz_XML_Schema/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miroslav-reiter","download_url":"https://codeload.github.com/miroslav-reiter/Kurz_XML_Schema/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslav-reiter%2FKurz_XML_Schema/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28629915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["reiter","schema","soa","webservice","webservices","xml","xml-parsing","xml-schema"],"created_at":"2024-11-05T14:14:55.194Z","updated_at":"2026-01-21T07:33:21.416Z","avatar_url":"https://github.com/miroslav-reiter.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏷️ Kurz XML II. XML Schema\n:briefcase: Materiály [kurzu XML Schema](https://www.it-academy.sk/kurz/xml-ii-xml-scheme/) a [online kurzu XML Schema](https://www.vita.sk/online-kurz-xml-ii-xml-schema/)\n\n## 📑 Anotácia a Osnova kurzu \nKurz je určený všetkým, ktorý sa chcú zoznámiť s **použitím** a **vytváraním schém XSD pre XML dokumenty**. Význam a využitie schém vzhľadom k rozvoju **webových služieb** neustále rastie. Na kurze sa naučíš **využívať hotové schémy** a **vytvárať vlastné**, vrátane zložitých podmienok pre **overenie správnosti obsahu XML** dokumentov.\n\n1. História formátu popisu XML dát\n2. Základy XSD\n3. XML a namespace\n4. Komplexné typy v XSD\n5. Využitie schém\n\n## :heavy_check_mark: Využitie XML a XML Schema\n1. **Protokoly a webové služby (SOAP)**\n2. SVG\n3. RSS\n4. Google služby\n5. Microsoft Office a ich súbory s rozšíreniami (**x** na konci - xml):\n   - doc**x**\n   - ppt**x**\n   - xls**x**\n   - vsd**x**\n\n## :evergreen_tree: Štruktúra XML\n\n### :closed_book: Deklarácia/prolog XML\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003c?xml version=\"1.0\" encoding=\"windows-1250\"?\u003e\n```\n### :speech_balloon: Komentáre XML\n```xml\n\u003c!-- Ja som jednoriadkový komentár --\u003e\n```\n\n```xml\n\u003c!-- \n   Ja som  \n   viacriadkový komentár\n--\u003e\n```\n### :safety_pin: Tagy - značky (Tags)\nOtváracia značka (Opening tag): \u003c\u003e\t\nUzatv8racia značka (Closing tag): \u003c/\u003e\n\nRozdelenie značiek:\n- **Párové (pair)**: \\\u003cdokument\u003e \\\u003cdokument/\u003e v html napr. \\\u003cdiv\u003e \\\u003c/div\u003e, \\\u003ch1\u003e \\\u003c/h1\u003e, \\\u003ca\u003e \\\u003c/a\u003e, \\\u003cp\u003e \\\u003c/p\u003e, \\\u003cvideo\u003e \\\u003c/video\u003e\n- **Nepárové (Unpair)**: \\\u003cdokument /\u003e v html napr. \\\u003cbr /\u003e, \\\u003chr /\u003e, \\\u003cimg /\u003e\n\n### :blue_book: Elementy (tvorí otváracia + uzatváracia značka a obsah, dajú sa vnárať do seba)\n```xml\n\u003csprava\u003eAhoj občan\u003c/sprava\u003e\n```\n### :label: Atribúty (súčasťou otváracej značky, môže ich byť viac, nedajú sa vnárať do seba)\n```xml\n\u003cbond kategoria=\"tajne\" popis=\"agent\"\u003e007\u003c/bond\u003e\n```\n### :earth_africa: Znakové entity\n- \u0026lt;   \\\u0026lt;\n- \u0026gt;   \\\u0026gt;\n- \u0026amp;  \\\u0026amp;\n- \u0026quot; \\\u0026quot;\n- \u0026apos; \\\u0026apos;\n\n**Ďalšie entity (HTML)**\n- \u0026euro; \\\u0026euro;\n- \u0026#NNN; \\\u0026NNN;\n- \u0026#064; \\\u0026#064;\nĎalšie znaky z [ASCII tabuľka](https://sk.wikipedia.org/wiki/ASCII)\n\n## :bangbang: Základné pravidlá pre správne formátovanie/štruktúrovanie/správna syntax XML (well-formed)\n1. Deklarácia/prolog na prvom riadku (žiadne prázdne riadky či komentáre) - odporúčanie\n2. **Každý** **element** XML musí mať **začiatočnú** aj **koncovú značku** (tag)\n3. Dokument XML musí obsahovať jediný pár značiek (skladajúci sa zo začiatočnej a koncovej značky), tzv. **koreňový element dokumentu** (root)\n4. Počiatočné a koncové značky každého elementu musia byť riadne vnorené, elementy sa môžu vnárať, nie prekrývať\n5. Mená elementov musia začínať písmenom alebo podčiarkovník (Môžu obsahovať číslice, pomlčky, bodky). Nesmie začínať číslom (\u003c101-dalmantincov\u003e) alebo neštandarnými znakmi (\u003c*dalmantincov\u003e)\n6. Zohľadňujú sa veľkosť písmen (XML a XML Scheme je case sensitive - záleží na velkosti písmen)\n7. Žiadne slovo XML alebo jeho kombinácie v názvoch elementov\n8. Atribúty nemôžu obsahovať viaceré hodnoty (elementy môžu)\n9. **Atribúty** **musia** byť **uzavreté** v **úvodzovkách** resp. apostrofoch\n10. Viaceré atribúty v jednom elemente oddelené medzerou\n\n## :hammer_and_wrench: Nástroje na XML a XSD\n1. [**Notepad++**](https://notepad-plus-plus.org/downloads/)\n2. [**Netbeans**](https://netbeans.apache.org/download/index.html)\n3. [**Visual Studio Code**](https://code.visualstudio.com/)\n4. Microsoft Visual Studio\n5. [**Altova XMLSpy**](https://www.altova.com/xmlspy-xml-editor/download#)\n6. [**Online XSD to XML generator**](http://xsd2xml.com/)\n7. [**Visual XSD**](http://visualxsd.com/)\n8. [**Free Online XML to XSD Converter**](https://www.liquid-technologies.com/online-xml-to-xsd-converter)\n9. [**Free Online XSD to XML Converter**](https://www.liquid-technologies.com/online-xsd-to-xml-converter)\n10. [**Freeformatter XML Validator**](https://www.freeformatter.com/xml-validator-xsd.html)\n11. [**Freeformatter XSD Generator**](https://www.freeformatter.com/xsd-generator.html)\n12. [**Codebeautify XML Tree Viewe**](https://codebeautify.org/xmlviewer)\n13. XML Notepad\n14. XBase\n15. XMetal\n16. CAMed\n17. Xerlin\n\n:memo: Odporúčané doplnky do [**Notepad++**](https://notepad-plus-plus.org/downloads):\n1. [**XML tools**](https://github.com/morbac/xmltools )\n2. **Npp XML treview**\n3. Python Script \t(kvôli emmet)\n4. [**Emmet/Zen coding**](https://emmet.io/)\n5. Random Values\n6. Converter\n7. Regex Trainer\n\n**Cesta štandardná** pluginy Notepad++:\nC:\\Program Files\\Notepad++\\plugins\n \n**Cesta** pluginy Notepad++ z **Microsoft Store**:\nC:\\Users\\Administrator\\AppData\\Roaming\\Notepad++\\plugins\n\n:repeat: Odporúčané doplnky do [**Visual Studio Code**](https://code.visualstudio.com/)\n1. [**XML Complete Rogalmic**](https://marketplace.visualstudio.com/items?itemName=rogalmic.vscode-xml-complete)\n2. [**XML Red Hat**](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-xml)\n3. [**Emmet/Zen coding Mithril**](https://emmet.io/)\n\n### 📄 Dokumentácia\n1. [W3C Dokumentácia XML](https://www.w3.org/TR/xml/)\n2. [W3C – Špecifikácia XML](http://www.w3.org/XML/)\n3. [W3C Dokumentácia XML Schema](https://www.w3.org/TR/xmlschema11-1/)\n4. [XML Schema Part 1: Structures Second Edition](https://www.w3.org/TR/xml/](https://www.w3.org/TR/xmlschema-1/))\n5. [XML Schema Part 2: Datatypes Second Edition](https://www.w3.org/TR/xmlschema-2/)\n6. [W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures](https://www.w3.org/TR/xmlschema11-1/)\n5. [W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes](https://www.w3.org/TR/xmlschema-2/)\n\n### :books: Odporúčané zdroje\n1. [ZVON – Všetko o XML a ako vytvoriť XML](http://www.zvon.org/) \n2. [Interval – Všetko o odkazoch](http://interval.cz/clanky/slabikar-xml-odkazy/)\n3. [Kosek – Seriál o XML](http://www.kosek.cz/clanky/swn-xml/index.html)\n4. [W3Schools – Tutorial XML](http://www.w3schools.com/xml/default.asp)\n5. [W3Schools – Tutorial XML Schema](https://www.w3schools.com/xml/schema_intro.asp)\n6. [Derek Banas – Video tutorial XML](https://www.youtube.com/watch?v=tAN-1xUsftg\u0026list=PLBB413675AFBDC1F4)\n7. [Emmet toolkit](https://emmet.io/)\n8. [Tutorialspoint XML Schemas](https://www.tutorialspoint.com/xml/xml_schemas.htm#)\n9. [Edutechwiki](https://edutechwiki.unige.ch/en/XML_Schema_tutorial_-_Basics)\n10. [Microsoft podpora typu údajov xsd xml schema](https://support.microsoft.com/sk-sk/office/podpora-typu-údajov-xsd-xml-schema-definition-7cd3c906-9b9e-4a64-ba77-1b23dc5c771c)\n11. [Google XML Document Format Style Guide](https://google.github.io/styleguide/xmlstyle.html)\n12. [Global versus Local](http://www.xfront.com/GlobalVersusLocal.html#SecondDesign)\n13. [Introducing Design Patterns in XML Schemas](https://www.oracle.com/technical-resources/articles/java/design-patterns.html)\n14. [Balisage Paper: Four Basic Building Principles (Patterns) for XML Schemas](https://www.balisage.net/Proceedings/vol25/print/Bruggemann-Klein01/BalisageVol25-Bruggemann-Klein01.html)\n\n### Vzorové XML elementy\n```xml\n\u003csprava\u003e\u003c/sprava\u003e\n\u003cpredmet\u003e\u003c/predmet\u003e\n\u003czamestnanec\u003e\u003c/zamestnanec\u003e\n\u003cdokument\u003e\u003c/dokument\u003e\n\u003cpravidlo\u003e\u003c/pravidlo\u003e\n```\n### Vnorenie (childing) XML elementov\n```xml\n\u003csprava\u003e\n   \u003codosielatel\u003eAdam Sangala\u003c/odosielatel\u003e\n   \u003cprijemca\u003eMartin Marcin\u003c/prijemca\u003e\n   \u003cpredmet\u003eNauč sa XML a XML Schema!\u003c/predmet\u003e\n   \u003ctext\u003eChoď na tento skvelý kurz XML Schema(https://www.it-academy.sk/kurz/xml-ii-xml-scheme/). \n      Naučís s v pohodičke XMLko a schémy 👍. \u003c/text\u003e\n\u003c/sprava\u003e\n```\n### Vzorové použitie Emmet/Zen coding\n```xml\n\u003c!-- Multiplikácia elementu sprava (Multiply element)  --\u003e\n\u003c!-- sprava*5 --\u003e\n\u003csprava\u003e\u003c/sprava\u003e\n\u003csprava\u003e\u003c/sprava\u003e\n\u003csprava\u003e\u003c/sprava\u003e\n\u003csprava\u003e\u003c/sprava\u003e\n\u003csprava\u003e\u003c/sprava\u003e\n```\n## XML Schema Návrhové vzory (Schema desing patterns)\n🎎 Russian doll (Ruská bábika) - **Napodobňuje štruktúru XML dokumentu**, t. j. prvky v rámci iných prvkov sú **deklarované** **lokálne**.  \n🍕 Salami slice (Salámový plátok) - **Rozloží dokument na jednotlivé prvky** a **poskladá** ich do **komponentov** tak, že **na ich odkazuje** (cez **ref**).  \n🦯 Venetian Blind (Benátsky slepec) - Rozloží dokument na **jednotlivé** **komponenty**, ale namiesto deklarácie prvkov **vytvorí definície typu**.  \n🍏 Garden of Eden (Edenská Záhrada) \n\n```xml\n\u003cKniha\u003e\n        \u003cNazov\u003eHarry Potter\u003c/Nazov\u003e\n        \u003cAutor\u003eJ. K. Rowlingová\u003c/Autor\u003e\n\u003c/Kniha\u003e\n```\n### 🎎 Russian doll\n```xml\n\u003cxs:schema attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\u003e\n  \u003cxs:element name=\"Kniha\"\u003e\n    \u003cxs:complexType\u003e\n      \u003cxs:sequence\u003e\n        \u003cxs:element type=\"xs:string\" name=\"Nazov\"/\u003e\n        \u003cxs:element type=\"xs:string\" name=\"Autor\"/\u003e\n      \u003c/xs:sequence\u003e\n    \u003c/xs:complexType\u003e\n  \u003c/xs:element\u003e\n\u003c/xs:schema\u003e\n```\n\n### 🍕 Salami slice\n```xml\n\u003cxs:schema attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\u003e\n  \u003cxs:element name=\"Nazov\" type=\"xs:string\"/\u003e\n  \u003cxs:element name=\"Autor\" type=\"xs:string\"/\u003e\n  \u003cxs:element name=\"Kniha\"\u003e\n    \u003cxs:complexType\u003e\n      \u003cxs:sequence\u003e\n        \u003cxs:element ref=\"Nazov\"/\u003e\n        \u003cxs:element ref=\"Autor\"/\u003e\n      \u003c/xs:sequence\u003e\n    \u003c/xs:complexType\u003e\n  \u003c/xs:element\u003e\n\u003c/xs:schema\u003e\n```\n### 🦯 Venetian Blind\n```xml\n\u003cxs:schema attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\u003e\n  \u003cxs:element name=\"Kniha\" type=\"KnihaType\"/\u003e\n  \u003cxs:complexType name=\"KnihaType\"\u003e\n    \u003cxs:sequence\u003e\n      \u003cxs:element type=\"xs:string\" name=\"Nazov\"/\u003e\n      \u003cxs:element type=\"xs:string\" name=\"Autor\"/\u003e\n    \u003c/xs:sequence\u003e\n  \u003c/xs:complexType\u003e\n\u003c/xs:schema\u003e\n```\n\n|      Princíp      | Russian Doll | Venetian Blind |\n|:-------------------:|:-----------------------:|:-------------------------:|\n| Cohesion (Súdržnosť)            | High                    | High                      |\n| Coupling (Spojenie)            | Low                     | High                      |\n| Reusable Components (Znovupoužitelnosť komponentov) | Low                     | High                      |\n\n### Matica návrhových vzorov XML Schema\n| Type definition/Element declaration |      Local     |     Global     |\n|:-----------------------------------:|:--------------:|:--------------:|\n| Local                               | Russian Doll   | Salami Slice   |\n| Global                              | Venetian Blind | Garden of Eden |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiroslav-reiter%2Fkurz_xml_schema","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiroslav-reiter%2Fkurz_xml_schema","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiroslav-reiter%2Fkurz_xml_schema/lists"}