--- a/xml/schema/prov.alt.xsd Wed Jan 23 13:04:02 2013 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,487 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
- In PROV-DM, all ids are qualified names, specified as prov:QualifiedName in PROV-N.
- In this schema, all ids are instead defined as xsd:QNames.
- -->
-
-
-<xs:schema targetNamespace="http://www.w3.org/ns/prov#"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:prov="http://www.w3.org/ns/prov#"
- xmlns:cu="http://www.w3.org/1999/xhtml/datatypes/"
- xmlns:xml="http://www.w3.org/XML/1998/namespace"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
-
-
-
- <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" />
- <xs:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
- <!-- Component 1 -->
-
- <xs:complexType name="Entity">
- <xs:sequence>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:value"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Activity">
- <xs:sequence>
- <xs:element name="startTime" type="xs:dateTime" minOccurs="0"/>
- <xs:element name="endTime" type="xs:dateTime" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Generation">
- <xs:sequence>
- <xs:element name="entity" type="prov:EntityRef"/>
- <xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/>
- <xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:role"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Usage">
- <xs:sequence>
- <xs:element name="activity" type="prov:ActivityRef"/>
- <xs:element name="entity" type="prov:EntityRef" minOccurs="0"/>
- <xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:role"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Communication">
- <xs:sequence>
- <xs:element name="informed" type="prov:ActivityRef"/>
- <xs:element name="informant" type="prov:ActivityRef"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Start">
- <xs:sequence>
- <xs:element name="activity" type="prov:ActivityRef"/>
- <xs:element name="trigger" type="prov:EntityRef" minOccurs="0"/>
- <xs:element name="starter" type="prov:ActivityRef" minOccurs="0"/>
- <xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:role"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="End">
- <xs:sequence>
- <xs:element name="activity" type="prov:ActivityRef"/>
- <xs:element name="trigger" type="prov:EntityRef" minOccurs="0"/>
- <xs:element name="ender" type="prov:ActivityRef" minOccurs="0"/>
- <xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:role"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Invalidation">
- <xs:sequence>
- <xs:element name="entity" type="prov:EntityRef"/>
- <xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/>
- <xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:role"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <!-- Component 2 -->
-
- <xs:complexType name="Derivation">
- <xs:sequence>
- <xs:element name="generatedEntity" type="prov:EntityRef"/>
- <xs:element name="usedEntity" type="prov:EntityRef"/>
- <xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/>
- <xs:element name="generation" type="prov:GenerationRef" minOccurs="0"/>
- <xs:element name="usage" type="prov:UsageRef" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Revision">
- <xs:complexContent>
- <xs:extension base="prov:Derivation">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="Quotation">
- <xs:complexContent>
- <xs:extension base="prov:Derivation">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="PrimarySource">
- <xs:complexContent>
- <xs:extension base="prov:Derivation">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <!-- Component 3 -->
-
- <xs:complexType name="Agent">
- <xs:sequence>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Person">
- <xs:complexContent>
- <xs:extension base="prov:Agent">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="Organization">
- <xs:complexContent>
- <xs:extension base="prov:Agent">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="SoftwareAgent">
- <xs:complexContent>
- <xs:extension base="prov:Agent">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="Attribution">
- <xs:sequence>
- <xs:element name="entity" type="prov:EntityRef"/>
- <xs:element name="agent" type="prov:AgentRef"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Association">
- <xs:sequence>
- <xs:element name="activity" type="prov:ActivityRef"/>
- <xs:element name="agent" type="prov:AgentRef" minOccurs="0"/>
- <xs:element name="plan" type="prov:PlanRef" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:role"/>
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Delegation">
- <xs:sequence>
- <xs:element name="delegate" type="prov:AgentRef"/>
- <xs:element name="responsible" type="prov:AgentRef"/>
- <xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <xs:complexType name="Influence">
- <xs:sequence>
- <xs:element name="influencee" type="prov:AnyRef"/>
- <xs:element name="influencer" type="prov:AnyRef"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <!-- Component 4 -->
-
- <xs:complexType name="Bundle">
- <xs:sequence>
- <xs:group ref="prov:documentElements"/>
- </xs:sequence>
- <xs:attribute ref="prov:id"/>
- </xs:complexType>
-
- <!-- Component 5 -->
-
- <xs:complexType name="Specialization">
- <xs:sequence>
- <xs:element name="specificEntity" type="prov:EntityRef"/>
- <xs:element name="generalEntity" type="prov:EntityRef"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="Alternate">
- <xs:sequence>
- <xs:element name="alternate1" type="prov:EntityRef"/>
- <xs:element name="alternate2" type="prov:EntityRef"/>
- </xs:sequence>
- </xs:complexType>
-
- <!-- Component 6 -->
-
- <xs:complexType name="Collection">
- <xs:complexContent>
- <xs:extension base="prov:Entity">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="EmptyCollection">
- <xs:complexContent>
- <xs:extension base="prov:Collection">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="Membership">
- <xs:sequence>
- <xs:element name="collection" type="prov:CollectionRef"/>
- <xs:element name="entity" type="prov:EntityRef" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="Plan">
- <xs:complexContent>
- <xs:extension base="prov:Entity">
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="InternationalizedString">
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute ref="xml:lang" use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-
-
- <!--
- Typed literals are encoded by means
- of xsi:type that represent the prov:datatype.
-
- -->
-
- <xs:element name="label" type="prov:InternationalizedString"/>
- <xs:element name="role" type="xs:anySimpleType"/>
- <xs:element name="type" type="xs:anySimpleType"/>
- <xs:element name="location" type="xs:anySimpleType"/>
- <xs:element name="value" type="xs:anySimpleType"/>
-
- <!-- See comment in preamble.
- These should be prov:QualifiedName
- but instead are xsd:QName for tools to process them -->
-
- <!-- Possible alternative, but may cause us
- to lose benefit of existing XML tooling
- <xs:attribute name="id" type="xs:anyURI"/>
- <xs:attribute name="ref" type="xs:anyURI"/>
- -->
-
- <xs:attribute name="id" type="xs:QName"/>
- <xs:attribute name="ref" type="xs:QName"/>
-
- <xs:complexType name="ActivityRef">
- <xs:attribute ref="prov:ref" use="required" />
- </xs:complexType>
- <xs:complexType name="EntityRef">
- <xs:attribute ref="prov:ref" use="required"/>
- </xs:complexType>
- <xs:complexType name="CollectionRef">
- <xs:attribute ref="prov:ref" use="required"/>
- </xs:complexType>
- <xs:complexType name="PlanRef">
- <xs:attribute ref="prov:ref" use="required"/>
- </xs:complexType>
- <xs:complexType name="AgentRef">
- <xs:attribute ref="prov:ref" use="required"/>
- </xs:complexType>
- <xs:complexType name="UsageRef">
- <xs:attribute ref="prov:ref" use="required"/>
- </xs:complexType>
- <xs:complexType name="GenerationRef">
- <xs:attribute ref="prov:ref" use="required"/>
- </xs:complexType>
- <xs:complexType name="AnyRef">
- <xs:attribute ref="prov:ref" use="required"/>
- </xs:complexType>
-
- <!--
- top-level definition of elements following the salami slice XSD design pattern
- to encourage integration within existing non-prov XML documents.
- -->
-
- <!-- Component 1 elements -->
-
- <xs:element name="entity" type="prov:Entity"/>
- <xs:element name="activity" type="prov:Activity"/>
- <xs:element name="wasGeneratedBy" type="prov:Generation"/>
- <xs:element name="used" type="prov:Usage"/>
- <xs:element name="wasInformedBy" type="prov:Communication"/>
- <xs:element name="wasStartedBy" type="prov:Start"/>
- <xs:element name="wasEndedBy" type="prov:End"/>
- <xs:element name="wasInvalidatedBy" type="prov:Invalidation"/>
-
- <!-- Component 2 elements -->
-
- <xs:element name="wasDerivedFrom" type="prov:Derivation"/>
- <xs:element name="wasRevisionOf" type="prov:Revision"/>
- <xs:element name="wasQuotedFrom" type="prov:Quotation"/>
- <xs:element name="hadPrimarySource" type="prov:PrimarySource"/>
-
- <!-- Component 3 elements -->
-
- <xs:element name="agent" type="prov:Agent"/>
- <xs:element name="person" type="prov:Person"/>
- <xs:element name="organization" type="prov:Organization"/>
- <xs:element name="softwareAgent" type="prov:SoftwareAgent"/>
- <xs:element name="wasAttributedTo" type="prov:Attribution"/>
- <xs:element name="wasAssociatedWith" type="prov:Association"/>
- <xs:element name="actedOnBehalfOf" type="prov:Delegation"/>
- <xs:element name="wasInfluencedBy" type="prov:Influence"/>
-
- <!-- Component 5 elements -->
-
- <xs:element name="bundle" type="prov:Bundle"/>
- <xs:element name="specializationOf" type="prov:Specialization"/>
- <xs:element name="alternateOf" type="prov:Alternate"/>
-
- <!-- Component 6 elements -->
-
- <xs:element name="hadMember" type="prov:Membership"/>
- <xs:element name="collection" type="prov:Collection"/>
- <xs:element name="emptyCollection" type="prov:EmptyCollection"/>
-
- <!-- Component 7 elements -->
-
- <xs:element name="plan" type="prov:Plan"/>
-
- <!-- document elements -->
-
- <xs:group name="documentElements">
- <xs:sequence>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:entity"/>
- <xs:element ref="prov:activity"/>
- <xs:element ref="prov:wasGeneratedBy"/>
- <xs:element ref="prov:used"/>
- <xs:element ref="prov:wasInformedBy"/>
- <xs:element ref="prov:wasStartedBy"/>
- <xs:element ref="prov:wasEndedBy"/>
- <xs:element ref="prov:wasInvalidatedBy"/>
- <xs:element ref="prov:wasDerivedFrom"/>
- <xs:element ref="prov:wasRevisionOf"/>
- <xs:element ref="prov:wasQuotedFrom"/>
- <xs:element ref="prov:hadPrimarySource"/>
- <xs:element ref="prov:agent"/>
- <xs:element ref="prov:person"/>
- <xs:element ref="prov:organization"/>
- <xs:element ref="prov:softwareAgent"/>
- <xs:element ref="prov:wasAttributedTo"/>
- <xs:element ref="prov:wasAssociatedWith"/>
- <xs:element ref="prov:actedOnBehalfOf"/>
- <xs:element ref="prov:wasInfluencedBy"/>
- <xs:element ref="prov:bundle"/>
- <xs:element ref="prov:specializationOf"/>
- <xs:element ref="prov:alternateOf"/>
- <xs:element ref="prov:collection"/>
- <xs:element ref="prov:emptyCollection"/>
- <xs:element ref="prov:hadMember"/>
- <xs:element ref="prov:plan"/>
- <xs:any namespace="##other"/>
- </xs:choice>
- </xs:sequence>
- </xs:group>
-
- <xs:element name="document" type="prov:Document" />
- <xs:complexType name="Document">
- <xs:sequence>
- <xs:choice maxOccurs="unbounded">
- <xs:group ref="prov:documentElements"/>
- <xs:element ref="prov:bundle"/>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
-
-</xs:schema>