[OGSA-BES-WG] To many 'any' in factory attributes document

Christopher Smith csmith at platform.com
Tue Oct 17 12:40:07 CDT 2006


Hi all,

I don't know if others are having this issue, but my tooling doesn't like
all the xsd:any that show up in the FactoryResourceAttributesDocumentType.

The problem is this:

BasicFactoryResourceAttributesDocumentType has:

- stuff1
- stuff2
- ...
- xsd:any

Then the FactoryResourceAttributesDocumentType has:

- stuff1  (from extension)
- stuff2  (from extension)
- ...
- xsd:any (from extension)
- otherstuff1
- otherstuff2
- ...
- xsd:any

That makes two xsd:any in one complex type, which is one too many in my
opinion. 

Can we perhaps refactor this type? I've also noticed that I can only provide
one OperatingSystem, CPUArchitecture, etc, etc, which doesn't allow me to
list the elements of my cluster.

How about something like:

  <xsd:complexType name="ResourceAttributesDocumentType">
    <xsd:sequence>
      <xsd:element name="OperatingSystem" type="jsdl:OperatingSystem_Type"
      minOccurs="0"/>
      <xsd:element name="CPUArchitecture" type="jsdl:CPUArchitecture_Type"
      minOccurs="0"/>
      <xsd:element name="CPUCount" type="xsd:unsignedInt"
      minOccurs="0"/>
      <xsd:element name="CPUSpeed" type="xsd:unsignedLong"
      minOccurs="0"/>
      <xsd:element name="PhysicalMemory" type="xsd:unsignedLong"
      minOccurs="0"/>
      <xsd:element name="VirtualMemory" type="xsd:unsignedLong"
      minOccurs="0"/>
      <xsd:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:string" use="required"/>
  </xsd:complexType>
  <xsd:element name="ResourceAttributesDocument"
          type="ResourceAttributesDocumentType/>

  <xsd:complexType name="FactoryResourceAttributesDocumentType">
    <xsd:complexContent>
        <xsd:sequence>
          <xsd:element ref="ResourceAttributesDocument" minOccurs="0"
              maxOccurs="unbounded"/>
          <xsd:element name="IsAcceptingNewActivities"
              type="xsd:boolean" minOccurs="1" maxOccurs ="1"/>
          <xsd:element name="CommonName" type="xsd:string"
              minOccurs="0" maxOccurs ="1"/>
          <xsd:element name="LongDescription" type="xsd:string"
              minOccurs="0" maxOccurs ="1"/>
          <xsd:element name="TotalNumberOfActivities"
              type="xsd:unsignedInt" minOccurs="1" maxOccurs ="1"/>
          <xsd:element name="LocalResourceManagerType"
                    type="xsd:QName"/>
          <xsd:element name="ActivityReference"
                    type="wsa:EndpointReferenceType"
              minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="ContainedResourceAttributes"
              type="xsd:anyType" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="NamingProfile"
              type="xsd:QName" minOccurs="1" maxOccurs ="1"/>
          <xsd:any namespace="##other" processContents="lax"
              minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>


Even if we don't refactor like I suggested, we need to control the
xsd:any's.

-- Chris



More information about the ogsa-bes-wg mailing list