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