diff options
Diffstat (limited to 'schemas/pidf-diff.xml')
-rw-r--r-- | schemas/pidf-diff.xml | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/schemas/pidf-diff.xml b/schemas/pidf-diff.xml new file mode 100644 index 0000000..c12900d --- /dev/null +++ b/schemas/pidf-diff.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema + targetNamespace="urn:ietf:params:xml:ns:pidf-diff" + xmlns:tns="urn:ietf:params:xml:ns:pidf-diff" + xmlns:pidf="urn:ietf:params:xml:ns:pidf" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + + <!-- include patch-ops type definitions --> + <xsd:include + schemaLocation="urn:ietf:params:xml:schema:patch-ops"/> + + <!-- import PIDF definitions --> + <xsd:import namespace="urn:ietf:params:xml:ns:pidf" + schemaLocation="pidf.xsd"/> + + <!-- partial updates --> + <xsd:element name="pidf-diff"> + <xsd:complexType> + <xsd:sequence minOccurs="0" maxOccurs="unbounded"> + <xsd:choice> + <xsd:element name="add" type="tns:add"/> + <xsd:element name="replace" type="tns:replace"/> + <xsd:element name="remove" type="tns:remove"/> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="version" type="xsd:unsignedInt"/> + <xsd:attribute name="entity" type="xsd:anyURI"/> + </xsd:complexType> + </xsd:element> + + <!-- full PIDF in addition to optional version --> + <xsd:element name="pidf-full"> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="pidf:presence"> + <xsd:attribute name="version" type="xsd:unsignedInt"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + +</xsd:schema> |