[runtime] Disable some tests in full-aot mode which cannot be AOTed because of type...
[mono.git] / mcs / tools / mdoc / Resources / monodoc-ecma.xsd
index ffe30163e4728439e83e32da956aa5c2b7edb4ac..b0a64a14dce58844270330209532d457d516f112 100644 (file)
@@ -12,11 +12,16 @@ add masterdoc support?
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
 
   <!-- define attributes -->
+  <xs:attribute name="preserve-mono" type="xs:string" />
+  <xs:attribute name="license" type="xs:string" />
+  <xs:attribute name="from" type="xs:string" />
+  <xs:attribute name="modified" type="xs:boolean" />
   <xs:attribute name="argnames" type="xs:string" />
   <xs:attribute name="cref" type="xs:string" />
   <xs:attribute name="Deprecated" type="xs:boolean" />
   <xs:attribute name="FullName" type="xs:string" />
   <xs:attribute name="FullNameSP" type="xs:string" />
+  <xs:attribute name="id" type="xs:string" />
   <xs:attribute name="inherited" type="xs:string" />
   <xs:attribute name="language" type="xs:string" />
   <xs:attribute name="Language" type="xs:string" />
@@ -38,6 +43,7 @@ add masterdoc support?
   <xs:attribute name="subset" type="xs:string" />
   <xs:attribute name="Value" type="xs:string" />
   <xs:attribute name="version" type="xs:string" />
+  <xs:attribute name="tool" type="xs:string" />
   <xs:attribute name="type" type="xs:string" />
   <xs:attribute name="Type" type="xs:string" />
   <xs:attribute name="TypeParamName" type="xs:string" />
@@ -60,7 +66,11 @@ add masterdoc support?
   <xs:element name="MemberOfLibrary" type="xs:string" />
   <xs:element name="MemberType" type="xs:string" />
   <xs:element name="MemberValue" type="xs:string" />
-  <xs:element name="onequarter" type="xs:string" />
+  <xs:element name="onequarter" />
+  <xs:element name="PRE" />
+  <xs:element name="permille" />
+  <xs:element name="pi" />
+  <xs:element name="pre" />
   <xs:element name="ReturnType" type="xs:string" />
   <xs:element name="TypeExcluded" type="xs:string" />
 
@@ -143,12 +153,14 @@ add masterdoc support?
         <xs:element ref="block" />
         <xs:element ref="c" />
         <xs:element ref="code" />
+        <xs:element ref="format" />
         <xs:element ref="list" />
         <xs:element ref="para" />
         <xs:element ref="paramref" />
         <xs:element ref="see" />
         <xs:element ref="subscript" />
         <xs:element ref="sup" />
+        <xs:element ref="pi" />
         <xs:element ref="typeparamref" />
       </xs:choice>
       <xs:attribute ref="subset" />
@@ -226,8 +238,12 @@ add masterdoc support?
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="c" />
         <xs:element ref="block" />
+        <xs:element ref="geq" />
+        <xs:element ref="leq" />
         <xs:element ref="paramref" />
         <xs:element ref="para" />
+        <xs:element ref="permille" />
+        <xs:element ref="plusminus" />
         <xs:element ref="SPAN" />
         <xs:element ref="see" />
         <xs:element ref="sub" />
@@ -247,15 +263,40 @@ add masterdoc support?
         <xs:element ref="example" />
         <xs:element ref="value" />
         <xs:element ref="permission" />
+        <xs:element ref="PermissionSet" />
         <xs:element ref="altmember" />
         <xs:element ref="altcompliant" />
         <xs:element ref="since" />
         <xs:element ref="threadsafe" />
         <xs:element ref="typeparam" />
+        <xs:element ref="filterpriority" />
+        <xs:element ref="related" />
       </xs:choice>
     </xs:complexType>
   </xs:element>
 
