Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Add restrictions to more values (date of birth, zip code, mobile, e-mail, web site) -->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- <xs:element name="profile">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element ref="person"/>
- <xs:element ref="networks"/>
- <xs:element ref="educations"/>
- <xs:element ref="occupations"/>
- <xs:element ref="domains"/>
- <xs:element ref="systems"/>
- <xs:element ref="languages"/>
- <xs:element ref="databases"/>
- <xs:element ref="interfaces"/>
- <xs:element ref="standards"/>
- <xs:element ref="applications"/>
- <xs:element ref="servers"/>
- <xs:element ref="projects"/>
- <xs:element ref="translations"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Person -->
- <xs:element name="person">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element name="picture" type="xs:anyURI"/>
- <xs:element ref="name"/>
- <xs:element ref="summary"/>
- <xs:element name="date-of-birth" type="dateAttributed"/>
- <xs:element name="nationality" type="i18nAttributed"/>
- <xs:element ref="address"/>
- <xs:element ref="contact"/>
- <xs:element ref="languages"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="name">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="lastname" type="xs:string"/>
- <xs:element name="firstname" type="xs:string"/>
- </xs:sequence>
- <xs:attributeGroup ref="label"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="address">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="street" type="xs:string"/>
- <xs:element name="zip" type="xs:integer"/>
- <xs:element name="city" type="xs:string"/>
- <xs:element name="country" type="i18nType"/>
- </xs:sequence>
- <xs:attributeGroup ref="label"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="contact">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="mobile" type="stringAttributed"/>
- <xs:element name="e-mail" type="stringAttributed"/>
- <xs:element name="web-site" type="uriAttributed"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Networks -->
- <xs:element name="networks">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="network"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="network">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element minOccurs="0" ref="id"/>
- <xs:element ref="uri"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="id" type="xs:integer"/>
- <xs:element name="uri" type="xs:anyURI"/>
- <!-- Educations -->
- <xs:element name="educations">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="education"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="education">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="institution" type="i18nType"/>
- <xs:element minOccurs="0" name="city" type="xs:string"/>
- <xs:element name="degree" type="i18nType"/>
- <xs:element ref="since"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Occupations -->
- <xs:element name="occupations">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="occupation"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="occupation">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="subject" type="i18nType"/>
- <xs:element minOccurs="0" name="company" type="xs:string"/>
- <xs:element minOccurs="0" name="position" type="i18nType"/>
- <xs:element ref="since"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Domains -->
- <xs:element name="domains">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="domain"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="domain">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="i18nType"/>
- <xs:element minOccurs="0" ref="level"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Systems -->
- <xs:element name="systems">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="system"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="system">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element ref="level"/>
- <xs:element minOccurs="0" ref="since"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Databases -->
- <xs:element name="databases">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="database"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="database">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element ref="level"/>
- <xs:element minOccurs="0" ref="since"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Interfaces -->
- <xs:element name="interfaces">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="interface"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="interface">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element minOccurs="0" ref="level"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Standards -->
- <xs:element name="standards">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="standard"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="standard">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element minOccurs="0" ref="level"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Applications -->
- <xs:element name="applications">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="application"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="application">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element ref="level"/>
- <xs:element minOccurs="0" ref="since"/>
- <xs:element minOccurs="0" name="with" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Servers -->
- <xs:element name="servers">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="server"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="server">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name"/>
- <xs:element ref="level"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Projects -->
- <xs:element name="projects">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="project"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="project">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="sector" type="i18nType"/>
- <xs:element ref="duration"/>
- <xs:element name="workload" type="i18nType"/>
- <xs:element name="summary" type="i18nType"/>
- <xs:element minOccurs="0" ref="tasks"/>
- <xs:element minOccurs="0" name="backends" type="xs:string"/>
- <xs:element minOccurs="0" name="frontends" type="xs:string"/>
- <xs:element minOccurs="0" name="languages" type="xs:string"/>
- <xs:element minOccurs="0" name="tools" type="xs:string"/>
- <xs:element minOccurs="0" name="interfaces" type="xs:string"/>
- <xs:element minOccurs="0" name="systems" type="xs:string"/>
- <xs:element minOccurs="0" ref="references"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="duration">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="start" type="xs:NMTOKEN"/>
- <xs:element name="end" type="xs:NMTOKEN"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="tasks">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" name="task" type="i18nType"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="references">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="reference"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="reference">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="e-mail" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Translations -->
- <xs:element name="translations">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" name="translation">
- <xs:complexType>
- <xs:attribute name="name" type="xs:string"/>
- <xs:attribute name="de" type="xs:string"/>
- <xs:attribute name="en" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- General types -->
- <xs:complexType name="dateAttributed">
- <xs:simpleContent>
- <xs:extension base="xs:date">
- <xs:attributeGroup ref="label"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="stringAttributed">
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attributeGroup ref="label"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="uriAttributed">
- <xs:simpleContent>
- <xs:extension base="xs:anyURI">
- <xs:attributeGroup ref="label"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="i18nAttributed">
- <xs:complexContent>
- <xs:extension base="i18nType">
- <xs:attributeGroup ref="label"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="i18nType" mixed="true">
- <xs:sequence>
- <xs:element minOccurs="0" name="de" type="xs:string"/>
- <xs:element minOccurs="0" name="en" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- <!-- Referenced types and elements -->
- <xs:attributeGroup name="label">
- <xs:attribute name="label" type="xs:string"/>
- <xs:attribute name="label-de" type="xs:string"/>
- <xs:attribute name="label-en" type="xs:string"/>
- </xs:attributeGroup>
- <xs:element name="label" type="i18nType"/>
- <xs:element name="summary" type="i18nType"/>
- <!-- Languages -->
- <xs:element name="languages">
- <xs:complexType mixed="true">
- <xs:sequence>
- <xs:element ref="label"/>
- <xs:element maxOccurs="unbounded" ref="language"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="language">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="name" type="i18nType"/>
- <xs:element ref="level"/>
- <xs:element minOccurs="0" ref="since"/>
- <xs:element minOccurs="0" name="with" type="i18nType"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="level">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="+++"/>
- <xs:enumeration value="++"/>
- <xs:enumeration value="+"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="since">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" name="version" type="xs:string"/>
- <xs:element minOccurs="0" name="year" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:schema>
Add Comment
Please, Sign In to add comment