Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cosmos-dev] RE: Schema for simple sdd registry

Hi Josh,

I saw your other email that you have much of this working already.  Nice work.  We can discuss those remaining questions on the architecture call tomorrow.  I made some tweaks to the schema that you sent out though.  I plan to look at it further tonight and may make a few other modifications.

The major changes are that I removed the order attribute.  In addition, I added an id attribute which is a placeholder for mapping back to the SDD id.  I considered making this a UUID, but did not since the IDs in the SDD must be unique and are already based on a UUID construct.  I also added a VersionType complex type to house a VRML based version scheme of major.minor.patch.fix.  However, I made major the only required attribute and all are strings so if adopters don't use the VRML convention any valid xsd:string can be used within the "major" attribute.  I also made version a required element of ProductType as it didn't make sense to me to install software without a version identifier.

There were a couple of other minor tweaks I made that you'll see.

Please review and let's discuss this and your remaining questions tomorrow.

Cheers,
-Jason

-----Original Message-----
From: cosmos-dev-bounces@xxxxxxxxxxx [mailto:cosmos-dev-bounces@xxxxxxxxxxx] On Behalf Of Josh Hester
Sent: Friday, January 15, 2010 10:47 AM
To: cosmos-dev@xxxxxxxxxxx
Subject: [cosmos-dev] Schema for simple sdd registry

Not sure why this didn't go out the first time, trying again.

-Josh


Begin forwarded message:

From: Josh Hester <Josh.Hester@xxxxxxx<mailto:Josh.Hester@xxxxxxx>>
Date: January 14, 2010 3:52:07 PM EST
To: "cosmos-dev@xxxxxxxxxxx<mailto:cosmos-dev@xxxxxxxxxxx>" <cosmos-dev@xxxxxxxxxxx<mailto:cosmos-dev@xxxxxxxxxxx>>
Subject: Schema for simple sdd registry

All,

Here is the schema for the simple xml based registry for storing information about resulting resources.  Please review it and let me know what you think.

Thanks,

Josh Hester
Software Developer - Installation Technologies
(919) 531-1772
www.sas.com<http://www.sas.com>

SAS® … THE POWER TO KNOW®



<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
  
  <xsd:complexType name="RegistryType">
    <xsd:sequence>
      <xsd:element name="operation" type="OperationType" minOccurs="0"/>      
    </xsd:sequence>    
    <xsd:attribute name="version" type="xsd:string" use="optional"/>
  </xsd:complexType>
  
  <xsd:complexType name="OperationType">
    <xsd:sequence>
      <xsd:element name="action" type="ActionType" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="product" type="ProductType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="platform" type="xsd:string" use="required"/>		
  </xsd:complexType>
  
  <xsd:complexType name="ProductType">
    <xsd:sequence>
      <xsd:element name="version" type="VersionType" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="other" type="OtherType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:string" use="required"/>
    <xsd:attribute name="name" type="xsd:string" use="optional"/>
    <xsd:attribute name="path" type="xsd:anyURI" use="optional"/>
   </xsd:complexType>
  
  <xsd:complexType name="OtherType">    
    <xsd:attribute name="name" type="xsd:string" use="required"/>
    <xsd:attribute name="value" type="xsd:string" use="required"/>
  </xsd:complexType>
    
  <xsd:complexType name="VersionType">    
    <xsd:attribute name="major" type="xsd:string" use="required"/>
    <xsd:attribute name="minor" type="xsd:string" use="optional"/>
    <xsd:attribute name="patch" type="xsd:string" use="optional"/>
    <xsd:attribute name="fix" type="xsd:string" use="optional"/>
  </xsd:complexType>
  
  <xsd:simpleType name="ActionType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="INSTALL"/>
      <xsd:enumeration value="UNINSTALL"/>
      <xsd:enumeration value="UPDATE"/>
    </xsd:restriction>
  </xsd:simpleType>
  
</xsd:schema>

Back to the top