Skip to content

Instantly share code, notes, and snippets.

@uncoded-ro
Created June 13, 2022 17:12
Show Gist options
  • Save uncoded-ro/ea93f6c786edc4b799481219616506a2 to your computer and use it in GitHub Desktop.
Save uncoded-ro/ea93f6c786edc4b799481219616506a2 to your computer and use it in GitHub Desktop.
<?xml version="1.0"?>
<!-- personal.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="personal">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="tutor" type="tutor" />
<xsd:element name="administrativ" type="administrativ" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="tutor">
<xsd:sequence>
<xsd:group ref="persoana"/>
<xsd:element name="grad">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Asistent" />
<xsd:enumeration value="Sef lucrari" />
<xsd:enumeration value="Conferentiar" />
<xsd:enumeration value="Profesor" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="cursuri">
<xsd:simpleType>
<xsd:list itemType="xsd:NMTOKEN" />
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attributeGroup ref="marca" />
</xsd:complexType>
<xsd:complexType name="administrativ">
<xsd:sequence>
<xsd:group ref="persoana" />
<xsd:element name="functie" type="xsd:string" />
</xsd:sequence>
<xsd:attributeGroup ref="marca" />
</xsd:complexType>
<xsd:group name="persoana">
<xsd:sequence>
<xsd:element name="nume" type="xsd:string" />
<xsd:element name="cnp" type="cnp" />
<xsd:element name="adresa" type="adresa" />
</xsd:sequence>
</xsd:group>
<xsd:attributeGroup name="marca">
<xsd:attribute name="departament" type="xsd:string" />
<xsd:attribute name="id" type="xsd:positiveInteger" />
</xsd:attributeGroup>
<xsd:simpleType name="cnp">
<xsd:restriction base="xsd:integer">
<xsd:pattern value="(1|2)[0-9]{12}" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="adresa">
<xsd:sequence>
<xsd:element name="strada" type="xsd:string" />
<xsd:element name="oras" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment