<?xml version="1.0"?> <!-- file : examples/cxx/tree/multiroot/protocol.xsd author : Boris Kolpackov <boris@codesynthesis.com> copyright : not copyrighted - public domain --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:p="http://www.codesynthesis.com/protocol" targetNamespace="http://www.codesynthesis.com/protocol"> <xsd:complexType name="request_t"> <xsd:sequence> <xsd:element name="account" type="xsd:unsignedInt"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="balance_t"> <xsd:complexContent> <xsd:extension base="p:request_t"/> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="withdraw_t"> <xsd:complexContent> <xsd:extension base="p:request_t"> <xsd:sequence> <xsd:element name="amount" type="xsd:unsignedInt"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="deposit_t"> <xsd:complexContent> <xsd:extension base="p:request_t"> <xsd:sequence> <xsd:element name="amount" type="xsd:unsignedInt"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="balance" type="p:balance_t"/> <xsd:element name="withdraw" type="p:withdraw_t"/> <xsd:element name="deposit" type="p:deposit_t"/> </xsd:schema>