-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Refactoring: replace deprecated assertEqual * Refactoring: replace deprecated App::pluginPath * Refactoring: move EDEXML 1.0.3 files to separate directory * Fixed typo * Added EDEXML 2.0 XSD's and sample files * Added support for EDEXML 2.0 * Fixed tests
- Loading branch information
1 parent
2ef3bec
commit 0cdc02f
Showing
15 changed files
with
2,531 additions
and
29 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,270 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- edited with XMLSpy v2013 (http://www.altova.com) by () --> | ||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> | ||
<xs:annotation> | ||
<xs:documentation> | ||
<versie>2.0 CONCEPT</versie> | ||
<auteur>Geert Evers, Gerrit Jansen en Jurgen Kevelaers. Input van Marc Fleischeuers en Erik Siegel.</auteur> | ||
<omschrijving>Dit document definieert de objecten van de EDEX Mark-up Language EDEXML</omschrijving> | ||
</xs:documentation> | ||
</xs:annotation> | ||
<xs:include schemaLocation="EDEXML.types.vast.xsd"/> | ||
<xs:include schemaLocation="EDEXML.types.variabel.xsd"/> | ||
<xs:complexType name="SchoolType"> | ||
<xs:sequence> | ||
<xs:element name="schooljaar" type="EDEXSchooljaarType"/> | ||
<xs:element name="peildatum" type="xs:date" minOccurs="0"/> | ||
<xs:choice> | ||
<xs:sequence> | ||
<xs:element name="brincode" type="EDEXBrincodeType"/> | ||
<xs:element name="dependancecode" type="EDEXDependancecodeType" minOccurs="0"> | ||
<xs:annotation> | ||
<xs:documentation>De inhoud 00 betekent hetzelfde als leeg</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="schoolkey" type="EDEXKeyType" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:sequence> | ||
<xs:element name="instellingsnummer" type="EDEXInstellingsnummerType"/> | ||
<xs:element name="schoolkey" type="EDEXKeyType" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:element name="schoolkey" type="EDEXKeyType" minOccurs="0"/> | ||
</xs:choice> | ||
<xs:element name="aanmaakdatum" type="xs:dateTime" minOccurs="0"/> | ||
<xs:element name="auteur" type="EDEXString128Type" minOccurs="0"/> | ||
<xs:element name="xsdversie" type="EDEXString32Type" minOccurs="0"> | ||
<xs:annotation> | ||
<xs:documentation>Altijd gelijk aan de versie van de XSD waaraan gerefereerd wordt</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="commentaar" type="xs:string" minOccurs="0"/> | ||
<xs:element name="toevoegingen" minOccurs="0"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="blok" type="ToevoegingsBlokType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
</xs:sequence> | ||
</xs:complexType> | ||
<xs:complexType name="SchoolReferentieType"> | ||
<xs:choice> | ||
<xs:sequence> | ||
<xs:element name="brincode"> | ||
<xs:annotation> | ||
<xs:documentation>Brincode school. Formaat 99XX, evt gevolg door 1 tot 2 cijfers | ||
</xs:documentation> | ||
</xs:annotation> | ||
<xs:simpleType> | ||
<xs:restriction base="xs:string"> | ||
<xs:pattern value="\p{Nd}{2}\p{Lu}{2}\p{Nd}{0,2}"/> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:element> | ||
<xs:element name="dependancecode" minOccurs="0"> | ||
<xs:simpleType> | ||
<xs:restriction base="EDEXDependancecodeType"> | ||
<xs:pattern value="\p{Nd}{2}"/> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:element> | ||
<xs:element name="schoolkey" type="EDEXKeyType" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:element name="schoolkey" type="EDEXKeyType" minOccurs="0"/> | ||
</xs:choice> | ||
</xs:complexType> | ||
<xs:complexType name="VestigingType"> | ||
<xs:sequence> | ||
<xs:element name="naam" type="EDEXString64Type"/> | ||
<xs:element name="omschrijving" type="EDEXString256Type" minOccurs="0"/> | ||
<xs:element name="mutatiedatum" type="xs:dateTime" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="VestigingReferentieType"> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="GroepType"> | ||
<xs:sequence> | ||
<xs:element name="naam" type="EDEXString64Type"/> | ||
<xs:element name="jaargroep" type="EDEXJaargroepType"/> | ||
<xs:element name="omschrijving" type="EDEXString256Type" minOccurs="0"/> | ||
<xs:element name="toevoegingen" minOccurs="0"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="blok" type="ToevoegingsBlokType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="mutatiedatum" type="xs:dateTime" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="SamengesteldeGroepType"> | ||
<xs:sequence> | ||
<xs:element name="naam" type="EDEXString64Type"/> | ||
<xs:element name="omschrijving" type="EDEXString256Type" minOccurs="0"/> | ||
<xs:element name="toevoegingen" minOccurs="0"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="blok" type="ToevoegingsBlokType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="mutatiedatum" type="xs:dateTime" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="GroepReferentieType"> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="GroepenReferentieType"> | ||
<xs:sequence> | ||
<xs:element name="groep" type="GroepReferentieType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
<xs:complexType name="SamengesteldeGroepenReferentieType"> | ||
<xs:sequence> | ||
<xs:element name="samengestelde_groep" type="GroepReferentieType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
<xs:complexType name="LeerlingenReferentieType" final="extension"> | ||
<xs:sequence> | ||
<xs:element name="leerling" type="LeerlingReferentieType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
<xs:complexType name="LeerlingType"> | ||
<xs:sequence> | ||
<xs:choice> | ||
<xs:sequence> | ||
<xs:element name="achternaam" type="EDEXAchternaamType"/> | ||
<xs:element name="voorvoegsel" type="EDEXVoorvoegselType" minOccurs="0"/> | ||
<xs:element name="voornamen" type="EDEXVoornamenType" minOccurs="0"/> | ||
<xs:element name="voorletters-1" type="EDEXVoorletters-1Type" minOccurs="0"/> | ||
<xs:element name="roepnaam" type="EDEXString64Type" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:element name="roepnaam" type="EDEXString64Type"/> | ||
</xs:choice> | ||
<xs:element name="geboortedatum" type="xs:date" minOccurs="0"/> | ||
<xs:element name="geslacht" type="EDEXGeslachtType" minOccurs="0"/> | ||
<xs:element name="start_ondw_jgr3" type="xs:date" minOccurs="0"/> | ||
<xs:element name="jaargroep" type="EDEXJaargroepType" minOccurs="0"/> | ||
<xs:element name="groep" type="GroepReferentieType" minOccurs="0"/> | ||
<xs:element name="samengestelde_groepen" type="SamengesteldeGroepenReferentieType" minOccurs="0"/> | ||
<xs:element name="vestiging" type="VestigingReferentieType" minOccurs="0"/> | ||
<xs:element name="gebruikersnaam" type="EDEXGebruikersnaamType" minOccurs="0"/> | ||
<xs:element name="emailadres" type="EDEXString256Type" minOccurs="0"/> | ||
<xs:element name="fotourl" type="EDEXString256Type" minOccurs="0"/> | ||
<xs:element name="etniciteit" type="EDEXEtniciteitType" minOccurs="0"/> | ||
<xs:element name="land" type="EDEXLandType" minOccurs="0"/> | ||
<xs:element name="land_vader" type="EDEXLandType" minOccurs="0"/> | ||
<xs:element name="land_moeder" type="EDEXLandType" minOccurs="0"/> | ||
<xs:choice> | ||
<xs:element name="sofinummer" type="EDEXSofinummerType" minOccurs="0"/> | ||
<xs:element name="bsn" type="EDEXBsnType" minOccurs="0"/> | ||
<xs:element name="onderwijsnummer" type="EDEXOnderwijsnummerType" minOccurs="0"/> | ||
<xs:element name="bsn_ondwnr-4" type="EDEXBsnOndwnr-4Type" minOccurs="0"/> | ||
<xs:element name="rijksregisternummer" type="EDEXRijksregisternummerType" minOccurs="0"/> | ||
</xs:choice> | ||
<xs:element name="gewicht_nieuw" type="EDEXLrlGewichtNieuwType" minOccurs="0"/> | ||
<xs:element name="gewicht" type="EDEXLrlGewichtType" minOccurs="0"/> | ||
<xs:choice> | ||
<xs:element name="postcodenl" type="EDEXPostcodeNlType" minOccurs="0"/> | ||
<xs:element name="postnummerbe" type="EDEXPostnummerBeType" minOccurs="0"/> | ||
<xs:element name="postcodeoverig" type="EDEXString32Type" minOccurs="0"/> | ||
</xs:choice> | ||
<xs:element name="instroomdatum" type="xs:date" minOccurs="0"/> | ||
<xs:element name="uitstroomdatum" type="xs:date" minOccurs="0"/> | ||
<xs:element name="toevoegingen" minOccurs="0"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="blok" type="ToevoegingsBlokType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="mutatiedatum" type="xs:dateTime" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="LeerlingReferentieType" final="extension"> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="LeerkrachtenReferentieType" final="extension"> | ||
<xs:sequence> | ||
<xs:element name="leerkracht" type="LeerkrachtReferentieType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
<xs:complexType name="LeerkrachtType"> | ||
<xs:sequence> | ||
<xs:choice> | ||
<xs:sequence> | ||
<xs:element name="achternaam" type="EDEXAchternaamType"/> | ||
<xs:element name="voorvoegsel" type="EDEXVoorvoegselType" minOccurs="0"/> | ||
<xs:element name="voornamen" type="EDEXVoornamenType" minOccurs="0"/> | ||
<xs:element name="voorletters-1" type="EDEXVoorletters-1Type" minOccurs="0"/> | ||
<xs:element name="roepnaam" type="EDEXString64Type" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:element name="roepnaam" type="EDEXString64Type"/> | ||
</xs:choice> | ||
<xs:element name="gebruikersnaam" type="EDEXGebruikersnaamType" minOccurs="0"/> | ||
<xs:element name="emailadres" type="EDEXString256Type" minOccurs="0"/> | ||
<xs:sequence minOccurs="0" maxOccurs="unbounded"> | ||
<xs:choice> | ||
<xs:element name="rol" type="EDEXLeerkrachtRolType"/> | ||
<xs:element name="rolomschrijving" type="EDEXRolOmschtijvingType"/> | ||
</xs:choice> | ||
</xs:sequence> | ||
<xs:element name="groepen" type="LeerkrachtGroepenReferentieType" minOccurs="0"/> | ||
<xs:element name="toevoegingen" minOccurs="0"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="blok" type="ToevoegingsBlokType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="mutatiedatum" type="xs:dateTime" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="LeerkrachtReferentieType" final="extension"> | ||
<xs:attribute name="key" type="EDEXKeyType" use="required"/> | ||
</xs:complexType> | ||
<xs:complexType name="LeerkrachtGroepenReferentieType"> | ||
<xs:sequence maxOccurs="unbounded"> | ||
<xs:choice> | ||
<xs:element name="groep"> | ||
<xs:complexType> | ||
<xs:complexContent> | ||
<xs:extension base="LeerkrachtGroepReferentieType"/> | ||
</xs:complexContent> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="samengestelde_groep"> | ||
<xs:complexType> | ||
<xs:complexContent> | ||
<xs:extension base="LeerkrachtGroepReferentieType"/> | ||
</xs:complexContent> | ||
</xs:complexType> | ||
</xs:element> | ||
</xs:choice> | ||
</xs:sequence> | ||
</xs:complexType> | ||
<xs:complexType name="LeerkrachtGroepReferentieType"> | ||
<xs:complexContent> | ||
<xs:extension base="GroepReferentieType"> | ||
<xs:sequence minOccurs="0" maxOccurs="unbounded"> | ||
<xs:choice> | ||
<xs:element name="rol" type="EDEXLeerkrachtRolType"/> | ||
<xs:element name="rolomschrijving" type="EDEXRolOmschtijvingType"/> | ||
</xs:choice> | ||
</xs:sequence> | ||
</xs:extension> | ||
</xs:complexContent> | ||
</xs:complexType> | ||
<xs:complexType name="ToevoegingsBlokType" abstract="true"> | ||
<xs:sequence> | ||
<xs:element name="code" type="EDEXString64Type"/> | ||
<xs:element name="omschrijving" type="xs:string" minOccurs="0"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:schema> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- edited with XMLSpy v2013 (http://www.altova.com) by () --> | ||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> | ||
<xs:annotation> | ||
<xs:documentation> | ||
<versie>2.0 CONCEPT</versie> | ||
<auteur>Geert Evers, Gerrit Jansen en Jurgen Kevelaers. Input van Marc Fleischeuers en Erik Siegel.</auteur> | ||
<omschrijving>Dit document definieert de structuur voor het opslaan van EDEX data in de EDEX Mark-up Language EDEXML</omschrijving> | ||
</xs:documentation> | ||
</xs:annotation> | ||
<xs:include schemaLocation="EDEXML.elementen.xsd"/> | ||
<xs:element name="EDEX" type="EDEXType"> | ||
<xs:unique name="groepKeyUnique"> | ||
<xs:selector xpath="groepen/*"/> | ||
<xs:field xpath="@key"/> | ||
</xs:unique> | ||
<xs:key name="groepsKey"> | ||
<xs:selector xpath="groepen/groep"/> | ||
<xs:field xpath="@key"/> | ||
</xs:key> | ||
<xs:key name="samengesteldegroepsKey"> | ||
<xs:selector xpath="groepen/samengestelde_groep"/> | ||
<xs:field xpath="@key"/> | ||
</xs:key> | ||
<xs:key name="leerlingKey"> | ||
<xs:selector xpath="leerlingen/leerling"/> | ||
<xs:field xpath="@key"/> | ||
</xs:key> | ||
<xs:keyref name="groepsRefLeerling" refer="groepsKey"> | ||
<xs:selector xpath="leerlingen/leerling/groep"/> | ||
<xs:field xpath="@key"/> | ||
</xs:keyref> | ||
<xs:keyref name="samengesteldegroepsRefLeerling" refer="samengesteldegroepsKey"> | ||
<xs:selector xpath="leerlingen/leerling/samengestelde_groepen/samengestelde_groep"/> | ||
<xs:field xpath="@key"/> | ||
</xs:keyref> | ||
<xs:key name="leerkrachtKey"> | ||
<xs:selector xpath="leerkrachten/leerkracht"/> | ||
<xs:field xpath="@key"/> | ||
</xs:key> | ||
<xs:keyref name="groepsRefLeerkracht" refer="groepsKey"> | ||
<xs:selector xpath="leerkrachten/leerkracht/groepen/groep"/> | ||
<xs:field xpath="@key"/> | ||
</xs:keyref> | ||
<xs:keyref name="samengesteldegroepsRefLeerkracht" refer="samengesteldegroepsKey"> | ||
<xs:selector xpath="leerkrachten/leerkracht/groepen/samengestelde_groep"/> | ||
<xs:field xpath="@key"/> | ||
</xs:keyref> | ||
<xs:key name="vestigingsKey"> | ||
<xs:selector xpath="vestigingen/vestiging"/> | ||
<xs:field xpath="@key"/> | ||
</xs:key> | ||
<xs:keyref name="vestigingsRefLeerling" refer="vestigingsKey"> | ||
<xs:selector xpath="leerlingen/leerling/vestiging"/> | ||
<xs:field xpath="@key"/> | ||
</xs:keyref> | ||
</xs:element> | ||
<xs:complexType name="EDEXType"> | ||
<xs:sequence> | ||
<xs:element name="school" type="SchoolType"/> | ||
<xs:element name="vestigingen" minOccurs="0"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="vestiging" type="VestigingType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="groepen" minOccurs="0"> | ||
<xs:complexType> | ||
<xs:sequence maxOccurs="unbounded"> | ||
<xs:choice> | ||
<xs:element name="groep" type="GroepType"/> | ||
<xs:element name="samengestelde_groep" type="SamengesteldeGroepType"/> | ||
</xs:choice> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="leerlingen"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="leerling" type="LeerlingType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="leerkrachten" minOccurs="0"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="leerkracht" type="LeerkrachtType" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
</xs:sequence> | ||
</xs:complexType> | ||
<!-- Dit is een basis invulling voor het ExtraGegevensType wat de opslag van opmerkingen bewerkt --> | ||
<xs:complexType name="OpmerkingGegevensType"> | ||
<xs:complexContent> | ||
<xs:extension base="ToevoegingsBlokType"> | ||
<xs:sequence> | ||
<xs:element name="opmerking" type="xs:string"/> | ||
</xs:sequence> | ||
</xs:extension> | ||
</xs:complexContent> | ||
</xs:complexType> | ||
</xs:schema> |
Oops, something went wrong.