Commit | Line | Data |
---|---|---|
970ed795 EL |
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- | |
3abe9331 | 3 | Copyright (c) 2000-2015 Ericsson Telecom AB |
970ed795 EL |
4 | |
5 | All rights reserved. This program and the accompanying materials | |
6 | are made available under the terms of the Eclipse Public License v1.0 | |
7 | which accompanies this distribution, and is available at | |
8 | http://www.eclipse.org/legal/epl-v10.html | |
9 | --> | |
10 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
11 | targetNamespace="urn:ietf:params:xml:ns:pidf" | |
12 | xmlns:pidf="urn:ietf:params:xml:ns:pidf" | |
13 | elementFormDefault="qualified" | |
14 | attributeFormDefault="unqualified"> | |
15 | ||
16 | <!-- This import brings in the XML language attribute xml:lang--> | |
17 | <xs:import namespace="http://www.w3.org/XML/1998/namespace" | |
18 | schemaLocation="xml.xsd"/> | |
19 | ||
20 | <xs:element name="presence" type="pidf:presence"/> | |
21 | ||
22 | <xs:complexType name="presence"> | |
23 | <xs:sequence> | |
24 | <xs:element name="tuple" type="pidf:tuple" minOccurs="0" | |
25 | maxOccurs="unbounded"/> | |
26 | ||
27 | <xs:element name="note" type="pidf:note" minOccurs="0" | |
28 | maxOccurs="unbounded"/> | |
29 | <xs:any namespace="##other" processContents="lax" minOccurs="0" | |
30 | maxOccurs="unbounded"/> | |
31 | </xs:sequence> | |
32 | <xs:attribute name="entity" type="xs:anyURI" use="required"/> | |
33 | </xs:complexType> | |
34 | ||
35 | <xs:complexType name="tuple"> | |
36 | <xs:sequence> | |
37 | <xs:element name="status" type="pidf:status"/> | |
38 | <xs:any namespace="##other" processContents="lax" minOccurs="0" | |
39 | maxOccurs="unbounded"/> | |
40 | <xs:element name="contact" type="pidf:contact" minOccurs="0"/> | |
41 | <xs:element name="note" type="pidf:note" minOccurs="0" | |
42 | maxOccurs="unbounded"/> | |
43 | <xs:element name="timestamp" type="xs:dateTime" minOccurs="0"/> | |
44 | </xs:sequence> | |
45 | <xs:attribute name="id" type="xs:ID" use="required"/> | |
46 | </xs:complexType> | |
47 | ||
48 | <xs:complexType name="status"> | |
49 | <xs:sequence> | |
50 | <xs:element name="basic" type="pidf:basic" minOccurs="0"/> | |
51 | <xs:any namespace="##other" processContents="lax" minOccurs="0" | |
52 | maxOccurs="unbounded"/> | |
53 | </xs:sequence> | |
54 | </xs:complexType> | |
55 | <xs:simpleType name="basic"> | |
56 | <xs:restriction base="xs:string"> | |
57 | <xs:enumeration value="open"/> | |
58 | <xs:enumeration value="closed"/> | |
59 | </xs:restriction> | |
60 | </xs:simpleType> | |
61 | ||
62 | <xs:complexType name="contact"> | |
63 | <xs:simpleContent> | |
64 | <xs:extension base="xs:anyURI"> | |
65 | <xs:attribute name="priority" type="pidf:qvalue"/> | |
66 | </xs:extension> | |
67 | </xs:simpleContent> | |
68 | </xs:complexType> | |
69 | ||
70 | <xs:complexType name="note"> | |
71 | <xs:simpleContent> | |
72 | <xs:extension base="xs:string"> | |
73 | <xs:attribute ref="xml:lang"/> | |
74 | </xs:extension> | |
75 | ||
76 | </xs:simpleContent> | |
77 | </xs:complexType> | |
78 | ||
79 | <xs:simpleType name="qvalue"> | |
80 | <xs:restriction base="xs:decimal"> | |
81 | <xs:pattern value="0(.[0-9]{0,3})?"/> | |
82 | <xs:pattern value="1(.0{0,3})?"/> | |
83 | </xs:restriction> | |
84 | </xs:simpleType> | |
85 | ||
86 | <!-- Global Attributes --> | |
87 | <xs:attribute name="mustUnderstand" type="xs:boolean" default="0"> | |
88 | <xs:annotation> | |
89 | <xs:documentation> | |
90 | This attribute may be used on any element within an optional | |
91 | PIDF extension to indicate that the corresponding element must | |
92 | be understood by the PIDF processor if the enclosing optional | |
93 | element is to be handled. | |
94 | </xs:documentation> | |
95 | </xs:annotation> | |
96 | </xs:attribute> | |
97 | </xs:schema> |