Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > ebe084c140192657f9094e135a84202c > files > 59

libvirt-0.8.2-29.el5.src.rpm

From 99baf1ba758b264b4a5dfec79569c87d7a516db3 Mon Sep 17 00:00:00 2001
Message-Id: <99baf1ba758b264b4a5dfec79569c87d7a516db3.1305127059.git.jdenemar@redhat.com>
From: Daniel Veillard <veillard@redhat.com>
Date: Mon, 9 May 2011 17:22:10 -0600
Subject: [PATCH] Sysinfo extension to relax-ng schemas

https://bugzilla.redhat.com/show_bug.cgi?id=661365

Currently includes a subset of the SMBIOS strings set
(cherry picked from commit 5c3611ca399f4adb2b28bece28a821fbae1b849b)
---
 docs/schemas/domain.rng |   75 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng
index bf3e4a2..d8c24ea 100644
--- a/docs/schemas/domain.rng
+++ b/docs/schemas/domain.rng
@@ -30,6 +30,9 @@
         <optional>
           <ref name="cpu"/>
         </optional>
+        <optional>
+          <ref name="sysinfo"/>
+        </optional>
         <ref name="os"/>
         <ref name="clock"/>
         <ref name="resources"/>
@@ -1622,6 +1625,78 @@
     </element>
   </define>
 
+  <!--
+      System information specification:
+       Placeholder for system specific informations likes the ones
+       contained in the SMBIOS area.
+       Only a limited subset of entries can be modified there, so we
+       fully enumerate each case here.
+       The DMTF spec doesn't specify any string subset, just 0 terminated
+       byte strings, but better be safe and restrict at least the names
+       to avoid problems with space normalization in attribute values,
+       the value is kept as the element body for maximum flexibility.
+       A priori we allow only type 0 and type 1 string updates
+      -->
+  <define name="sysinfo">
+    <element name="sysinfo">
+      <attribute name="type">
+        <value>smbios</value>
+      </attribute>
+      <interleave>
+        <optional>
+          <element name="bios">
+            <oneOrMore>
+              <element name="entry">
+                <attribute name="name">
+                  <ref name="sysinfo-bios-name"/>
+                </attribute>
+                <ref name="sysinfo-value"/>
+              </element>
+            </oneOrMore>
+          </element>
+        </optional>
+        <optional>
+          <element name="system">
+            <oneOrMore>
+              <element name="entry">
+                <attribute name="name">
+                  <ref name="sysinfo-system-name"/>
+                </attribute>
+                <ref name="sysinfo-value"/>
+              </element>
+            </oneOrMore>
+          </element>
+        </optional>
+      </interleave>
+    </element>
+  </define>
+
+  <define name="sysinfo-bios-name">
+    <choice>
+      <value>vendor</value>
+      <value>version</value>
+      <value>date</value>
+      <value>release</value>
+    </choice>
+  </define>
+
+  <define name="sysinfo-system-name">
+    <choice>
+      <value>manufacturer</value>
+      <value>product</value>
+      <value>version</value>
+      <value>serial</value>
+      <value>uuid</value>
+      <value>sku</value>
+    </choice>
+  </define>
+
+  <define name="sysinfo-value">
+    <data type="string">
+      <param name='pattern'>[a-zA-Z0-9/\-_\. ]+</param>
+    </data>
+  </define>
+
   <define name="address">
     <element name="address">
       <choice>
-- 
1.7.5.rc3