+  <xs:simpleType name="relatedType">
+    <xs:restriction base="xs:string">
+      <!-- External code/application samples -->
+      <xs:enumeration value="sample"/>
+      <!-- e.g. ECMA, OPC, OData, ... specs -->
+      <xs:enumeration value="specification"/>
+      <!-- e.g. Apple/Android documentation -->
+      <xs:enumeration value="externalDocumentation" />
+      <!-- e.g. a more in-depth article at docs.xamarin.com -->
+      <xs:enumeration value="article" />
+         <!-- e.g. a small article describing succintly a feature -->
+         <xs:enumeration value="recipe" />
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:element name="related">
+    <xs:complexType mixed="true">
+      <xs:attribute name="type" type="relatedType" />
+      <xs:attribute name="href" type="xs:anyURI" />
+    </xs:complexType>
+  </xs:element>
+
   <xs:element name="enum">
     <xs:complexType>
       <xs:choice minOccurs="0" maxOccurs="unbounded">
@@ -277,8 +318,10 @@ add masterdoc support?
   <xs:element name="example">
     <xs:complexType mixed="true">
       <xs:choice maxOccurs="unbounded">
+        <xs:element ref="format" />
         <xs:element ref="para" />
         <xs:element ref="code" />
+        <xs:element ref="codelink" />
         <xs:element ref="c" />
         <xs:element ref="list" />
         <xs:element ref="see" />
@@ -290,6 +333,8 @@ add masterdoc support?
     <xs:complexType mixed="true">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="block" />
+        <xs:element ref="format" />
+        <xs:element ref="list" />
         <xs:element ref="para" />
         <xs:element ref="paramref" />
         <xs:element ref="see" />
@@ -307,6 +352,15 @@ add masterdoc support?
     </xs:complexType>
   </xs:element>
 
+  <xs:element name="format">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
+      </xs:sequence>
+      <xs:attribute ref="type" />
+    </xs:complexType>
+  </xs:element>
+
   <xs:element name="interface">
     <xs:complexType>
       <xs:choice minOccurs="0" maxOccurs="unbounded">
@@ -347,14 +401,6 @@ add masterdoc support?
     </xs:complexType>
   </xs:element>
 
-  <xs:element name="Libraries">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="Type" minOccurs = "1" maxOccurs="unbounded" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
   <xs:element name="link">
     <xs:complexType>
       <xs:simpleContent>
@@ -472,7 +518,11 @@ add masterdoc support?
     <xs:complexType mixed="true">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="block" />
+        <xs:element ref="i" />
+        <xs:element ref="format" />
         <xs:element ref="see" />
+        <xs:element ref="geq" />
+        <xs:element ref="leq" />
         <xs:element ref="list" />
         <xs:element ref="link" />
         <xs:element ref="ul" />
@@ -480,24 +530,47 @@ add masterdoc support?
         <xs:element ref="c" />
         <xs:element ref="onequarter" />
         <xs:element ref="sub" />
+        <xs:element ref="superscript" />
         <xs:element ref="sup" />
+        <xs:element ref="permille" />
+        <xs:element ref="plusminus" />
         <xs:element ref="SPAN" />
+        <xs:element ref="pi" />
+        <xs:element ref="theta" />
         <xs:element ref="typeparamref" />
+        <xs:element ref="whitespace" />
+        <xs:element ref="img" />
       </xs:choice>
+      <xs:attribute ref="id" />
+      <xs:attribute ref="tool" />
     </xs:complexType>
   </xs:element>
 
+  <xs:element name="img">
+       <xs:complexType>
+         <xs:attribute name="href" type="xs:string" use="required" />
+         <xs:attribute name="class" type="xs:string" use="optional" />
+       </xs:complexType>
+  </xs:element>
+
   <xs:element name="param">
     <xs:complexType mixed="true">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="c" />
+        <xs:element ref="format" />
         <xs:element ref="see" />
         <xs:element ref="block" />
+        <xs:element ref="geq" />
+        <xs:element ref="leq" />
         <xs:element ref="paramref" />
