Update XML schemas.
am: 1a6728af46

Change-Id: I15f0b81d2d8e3d2b5ab2907307f8b48e0a31fa90
diff --git a/xsd/compatibilityMatrix/api/current.txt b/xsd/compatibilityMatrix/api/current.txt
index 3db4d27..a504dbb 100644
--- a/xsd/compatibilityMatrix/api/current.txt
+++ b/xsd/compatibilityMatrix/api/current.txt
@@ -41,7 +41,9 @@
   public static class Config.Value {
     ctor public Config.Value();
     method public String getType();
+    method public String getValue();
     method public void setType(String);
+    method public void setValue(String);
   }
 
   public class Hal {
diff --git a/xsd/compatibilityMatrix/compatibility_matrix.xsd b/xsd/compatibilityMatrix/compatibility_matrix.xsd
index 7c2c8a0..b8c9fa5 100644
--- a/xsd/compatibilityMatrix/compatibility_matrix.xsd
+++ b/xsd/compatibilityMatrix/compatibility_matrix.xsd
@@ -21,14 +21,14 @@
     <xs:element name="compatibility-matrix">
         <xs:complexType>
             <xs:sequence>
-                <xs:element name="hal" type="hal" maxOccurs="unbounded"/>
-                <xs:element name="kernel" type="kernel" maxOccurs="unbounded"/>
-                <xs:element name="sepolicy" type="sepolicy"/>
-                <xs:element name="avb" type="avb"/>
-                <xs:element name="vndk" type="vndk"/>
-                <xs:element name="vendor-ndk" type="vendor-ndk"/>
-                <xs:element name="system-sdk" type="system-sdk"/>
-                <xs:element name="xmlfile" type="xmlfile" maxOccurs="unbounded"/>
+                <xs:element name="hal" type="hal" minOccurs="0" maxOccurs="unbounded"/>
+                <xs:element name="kernel" type="kernel" minOccurs="0" maxOccurs="unbounded"/>
+                <xs:element name="sepolicy" type="sepolicy" minOccurs="0"/>
+                <xs:element name="avb" type="avb" minOccurs="0"/>
+                <xs:element name="vndk" type="vndk" minOccurs="0"/>
+                <xs:element name="vendor-ndk" type="vendor-ndk" minOccurs="0"/>
+                <xs:element name="system-sdk" type="system-sdk" minOccurs="0"/>
+                <xs:element name="xmlfile" type="xmlfile" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
             <xs:attribute name="version" type="xs:string" use="required"/>
             <xs:attribute name="type" type="xs:string" use="required"/>
@@ -38,9 +38,9 @@
     <xs:complexType name="hal">
         <xs:sequence>
             <xs:element name="name" type="xs:string"/>
-            <xs:element name="version" type="xs:string" maxOccurs="unbounded"/>
-            <xs:element name="interface" type="interface" maxOccurs="unbounded"/>
-            <xs:element name="fqname" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="interface" type="interface" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="fqname" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="format" type="xs:string"/>
         <xs:attribute name="optional" type="xs:string"/>
@@ -48,20 +48,20 @@
     <xs:complexType name="interface">
         <xs:sequence>
             <xs:element name="name" type="xs:string"/>
-            <xs:element name="instance" type="xs:string" maxOccurs="unbounded"/>
-            <xs:element name="regex-instance" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="instance" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="regex-instance" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="kernel">
         <xs:sequence>
-            <xs:element name="conditions">
+            <xs:element name="conditions" minOccurs="0">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element name="config" type="config" maxOccurs="unbounded"/>
+                        <xs:element name="config" type="config" minOccurs="0" maxOccurs="unbounded"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="config" type="config" maxOccurs="unbounded"/>
+            <xs:element name="config" type="config" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="version" type="xs:string"/>
     </xs:complexType>
@@ -70,7 +70,11 @@
             <xs:element name="key" type="xs:string"/>
             <xs:element name="value">
                 <xs:complexType>
-                    <xs:attribute name="type" type="xs:string"/>
+                    <xs:simpleContent>
+                        <xs:extension base="xs:string">
+                            <xs:attribute name="type" type="xs:string"/>
+                        </xs:extension>
+                    </xs:simpleContent>
                 </xs:complexType>
             </xs:element>
         </xs:sequence>
@@ -78,7 +82,7 @@
     <xs:complexType name="sepolicy">
         <xs:sequence>
             <xs:element name="kernel-sepolicy-version" type="xs:string"/>
-            <xs:element name="sepolicy-version" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="sepolicy-version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="avb">
@@ -89,18 +93,18 @@
     <xs:complexType name="vndk">
         <xs:sequence>
             <xs:element name="version" type="xs:string"/>
-            <xs:element name="library" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="library" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="vendor-ndk">
         <xs:sequence>
             <xs:element name="version" type="xs:string"/>
-            <xs:element name="library" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="library" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="system-sdk">
         <xs:sequence>
-            <xs:element name="version" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="xmlfile">
diff --git a/xsd/halManifest/api/current.txt b/xsd/halManifest/api/current.txt
index 938324c..13acf6b 100644
--- a/xsd/halManifest/api/current.txt
+++ b/xsd/halManifest/api/current.txt
@@ -7,24 +7,49 @@
     method public java.util.List<java.lang.String> getFqname();
     method public String getName();
     method public String getOptional();
+    method public hal.manifest.Hal.Transport getTransport();
     method public java.util.List<java.lang.String> getVersion();
     method public java.util.List<hal.manifest.Interface> get_interface();
     method public void setFormat(String);
     method public void setName(String);
     method public void setOptional(String);
+    method public void setTransport(hal.manifest.Hal.Transport);
+  }
+
+  public static class Hal.Transport {
+    ctor public Hal.Transport();
+    method public String getArch();
+    method public String getValue();
+    method public void setArch(String);
+    method public void setValue(String);
   }
 
   public class Interface {
     ctor public Interface();
     method public java.util.List<java.lang.String> getInstance();
     method public String getName();
-    method public java.util.List<java.lang.String> getRegexinstance();
     method public void setName(String);
   }
 
