💼 Materiály kurzu XML Schema a online kurzu XML Schema
Kurz 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.
- História formátu popisu XML dát
- Základy XSD
- XML a namespace
- Komplexné typy v XSD
- Využitie schém
- Protokoly a webové služby (SOAP)
- SVG
- RSS
- Google služby
- Microsoft Office a ich súbory s rozšíreniami (x na konci - xml):
- docx
- pptx
- xlsx
- vsdx
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="windows-1250"?>
<!-- Ja som jednoriadkový komentár -->
<!--
Ja som
viacriadkový komentár
-->
Otváracia značka (Opening tag): <> Uzatv8racia značka (Closing tag): </>
Rozdelenie značiek:
- Párové (pair): <dokument> <dokument/> v html napr. <div> </div>, <h1> </h1>, <a> </a>, <p> </p>, <video> </video>
- Nepárové (Unpair): <dokument /> v html napr. <br />, <hr />, <img />
<sprava>Ahoj občan</sprava>
<bond kategoria="tajne" popis="agent">007</bond>
- < <
- > >
- & &
- " "
- ' '
Ďalšie entity (HTML)
- € €
- &#NNN; &NNN;
- @ @ Ďalšie znaky z ASCII tabuľka
- Deklarácia/prolog na prvom riadku (žiadne prázdne riadky či komentáre) - odporúčanie
- Každý element XML musí mať začiatočnú aj koncovú značku (tag)
- 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)
- Počiatočné a koncové značky každého elementu musia byť riadne vnorené, elementy sa môžu vnárať, nie prekrývať
- Mená elementov musia začínať písmenom alebo podčiarkovník (Môžu obsahovať číslice, pomlčky, bodky). Nesmie začínať číslom (<101-dalmantincov>) alebo neštandarnými znakmi (<*dalmantincov>)
- Zohľadňujú sa veľkosť písmen (XML a XML Scheme je case sensitive - záleží na velkosti písmen)
- Žiadne slovo XML alebo jeho kombinácie v názvoch elementov
- Atribúty nemôžu obsahovať viaceré hodnoty (elementy môžu)
- Atribúty musia byť uzavreté v úvodzovkách resp. apostrofoch
- Viaceré atribúty v jednom elemente oddelené medzerou
- Notepad++
- Netbeans
- Visual Studio Code
- Microsoft Visual Studio
- Altova XMLSpy
- Online XSD to XML generator
- Visual XSD
- Free Online XML to XSD Converter
- Free Online XSD to XML Converter
- Freeformatter XML Validator
- Freeformatter XSD Generator
- Codebeautify XML Tree Viewe
- XML Notepad
- XBase
- XMetal
- CAMed
- Xerlin
📝 Odporúčané doplnky do Notepad++:
- XML tools
- Npp XML treview
- Python Script (kvôli emmet)
- Emmet/Zen coding
- Random Values
- Converter
- Regex Trainer
Cesta štandardná pluginy Notepad++: C:\Program Files\Notepad++\plugins
Cesta pluginy Notepad++ z Microsoft Store: C:\Users\Administrator\AppData\Roaming\Notepad++\plugins
🔁 Odporúčané doplnky do Visual Studio Code
- W3C Dokumentácia XML
- W3C – Špecifikácia XML
- W3C Dokumentácia XML Schema
- XML Schema Part 1: Structures Second Edition
- XML Schema Part 2: Datatypes Second Edition
- W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures
- W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes
- ZVON – Všetko o XML a ako vytvoriť XML
- Interval – Všetko o odkazoch
- Kosek – Seriál o XML
- W3Schools – Tutorial XML
- W3Schools – Tutorial XML Schema
- Derek Banas – Video tutorial XML
- Emmet toolkit
- Tutorialspoint XML Schemas
- Edutechwiki
- Microsoft podpora typu údajov xsd xml schema
- Google XML Document Format Style Guide
- Global versus Local
- Introducing Design Patterns in XML Schemas
- Balisage Paper: Four Basic Building Principles (Patterns) for XML Schemas
<sprava></sprava>
<predmet></predmet>
<zamestnanec></zamestnanec>
<dokument></dokument>
<pravidlo></pravidlo>
<sprava>
<odosielatel>Adam Sangala</odosielatel>
<prijemca>Martin Marcin</prijemca>
<predmet>Nauč sa XML a XML Schema!</predmet>
<text>Choď na tento skvelý kurz XML Schema(https://www.it-academy.sk/kurz/xml-ii-xml-scheme/).
Naučís s v pohodičke XMLko a schémy 👍. </text>
</sprava>
<!-- Multiplikácia elementu sprava (Multiply element) -->
<!-- sprava*5 -->
<sprava></sprava>
<sprava></sprava>
<sprava></sprava>
<sprava></sprava>
<sprava></sprava>
🎎 Russian doll (Ruská bábika) - Napodobňuje štruktúru XML dokumentu, t. j. prvky v rámci iných prvkov sú deklarované lokálne.
🍕 Salami slice (Salámový plátok) - Rozloží dokument na jednotlivé prvky a poskladá ich do komponentov tak, že na ich odkazuje (cez ref).
🦯 Venetian Blind (Benátsky slepec) - Rozloží dokument na jednotlivé komponenty, ale namiesto deklarácie prvkov vytvorí definície typu.
🍏 Garden of Eden (Edenská Záhrada)
<Kniha>
<Nazov>Harry Potter</Nazov>
<Autor>J. K. Rowlingová</Autor>
</Kniha>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Kniha">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Nazov"/>
<xs:element type="xs:string" name="Autor"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Nazov" type="xs:string"/>
<xs:element name="Autor" type="xs:string"/>
<xs:element name="Kniha">
<xs:complexType>
<xs:sequence>
<xs:element ref="Nazov"/>
<xs:element ref="Autor"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Kniha" type="KnihaType"/>
<xs:complexType name="KnihaType">
<xs:sequence>
<xs:element type="xs:string" name="Nazov"/>
<xs:element type="xs:string" name="Autor"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Princíp | Russian Doll | Venetian Blind |
---|---|---|
Cohesion (Súdržnosť) | High | High |
Coupling (Spojenie) | Low | High |
Reusable Components (Znovupoužitelnosť komponentov) | Low | High |
Type definition/Element declaration | Local | Global |
---|---|---|
Local | Russian Doll | Salami Slice |
Global | Venetian Blind | Garden of Eden |