Update rpk manifest schema 99/319199/2
authorSangyoon Jang <jeremy.jang@samsung.com>
Thu, 17 Oct 2024 06:57:42 +0000 (15:57 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Thu, 17 Oct 2024 07:07:09 +0000 (16:07 +0900)
- Allow any elements, any attributes for extensibility
- Add missing type DependenyType

Change-Id: I2a7ff503ebb4b0920206573742dcfae165995f85
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
manifest.xsd

index 6e69debcabe8f7a4c9cf2c67cb8f6983277ddd98..41595cb3c539c6d863be4eb125c842d638015b0b 100644 (file)
@@ -3,6 +3,10 @@
   <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
   <xs:element name="manifest">
     <xs:complexType>
+      <xs:sequence>
+        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
+      </xs:sequence>
+<!-- for reference
       <xs:choice maxOccurs="unbounded">
         <xs:element ref="packages:author"/>
         <xs:element ref="packages:description"/>
         <xs:element ref="packages:allowed-package"/>
         <xs:element ref="packages:dependencies"/>
       </xs:choice>
+-->
       <xs:attribute name="package" type="xs:string"/>
       <xs:attribute name="version" type="xs:string"/>
       <xs:attribute name="res-type" type="xs:string"/>
       <xs:attribute name="res-version" type="xs:string"/>
       <xs:attribute name="api-version" type="xs:string"/>
       <xs:attribute name="lib" type="xs:boolean"/>
+      <xs:anyAttribute namespace="##any" processContents="lax"/>
     </xs:complexType>
   </xs:element>
   <xs:element name="author">
     <xs:complexType mixed="true">
       <xs:attribute name="email"/>
       <xs:attribute name="href"/>
+      <xs:anyAttribute namespace="##any" processContents="lax"/>
       <!-- <xs:attribute ref="xml:lang"/> -->
     </xs:complexType>
   </xs:element>
   <xs:element name="description">
     <xs:complexType mixed="true">
+      <xs:anyAttribute namespace="##any" processContents="lax"/>
       <!-- <xs:attribute ref="xml:lang"/> -->
     </xs:complexType>
   </xs:element>
   <xs:element name="label">
     <xs:complexType mixed="true">
+      <xs:anyAttribute namespace="##any" processContents="lax"/>
       <!-- <xs:attribute ref="xml:lang"/> -->
     </xs:complexType>
   </xs:element>
       <xs:attribute name="section" type="xs:string"/>
       <xs:attribute name="resolution" type="packages:ResolutionType"/>
       <xs:attribute name="dpi" type="xs:string"/>
+      <xs:anyAttribute namespace="##any" processContents="lax"/>
     </xs:complexType>
   </xs:element>
   <xs:element name="metadata">
     <xs:complexType>
       <xs:attribute name="key" use="required" type="xs:string"/>
       <xs:attribute name="value" type="xs:string"/>
-      <xs:anyAttribute processContents="lax"/>
+      <xs:anyAttribute namespace="##any" processContents="lax"/>
     </xs:complexType>
   </xs:element>
   <xs:element name="allowed-package">
   </xs:element>
   <xs:element name="dependency">
     <xs:complexType mixed="true">
-      <xs:attribute name="type" use="required" type="xs:string"/>
+      <xs:attribute name="type" use="required" type="packages:DependencyType"/>
+      <xs:attribute name="required-version" type="xs:string"/>
       <xs:anyAttribute namespace="##any" processContents="lax"/>
     </xs:complexType>
   </xs:element>
+  <xs:simpleType name="DependencyType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="requires"/>
+      <xs:enumeration value="wants"/>
+    </xs:restriction>
+  </xs:simpleType>
   <xs:simpleType name="ResolutionType">
     <xs:restriction base="xs:string">
       <xs:enumeration value="xhigh"/>