+  public class Kernel {
+    ctor public Kernel();
+    method public java.util.List<hal.manifest.Kernel.Config> getConfig();
+    method public String getVersion();
+    method public void setVersion(String);
+  }
+
+  public static class Kernel.Config {
+    ctor public Kernel.Config();
+    method public String getKey();
+    method public String getValue();
+    method public void setKey(String);
+    method public void setValue(String);
+  }
+
   public class Manifest {
     ctor public Manifest();
     method public java.util.List<hal.manifest.Hal> getHal();
+    method public hal.manifest.Kernel getKernel();
     method public hal.manifest.Sepolicy getSepolicy();
     method public hal.manifest.Systemsdk getSystemsdk();
     method public String getTargetlevel();
@@ -32,6 +57,7 @@
     method public java.util.List<hal.manifest.Vendorndk> getVendorndk();
     method public String getVersion();
     method public java.util.List<hal.manifest.Vndk> getVndk();
+    method public void setKernel(hal.manifest.Kernel);
     method public void setSepolicy(hal.manifest.Sepolicy);
     method public void setSystemsdk(hal.manifest.Systemsdk);
     method public void setTargetlevel(String);
@@ -41,9 +67,8 @@
 
   public class Sepolicy {
     ctor public Sepolicy();
-    method public String getKernelsepolicyversion();
-    method public java.util.List<java.lang.String> getSepolicyversion();
-    method public void setKernelsepolicyversion(String);
+    method public String getVersion();
+    method public void setVersion(String);
   }
 
   public class Systemsdk {
diff --git a/xsd/halManifest/hal_manifest.xsd b/xsd/halManifest/hal_manifest.xsd
index 635d2c2..688abeb 100644
--- a/xsd/halManifest/hal_manifest.xsd
+++ b/xsd/halManifest/hal_manifest.xsd
@@ -21,23 +21,33 @@
     <xs:element name="manifest">
         <xs:complexType>
             <xs:sequence>
-                <xs:element name="hal" type="hal" maxOccurs="unbounded"/>
-                <xs:element name="sepolicy" type="sepolicy"/>
-                <xs:element name="vndk" type="vndk" maxOccurs="unbounded"/>
-                <xs:element name="vendor-ndk" type="vendor-ndk" maxOccurs="unbounded"/>
-                <xs:element name="system-sdk" type="system-sdk"/>
+                <xs:element name="hal" type="hal" minOccurs="0" maxOccurs="unbounded"/>
+                <xs:element name="sepolicy" type="sepolicy" minOccurs="0"/>
+                <xs:element name="kernel" type="kernel" minOccurs="0"/>
+                <xs:element name="vndk" type="vndk" minOccurs="0" maxOccurs="unbounded"/>
+                <xs:element name="vendor-ndk" type="vendor-ndk" minOccurs="0" maxOccurs="unbounded"/>
+                <xs:element name="system-sdk" type="system-sdk" minOccurs="0"/>
             </xs:sequence>
             <xs:attribute name="version" type="xs:string" use="required"/>
             <xs:attribute name="type" type="xs:string" use="required"/>
-            <xs:attribute name="target-level" type="xs:string" use="required"/>
+            <xs:attribute name="target-level" type="xs:string"/>
         </xs:complexType>
     </xs:element>
     <xs:complexType name="hal">
         <xs:sequence>
             <xs:element name="name" type="xs:string"/>
-            <xs:element name="version" type="xs:string" maxOccurs="unbounded"/>
-            <xs:element name="interface" type="interface" maxOccurs="unbounded"/>
-            <xs:element name="fqname" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="transport">
+                <xs:complexType>
+                    <xs:simpleContent>
+                        <xs:extension base="xs:string">
+                            <xs:attribute name="arch" type="xs:string"/>
+                        </xs:extension>
+                    </xs:simpleContent>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="interface" type="interface" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="fqname" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="format" type="xs:string"/>
         <xs:attribute name="optional" type="xs:string"/>
@@ -45,31 +55,42 @@
     <xs:complexType name="interface">
         <xs:sequence>
             <xs:element name="name" type="xs:string"/>
-            <xs:element name="instance" type="xs:string" maxOccurs="unbounded"/>
-            <xs:element name="regex-instance" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="instance" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="sepolicy">
         <xs:sequence>
-            <xs:element name="kernel-sepolicy-version" type="xs:string"/>
-            <xs:element name="sepolicy-version" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="version" type="xs:string"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="vndk">
         <xs:sequence>
             <xs:element name="version" type="xs:string"/>
-            <xs:element name="library" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="library" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="vendor-ndk">
         <xs:sequence>
             <xs:element name="version" type="xs:string"/>
-            <xs:element name="library" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="library" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="system-sdk">
         <xs:sequence>
-            <xs:element name="version" type="xs:string" maxOccurs="unbounded"/>
+            <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
+    <xs:complexType name="kernel">
+        <xs:sequence>
+            <xs:element name="config" minOccurs="0" maxOccurs="unbounded">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element name="key" type="xs:string"/>
+                        <xs:element name="value" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+        </xs:sequence>
+        <xs:attribute name="version" type="xs:string"/>
+    </xs:complexType>
 </xs:schema>