+        <xs:element ref="plusminus" />
         <xs:element ref="para" />
         <xs:element ref="SPAN" />
         <xs:element ref="typeparamref" />
+        <xs:element ref="whitespace" />
+        <xs:element ref="attribution" />
       </xs:choice>
+      <xs:attribute ref="preserve-mono" />
       <xs:attribute ref="name" use="required" />
     </xs:complexType>
   </xs:element>
@@ -531,6 +604,7 @@ add masterdoc support?
     <xs:complexType mixed="true">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="block" />
+        <xs:element ref="format" />
         <xs:element ref="para" />
         <xs:element ref="paramref" />
         <xs:element ref="see" />
@@ -554,28 +628,50 @@ add masterdoc support?
         <xs:element ref="block" />
         <xs:element ref="c" />
         <xs:element ref="code" />
+        <xs:element ref="format" />
         <xs:element ref="para" />
         <xs:element ref="paramref" />
+        <xs:element ref="PRE" />
+        <xs:element ref="pre" />
         <xs:element ref="see" />
         <xs:element ref="ul" />
         <xs:element ref="example" />
         <xs:element ref="list" />
         <xs:element ref="SPAN" />
         <xs:element ref="typeparamref" />
+        <xs:element ref="attribution" />
       </xs:choice>
+      <xs:attribute ref="preserve-mono" />
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="attribution">
+    <xs:complexType mixed="true">
+      <xs:attribute ref="license" />
+      <xs:attribute ref="from" />
+      <xs:attribute ref="modified" />
     </xs:complexType>
   </xs:element>
 
   <xs:element name="returns">
     <xs:complexType mixed="true">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="c" />
+        <xs:element ref="format" />
+        <xs:element ref="geq" />
+        <xs:element ref="leq" />
         <xs:element ref="list" />
         <xs:element ref="para" />
         <xs:element ref="paramref" />
+        <xs:element ref="pi" />
         <xs:element ref="see" />
+        <xs:element ref="theta" />
         <xs:element ref="typeparamref" />
         <xs:element ref="ul" />
+        <xs:element ref="whitespace" />
+        <xs:element ref="attribution" />
       </xs:choice>
+      <xs:attribute ref="preserve-mono" />
     </xs:complexType>
   </xs:element>
 
@@ -606,6 +702,7 @@ add masterdoc support?
     <xs:complexType mixed="true">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="block" />
+        <xs:element ref="format" />
         <xs:element ref="para" />
         <xs:element ref="paramref" />
         <xs:element ref="see" />
@@ -642,7 +739,7 @@ add masterdoc support?
   </xs:element>
 
   <xs:element name="subscript">
-    <xs:complexType mixed="true">
+    <xs:complexType>
       <xs:attribute name="term" type="xs:string" use="required" />
     </xs:complexType>
   </xs:element>
@@ -652,43 +749,62 @@ add masterdoc support?
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="block" />
         <xs:element ref="c" />
+        <xs:element ref="format" />
         <xs:element ref="para" />
         <xs:element ref="paramref" />
         <xs:element ref="see" />
         <xs:element ref="typeparamref" />
         <xs:element ref="ul" />
         <xs:element ref="list" />
+        <xs:element ref="attribution" />
       </xs:choice>
+      <xs:attribute ref="preserve-mono" />
     </xs:complexType>
   </xs:element>
 
   <xs:element name="sup">
     <xs:complexType mixed="true">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="i" />
         <xs:element ref="paramref" />
         <xs:element ref="typeparamref" />
       </xs:choice>
     </xs:complexType>
   </xs:element>
 
+  <xs:element name="superscript">
+    <xs:complexType>
+      <xs:attribute name="term" type="xs:string" use="required" />
+    </xs:complexType>
+  </xs:element>
+
   <xs:element name="term">
     <xs:complexType mixed="true">
         <xs:choice minOccurs="0" maxOccurs="unbounded">
           <xs:element ref="block" />
           <xs:element ref="c" />
