4569fca292
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1858 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
268 lines
7.4 KiB
XML
268 lines
7.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<xsd:schema
|
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
version="1.3">
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
XML Schema for Logtalk XML documentation files.
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Logtalk - Object oriented extension to Prolog
|
|
% Release 2.29.5
|
|
%
|
|
% Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<xsd:element name="logtalk" type="logtalk"/>
|
|
|
|
|
|
<xsd:complexType name="logtalk">
|
|
<xsd:sequence>
|
|
<xsd:element name="entity" type="entity"/>
|
|
<xsd:element name="relations" type="relations"/>
|
|
<xsd:element name="predicates" type="predicates"/>
|
|
<xsd:element name="remarks" type="remarks"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
|
|
<xsd:complexType name="entity">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="type" type="type"/>
|
|
<xsd:element name="compilation" type="compilation"/>
|
|
<xsd:element name="comment" type="xsd:string" minOccurs="0"/>
|
|
<xsd:choice minOccurs="0">
|
|
<xsd:element name="parnames" type="xsd:string"/>
|
|
<xsd:element name="parameters" type="parameters"/>
|
|
</xsd:choice>
|
|
<xsd:element name="author" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="version" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="date" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="copyright" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="license" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="info" type="info" minOccurs="0" maxOccurs="unbounded"/>
|
|
</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>
|
|
|
|
|
|
<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>
|
|
|
|
|
|
<xsd:complexType name="info">
|
|
<xsd:sequence>
|
|
<xsd:element name="key" type="xsd:string"/>
|
|
<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"/>
|
|
<xsd:element name="imports" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="extends" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="instantiates" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="specializes" type="relation" minOccurs="0" maxOccurs="unbounded"/>
|
|
<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"/>
|
|
<xsd:element name="private" type="private"/>
|
|
</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>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="scope" type="scope"/>
|
|
<xsd:element name="compilation" type="compilation"/>
|
|
<xsd:element name="meta" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="mode" type="mode" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="comment" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="template" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
|
|
<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"/>
|
|
</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>
|
|
|
|
|
|
<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>
|
|
|
|
|
|
<xsd:complexType name="exceptions">
|
|
<xsd:sequence>
|
|
<xsd:element name="exception" type="exception" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
|
|
<xsd:complexType name="exception">
|
|
<xsd:sequence>
|
|
<xsd:element name="condition" type="xsd:string"/>
|
|
<xsd:element name="term" type="xsd:string"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
|
|
<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>
|
|
|
|
|
|
</xsd:schema>
|