﻿<?xml version="1.0"?>
<xsd:schema
  targetNamespace="http://dca.tufts.edu/ad"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns="http://dca.tufts.edu/ad"
   elementFormDefault="qualified"
>

  <xsd:annotation>
    <xsd:documentation xml:lang="en">
	Asset Defintion: XML schema
	Version 1.3
	Last update: 3 March 2006

	Editors:
		Thorny Staples,
		Jerry Persons,
		Bill Parod,
		Jon Dunn,
		Robert Chavez,
		Timothy W. Cole,
		Thomas G. Habing.
     </xsd:documentation>
   </xsd:annotation>

   <xsd:element name="assetActions">
	   <xsd:complexType>
                <xsd:sequence>
			<xsd:element name="actionGroup" minOccurs="1" maxOccurs="unbounded" >
        <xsd:complexType >
        	<xsd:sequence>
        		<xsd:element name="action" type="actionType" minOccurs="1" maxOccurs="unbounded" />
        	</xsd:sequence>
          <xsd:attribute name="name" type="xsd:string" use="required" />
          <xsd:attribute name="label" type="xsd:string" use="required" />
        </xsd:complexType>
     	   <!-- forbids multiple action elements of same name within single actionGroup -->
     	   <xsd:unique name="uniqueAction">
     	      <xsd:selector xpath="./*"/>
     	      <xsd:field xpath="@name"/>
     	   </xsd:unique>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="objid" type="xsd:string" use="required" />
		<xsd:attribute name="type" type="xsd:string" use="required" />
	   </xsd:complexType>

	   <!-- forbids multiple actionGroup elements of same name within single assetActions-->
	   <xsd:unique name="uniqueGroup">
	      <xsd:selector xpath="./*"/>
	      <xsd:field xpath="@name"/>
	   </xsd:unique>

    </xsd:element>


   <xsd:complexType name="actionType">
		<xsd:attribute name="name" type="xsd:string" use="required" />
		<xsd:attribute name="format" type="xsd:string" use="required" />
		<xsd:attribute name="label" type="xsd:string" use="required"/>
		<xsd:attribute name="uri" type="xsd:anyURI"  use="required"/>
   </xsd:complexType>

</xsd:schema>


