Project

Profile

Help

Bug #4193 ยป personal.xsd

Stepan RYBAR, 2019-04-08 16:16

 
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.oxygenxml.com/ns/samples/personal" xmlns:p="http://www.oxygenxml.com/ns/samples/personal">

<xs:element name="personnel">
<xs:annotation>
<xs:documentation>Defines the personnel as a collection of person elements.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="p:person" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:unique name="unique1">
<xs:selector xpath="p:person"/>
<xs:field xpath="p:name/p:given"/>
<xs:field xpath="p:name/p:family"/>
</xs:unique>
<xs:key name="empid">
<xs:selector xpath="p:person"/>
<xs:field xpath="@id"/>
</xs:key>
<xs:keyref name="keyref1" refer="p:empid">
<xs:selector xpath="p:person"/>
<xs:field xpath="p:link/@manager"/>
</xs:keyref>
</xs:element>

<xs:element name="person">
<xs:annotation>
<xs:documentation>Specifies information about a person.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="p:name"/>
<xs:element ref="p:email" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="p:link" minOccurs="0" maxOccurs="1"/>
<xs:element ref="p:url" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>Specifies a required unique ID for this person.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="note" type="xs:string">
<xs:annotation>
<xs:documentation>If there is anything to note about this person.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="contr" default="false">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="salary">
<xs:annotation>
<xs:documentation>Specifies the salary for this person.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="10"/>
<xs:totalDigits value="20"/>
<xs:pattern value="[\-+]?[1-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="photo" type="xs:string"/>
</xs:complexType>
</xs:element>

<xs:element name="name">
<xs:annotation>
<xs:documentation>Specifies the person family and given name.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:all>
<xs:element ref="p:family"/>
<xs:element ref="p:given"/>
</xs:all>
</xs:complexType>
</xs:element>

<xs:simpleType name="normalizable">
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>

<xs:element name="family">
<xs:annotation>
<xs:documentation>The person last name.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="p:normalizable">
<xs:attribute name="test" type="xs:decimal" default="25.0"></xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

<xs:element name="given" type="p:normalizable">
<xs:annotation>
<xs:documentation>The person first name.</xs:documentation>
</xs:annotation>
</xs:element>

<xs:element name="email" type="p:normalizable">
<xs:annotation>
<xs:documentation>Email address for this person.</xs:documentation>
</xs:annotation>
</xs:element>

<xs:element name="url">
<xs:annotation>
<xs:documentation>Enter an URL for this person.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="href" type="xs:string" default="http://">
<xs:annotation>
<xs:documentation>Enter an URL for this person.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

<xs:element name="link">
<xs:annotation>
<xs:documentation>Specifies who is the manager and who are the subordinates for this person.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="manager" type="xs:IDREF">
<xs:annotation>
<xs:documentation>The manager ID.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="subordinates" type="xs:IDREFS">
<xs:annotation>
<xs:documentation>Space separated list with the subordinates IDs.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>

<xs:notation name="gif" public="-//APP/Photoshop/4.0" system="photoshop.exe"/>
</xs:schema>
    (1-1/1)