1<!--***********************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 ***********************************************************-->
21
22
23
24<!ELEMENT api (element)+>
25	<!ATTLIST api
26		library-name         CDATA #REQUIRED
27		library-identifier   CDATA #REQUIRED
28		library-majorversion CDATA #IMPLIED
29		library-minorversion CDATA #IMPLIED
30		library-type         CDATA #IMPLIED
31		library-GUID         CDATA #IMPLIED
32		library-filename     CDATA #IMPLIED
33		author               CDATA #REQUIRED
34		date-created         CDATA #REQUIRED
35   >
36
37<!ELEMENT element (source, destination?)>
38	<!ATTLIST element
39		type       (class|method|property|enumeration|constant|event)  #REQUIRED
40		collection (true|false)                                        "false"
41		platform   CDATA                                               #IMPLIED
42	>
43
44<!ELEMENT source (context?, name?, type?, value?, parameter-list?)>
45	<!ATTLIST source
46		id           CDATA  #REQUIRED
47		start-index  CDATA  #IMPLIED
48	>
49
50<!ELEMENT context (#PCDATA)>
51	<!ATTLIST context
52		kind  (library|class|module|enumeration)  #REQUIRED
53	>
54
55<!ELEMENT name (#PCDATA)>
56	<!ATTLIST name
57		default  (true|false)  "false"
58	>
59
60<!ELEMENT type (#PCDATA | choice)*>
61	<!ATTLIST type
62		array CDATA #IMPLIED
63	>
64
65<!ELEMENT choice (#PCDATA)>
66
67<!ELEMENT value (#PCDATA)>
68
69<!ELEMENT parameter-list (parameter+)>
70
71<!ELEMENT parameter (type?, name)>
72	<!ATTLIST parameter
73		optional   (true|false)  "false"
74		reference  (true|false)  "false"
75	>
76
77<!ELEMENT destination (((inplace-code | property-access-code), localdecl-code*, module-code*, comment*)?)>
78    <!ATTLIST destination designation (identity|not-yet-implemented)  "not-yet-implemented">
79
80<!ELEMENT inplace-code (context-code? , name-code, parameter-code*)>
81
82<!ELEMENT context-code EMPTY>
83
84<!ELEMENT name-code (#PCDATA)>
85
86<!ELEMENT parameter-code (#PCDATA | context-code | rvalue-code | default-code)*>
87
88<!ELEMENT rvalue-code EMPTY>
89
90<!ELEMENT default-code (#PCDATA)>
91
92<!ELEMENT property-access-code (getter-code?, setter-code?)>
93
94<!ELEMENT getter-code (context-code? , name-code, parameter-code*)>
95
96<!ELEMENT module-code (#PCDATA)>
97	<!ATTLIST module-code
98		module-name  CDATA  #IMPLIED
99	>
100<!ELEMENT comment (#PCDATA)>
101	<!ATTLIST comment
102		apistatus (todo|so7|so8|noapi) #REQUIRED
103		forparams CDATA  #IMPLIED
104	>
105
106<!ELEMENT localdecl-code (#PCDATA | context-code)*>
107
108<!ELEMENT setter-code (context-code? , name-code, parameter-code*)>
109
110
111