2005-04-23 00:57:45 +01:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2001-12-05 23:57:48 +00:00
|
|
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
2001-06-06 20:40:57 +01:00
|
|
|
|
|
|
|
<xsd:annotation>
|
|
|
|
<xsd:documentation>
|
|
|
|
XML Schema for Logtalk XML documentation files.
|
|
|
|
</xsd:documentation>
|
|
|
|
</xsd:annotation>
|
|
|
|
|
|
|
|
<!--
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%
|
|
|
|
% Logtalk - Object oriented extension to Prolog
|
2005-08-08 13:13:45 +01:00
|
|
|
% Release 2.25.1
|
2001-06-06 20:40:57 +01:00
|
|
|
%
|
2005-01-13 12:22:42 +00:00
|
|
|
% Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
2001-06-06 20:40:57 +01:00
|
|
|
%
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:element name="logtalk" type="logtalk"/>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="logtalk">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="entity" type="entity"/>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="relations" type="relations"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:element name="predicates" type="predicates"/>
|
2005-04-23 00:57:45 +01:00
|
|
|
<xsd:element name="remarks" type="remarks"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="entity">
|
|
|
|
<xsd:sequence>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
|
|
<xsd:element name="type" type="type"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:element name="compilation" type="compilation"/>
|
|
|
|
<xsd:element name="comment" type="xsd:string" minOccurs="0"/>
|
2005-04-23 00:57:45 +01:00
|
|
|
<xsd:choice minOccurs="0">
|
|
|
|
<xsd:element name="parnames" type="xsd:string"/>
|
|
|
|
<xsd:element name="parameters" type="parameters"/>
|
|
|
|
</xsd:choice>
|
2003-02-05 00:15:28 +00:00
|
|
|
<xsd:element name="author" type="xsd:string" minOccurs="0"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:element name="version" type="xsd:string" minOccurs="0"/>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="date" type="xsd:string" minOccurs="0"/>
|
|
|
|
<xsd:element name="info" type="info" minOccurs="0" maxOccurs="unbounded"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:simpleType name="type">
|
|
|
|
<xsd:restriction base="xsd:string">
|
|
|
|
<xsd:enumeration value="category"/>
|
|
|
|
<xsd:enumeration value="object"/>
|
|
|
|
<xsd:enumeration value="protocol"/>
|
|
|
|
</xsd:restriction>
|
|
|
|
</xsd:simpleType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:simpleType name="compilation">
|
|
|
|
<xsd:restriction base="xsd:string">
|
|
|
|
<xsd:enumeration value="static"/>
|
|
|
|
<xsd:enumeration value="dynamic"/>
|
|
|
|
</xsd:restriction>
|
|
|
|
</xsd:simpleType>
|
|
|
|
|
|
|
|
|
2005-04-23 00:57:45 +01:00
|
|
|
<xsd:complexType name="parameters">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="parameter" type="parameter" maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="parameter">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
|
|
<xsd:element name="description" type="xsd:string"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:complexType name="info">
|
|
|
|
<xsd:sequence>
|
2005-04-23 00:57:45 +01:00
|
|
|
<xsd:element name="key" type="xsd:string"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:element name="value" type="xsd:string"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="relations">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="implements" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="imports" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
<xsd:element name="extends" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:element name="instantiates" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="specializes" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:element name="uses" type="docrelation" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
<xsd:element name="calls" type="docrelation" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="relation">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
|
|
<xsd:element name="scope" type="scope"/>
|
|
|
|
<xsd:element name="file" type="xsd:string"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="docrelation">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
|
|
<xsd:element name="file" type="xsd:string"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:simpleType name="scope">
|
|
|
|
<xsd:restriction base="xsd:string">
|
|
|
|
<xsd:enumeration value="public"/>
|
|
|
|
<xsd:enumeration value="protected"/>
|
|
|
|
<xsd:enumeration value="private"/>
|
|
|
|
</xsd:restriction>
|
|
|
|
</xsd:simpleType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="predicates">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="public" type="public"/>
|
|
|
|
<xsd:element name="protected" type="protected"/>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="private" type="private"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="public">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="predicate" type="predicate" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="protected">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="predicate" type="predicate" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="private">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="predicate" type="predicate" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="predicate">
|
|
|
|
<xsd:sequence>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
|
|
<xsd:element name="scope" type="scope"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:element name="compilation" type="compilation"/>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="meta" type="xsd:string" minOccurs="0"/>
|
|
|
|
<xsd:element name="mode" type="mode" minOccurs="0" maxOccurs="unbounded"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
<xsd:element name="comment" type="xsd:string" minOccurs="0"/>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="template" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
|
2005-04-23 00:57:45 +01:00
|
|
|
<xsd:choice minOccurs="0">
|
|
|
|
<xsd:element name="argnames" type="xsd:string"/>
|
|
|
|
<xsd:element name="arguments" type="arguments"/>
|
|
|
|
</xsd:choice>
|
|
|
|
<xsd:element name="exceptions" type="exceptions" minOccurs="0"/>
|
|
|
|
<xsd:element name="info" type="info" minOccurs="0"/>
|
|
|
|
<xsd:element name="examples" type="examples" minOccurs="0"/>
|
2001-06-06 20:40:57 +01:00
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="mode">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="template" type="xsd:string"/>
|
|
|
|
<xsd:element name="solutions" type="solutions"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:simpleType name="solutions">
|
|
|
|
<xsd:restriction base="xsd:string">
|
|
|
|
<xsd:enumeration value="zero"/>
|
|
|
|
<xsd:enumeration value="zero_or_one"/>
|
|
|
|
<xsd:enumeration value="zero_or_more"/>
|
|
|
|
<xsd:enumeration value="one"/>
|
|
|
|
<xsd:enumeration value="one_or_more"/>
|
|
|
|
<xsd:enumeration value="error"/>
|
|
|
|
</xsd:restriction>
|
|
|
|
</xsd:simpleType>
|
|
|
|
|
|
|
|
|
2005-04-23 00:57:45 +01:00
|
|
|
<xsd:complexType name="arguments">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="argument" type="argument" maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="argument">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
|
|
<xsd:element name="description" type="xsd:string"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
2004-06-06 23:46:45 +01:00
|
|
|
<xsd:complexType name="exceptions">
|
|
|
|
<xsd:sequence>
|
2005-04-23 00:57:45 +01:00
|
|
|
<xsd:element name="exception" type="exception" maxOccurs="unbounded"/>
|
2004-06-06 23:46:45 +01:00
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="exception">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="condition" type="xsd:string"/>
|
2004-07-25 19:47:43 +01:00
|
|
|
<xsd:element name="term" type="xsd:string"/>
|
2004-06-06 23:46:45 +01:00
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
2005-04-23 00:57:45 +01:00
|
|
|
|
|
|
|
<xsd:complexType name="examples">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="example" type="example" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="example">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="description" type="xsd:string"/>
|
|
|
|
<xsd:element name="call" type="xsd:string"/>
|
|
|
|
<xsd:element name="bindings" type="xsd:string"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="remarks">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="remark" type="remark" minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
|
|
|
<xsd:complexType name="remark">
|
|
|
|
<xsd:sequence>
|
|
|
|
<xsd:element name="topic" type="xsd:string"/>
|
|
|
|
<xsd:element name="text" type="xsd:string"/>
|
|
|
|
</xsd:sequence>
|
|
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
|
2001-06-06 20:40:57 +01:00
|
|
|
</xsd:schema>
|