+          <xs:element ref="format" />
+          <xs:element ref="geq" />
+          <xs:element ref="leq" />
           <xs:element ref="see" />
           <xs:element ref="para"  />
           <xs:element ref="paramref" />
+          <xs:element ref="pi" />
+          <xs:element ref="plusminus" />
           <xs:element ref="sup" />
+          <xs:element ref="theta" />
           <xs:element ref="typeparamref" />
+          <xs:element ref="whitespace" />
         </xs:choice>
     </xs:complexType>
   </xs:element>
 
+  <xs:element name="theta" />
+
   <xs:element name="threadsafe">
     <xs:complexType>
      <xs:sequence>
-       <xs:element ref="para" minOccurs="1" />
+       <xs:element ref="para" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
     </xs:complexType>
   </xs:element>
@@ -748,6 +864,7 @@ add masterdoc support?
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="block" />
         <xs:element ref="c" />
+        <xs:element ref="format" />
         <xs:element ref="para" />
         <xs:element ref="paramref" />
         <xs:element ref="see" />
@@ -847,6 +964,8 @@ add masterdoc support?
   <xs:element name="Assembly">
     <xs:complexType>
       <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="AssemblyPublicKey" />
+        <xs:element ref="AssemblyCulture" />
         <xs:element ref="Attributes" />
       </xs:choice>
       <xs:attribute ref="Name" />
@@ -945,5 +1064,103 @@ add masterdoc support?
     </xs:complexType>
   </xs:element>
 
+  <!--
+    ECMA 335 CLILibraryTypes.xml support
+    -->
+
+  <xs:element name="Libraries">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="Types" minOccurs = "1" maxOccurs="unbounded" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+       <xs:element name="codelink">
+    <xs:complexType>
+      <xs:attribute name="SampleID" type="xs:string" />
+      <xs:attribute name="SnippedID" type="xs:string" />
+    </xs:complexType>
+       </xs:element>
+
+  <xs:element name="filterpriority" type="xs:string" />
+
+  <xs:element name="geq" />
+  <xs:element name="leq" />
+  <xs:element name="plusminus" />
+  <xs:element name="whitespace" />
+
+  <xs:element name="PermissionSet">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="IPermission">
+          <xs:complexType>
+            <xs:attribute name="class" type="xs:string" />
+            <xs:attribute name="Flags" type="xs:string" />
+            <xs:attribute name="Name" type="xs:string" />
+            <xs:attribute name="PathDiscovery" type="xs:string" />
+            <xs:attribute name="PublicKeyBlob" type="xs:string" />
+            <xs:attribute name="Read" type="xs:string" />
+            <xs:attribute name="Unrestricted" type="xs:string" />
+            <xs:attribute name="version" type="xs:string" />
+            <xs:attribute name="Window" type="xs:string" />
+          </xs:complexType>
+        </xs:element>
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <!--
+    ECMA 334 Annex E Documentation Comments support.
+    -->
+
+  <xs:element name="seealso">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute ref="cref" />
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="doc">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="assembly">
+          <xs:complexType>
+            <xs:choice>
+              <xs:element name="name" type="xs:string" />
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="members">
+          <xs:complexType>
+            <xs:choice minOccurs="0" maxOccurs="unbounded">
+              <xs:element name="member">
+                <xs:complexType>
+                  <xs:choice minOccurs="0" maxOccurs="unbounded">
+                    <xs:element ref="seealso" />
+                    <xs:element ref="example" />
+                    <xs:element ref="exception" />
+                    <xs:element ref="param" />
+                    <xs:element ref="permission" />
+                    <xs:element ref="PermissionSet" />
+                    <xs:element ref="remarks" />
+                    <xs:element ref="returns" />
+                    <xs:element ref="summary" />
+                    <xs:element ref="threadsafe" />
+                    <xs:element ref="typeparam" />
+                    <xs:element ref="value" />
+                  </xs:choice>
+                  <xs:attribute name="name" type="xs:string" />
+                </xs:complexType>
+              </xs:element>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
 </xs:schema>