<?xml version="1.0" encoding="UTF-8"?>
<!--***************************************************************************************-->
<!--  sdd-packageDescriptor-1.0.xsd                                                        -->
<!--                                                                                       -->
<!--  Schema for package descriptor defined in SDD specification                           -->
<!--                                                                                       -->
<!--  URL: http://docs.oasis-open.org/sdd/v1.0/os/CL1Schema/sdd-packageDescriptor-1.0.xsd  -->
<!--                                                                                       -->
<!--  Copyright (C) The Organization for the Advancement of                                -->
<!--  Structured Information Standards [OASIS] 2007, 2008.                                 -->
<!--  All Rights Reserved.                                                                 -->
<!--***************************************************************************************-->
<xsd:schema targetNamespace="http://docs.oasis-open.org/sdd/ns/packageDescriptor"
	xmlns:sdd-pd="http://docs.oasis-open.org/sdd/ns/packageDescriptor"
	xmlns:sdd-common="http://docs.oasis-open.org/sdd/ns/common"
	xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">

	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
	<xsd:import namespace="http://docs.oasis-open.org/sdd/ns/common" schemaLocation="http://docs.oasis-open.org/sdd/v1.0/os/CL1Schema/sdd-common-1.0.xsd"/>

	<xsd:element name="PackageDescriptor" type="sdd-pd:PackageDescriptorType"/>

	<xsd:complexType name="PackageDescriptorType">
		<xsd:sequence>			
			<xsd:element name="PackageIdentity" type="sdd-pd:PackageIdentityType"/>
			<xsd:element name="Contents" type="sdd-pd:ContentsType"/>
			<xsd:element ref="ds:Signature" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="sdd-common:DescriptorInfoGroup"/>
	</xsd:complexType>
	<xsd:complexType name="PackageIdentityType">
		<xsd:complexContent>
			<xsd:extension base="sdd-common:IdentityType">
				<xsd:attribute name="packageType" type="sdd-pd:PackageTypeType" default="baseInstall" use="optional"/>
				<xsd:attribute name="contentType" type="xsd:QName" use="optional"/>
				<xsd:attribute name="label" type="xsd:NCName" use="optional"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>			
	<xsd:complexType name="ContentsType">
		<xsd:sequence>
			<xsd:element name="Content" type="sdd-pd:ContentType" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ContentType">
		  <xsd:sequence>
  			<xsd:group ref="sdd-pd:DigestInfoGroup" minOccurs="0"/>
		  </xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required"/>
		<xsd:attribute name="pathname" type="xsd:anyURI" use="required"/>
		<xsd:attribute name="purpose" type="sdd-pd:ContentPurposeType" default="content" use="optional"/>
		<xsd:attribute name="charEncoding" type="xsd:string" use="optional"/>
		<xsd:attribute name="length" type="xsd:nonNegativeInteger" use="optional"/>
		<xsd:anyAttribute namespace="##other" processContents="lax"/>
	</xsd:complexType>
	<xsd:simpleType name="PackageTypeType">
		<xsd:list itemType="sdd-pd:ExtensiblePackageTypeType"/>
	</xsd:simpleType>
	<xsd:simpleType name="ExtensiblePackageTypeType">
		<xsd:union memberTypes="sdd-pd:SDDPackageTypeType xsd:NCName"/>
	</xsd:simpleType>
	<xsd:simpleType name="SDDPackageTypeType">
		<xsd:restriction base="xsd:NCName">
			<xsd:enumeration value="baseInstall"/>
			<xsd:enumeration value="baseUninstall"/>
			<xsd:enumeration value="configuration"/>
			<xsd:enumeration value="maintenance"/>
			<xsd:enumeration value="modification"/>
			<xsd:enumeration value="replacement"/>
			<xsd:enumeration value="localization"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ContentPurposeType">
		<xsd:union memberTypes="sdd-pd:SDDContentPurposeType xsd:NCName"/>
	</xsd:simpleType>
	<xsd:simpleType name="SDDContentPurposeType">
		<xsd:restriction base="xsd:NCName">
			<xsd:enumeration value="readMe"/>
			<xsd:enumeration value="endUserLicenseAgreement"/>
			<xsd:enumeration value="responseFile"/>
			<xsd:enumeration value="deploymentDescriptor"/>
			<xsd:enumeration value="packageDescriptor"/>	
			<xsd:enumeration value="descriptorLanguageBundle"/>	
			<xsd:enumeration value="content"/>	
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:group name="DigestInfoGroup">
		<xsd:sequence>
			<xsd:element ref="ds:DigestMethod"/>
			<xsd:element ref="ds:DigestValue"/>
		</xsd:sequence>
	</xsd:group>
</xsd:schema>