Documentation for epc-elements

Table of Contents

top

Schema Document Properties

Target Namespace urn:epc:xml-schema
Version 2.0
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition

Declared Namespaces

Prefix Namespace
xml http://www.w3.org/XML/1998/namespace
xs http://www.w3.org/2001/XMLSchema
epc urn:epc:xml-schema
Schema Component Representation
<schema targetNamespace="urn:epc:xml-schema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0">
<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<include schemaLocation="http://epc.ub.uu.se/schema/epc/2006/epc-attributes.xsd"/>
...
</schema>
top

Global Definitions

Complex Type: typeAddress

Super-types: None
Sub-types: None
Name typeAddress
Abstract no
Documentation Description of an address.
XML Instance Representation
<...
type=" listAddressAttr [1] ?">
Start Choice [1]
<street> token </street> [0..1] ?
<postbox> token </postbox> [0..1] ?
End Choice
<postcode> token </postcode> [0..1] ?
<place> typePlace </place> [0..1] ?
</...>
Diagram
Schema Component Representation
<complexType name="typeAddress">
<sequence>
<choice>
<element name="street" type=" token " minOccurs="0"/>
<element name="postbox" type=" token " minOccurs="0"/>
</choice>
<element name="postcode" type=" token " minOccurs="0"/>
<element name="place" type=" typePlace " minOccurs="0"/>
</sequence>
<attribute name="type" type=" listAddressAttr " use="required"/>
</complexType>
top

Complex Type: typeAgent

Super-types: typeEntity < typeAgent (by extension)
Sub-types: None
Name typeAgent
Abstract no
XML Instance Representation
<...>
<identifiers> typeIdentifiers </identifiers> [0..1]
<name> typeName </name> [1] ?
<contact> typeContact </contact> [0..1] ?
Start Choice [1]
<parentOrganisations> [0..1]
<organisation> typeEntity </organisation> [1..*]
</parentOrganisations>
<affiliations> [0..1]
<organisations> typeEntity </organisations> [1..*]
</affiliations>
End Choice
<role> listOfRoles </role> [1] ?
</...>
Diagram
Schema Component Representation
<complexType name="typeAgent">
<complexContent>
<extension base=" typeEntity ">
<sequence>
<element name="role" type=" listOfRoles "/>
</sequence>
</extension>
</complexContent>
</complexType>
top

Complex Type: typeContact

Super-types: None
Sub-types: None
Name typeContact
Abstract no
Documentation Descritpion of contact information.
XML Instance Representation
<...>
<address> typeAddress </address> [0..2] ?
<telephone> token </telephone> [0..1] ?
<fax> token </fax> [0..1] ?
<e-mail> token </e-mail> [0..1] ?
<web> token </web> [0..1] ?
</...>
Diagram
Schema Component Representation
<complexType name="typeContact">
<sequence>
<element name="address" type=" typeAddress " minOccurs="0" maxOccurs="2"/>
<element name="telephone" type=" token " minOccurs="0"/>
<element name="fax" type=" token " minOccurs="0"/>
<element name="e-mail" type=" token " minOccurs="0"/>
<element name="web" type=" token " minOccurs="0"/>
</sequence>
</complexType>
top

Complex Type: typeDate

Super-types: None
Sub-types: None
Name typeDate
Abstract no
Documentation Description of a date.
XML Instance Representation
<...>
<year> short (total no. of digits = 4) (Whitespace policy: collapse) </year> [1] ?
<month> short (pattern = \d{2}) (01 <= value <= 12) (total no. of digits = 2) (Whitespace policy: collapse) </month> [0..1] ?
<day> int (pattern = \d{2}) (01 <= value <= 31) (total no. of digits = 2) (Whitespace policy: collapse) </day> [0..1] ?
</...>
Diagram
Schema Component Representation
<complexType name="typeDate">
<sequence>
<element name="year">
<simpleType>
<restriction base=" short ">
<whiteSpace value="collapse"/>
<totalDigits value="4"/>
</restriction>
</simpleType>
</element>
<element name="month" minOccurs="0">
<simpleType>
<restriction base=" short ">
<whiteSpace value="collapse"/>
<minInclusive value="01"/>
<maxInclusive value="12"/>
<totalDigits value="2"/>
<pattern value="\d{2}"/>
</restriction>
</simpleType>
</element>
<element name="day" minOccurs="0">
<simpleType>
<restriction base=" int ">
<minInclusive value="01"/>
<maxInclusive value="31"/>
<whiteSpace value="collapse"/>
<totalDigits value="2"/>
<pattern value="\d{2}"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
top

Complex Type: typeDatetime

Super-types: None
Sub-types: None
Name typeDatetime
Abstract no
Documentation A point in time
XML Instance Representation
<...>
Start All [1]
<date> typeDate </date> [1]
<time> typeTime </time> [1]
<timestamp> dateTime </timestamp> [1] ?
End All
</...>
Diagram
Schema Component Representation
<complexType name="typeDatetime">
<all>
<element name="date" type=" typeDate "/>
<element name="time" type=" typeTime "/>
<element name="timestamp" type=" dateTime "/>
</all>
</complexType>
top

Complex Type: typeDescName

Super-types: None
Sub-types: None
Name typeDescName
Abstract no
Documentation Name element for countries, languages etc.
XML Instance Representation
<...>
<name
lang="[1]"> [1..*] ?
token
</name>
</...>
Diagram
Schema Component Representation
<complexType name="typeDescName">
<sequence>
<element name="name" maxOccurs="unbounded">
<complexType>
<simpleContent>
<extension base=" token ">
<attribute ref="lang" use="required"/>
</extension>
</simpleContent>
</complexType>
</element>
</sequence>
</complexType>
top

Complex Type: typeEntity

Super-types: None
Sub-types:
Name typeEntity
Abstract no
Documentation This type can be used for individuals or organisations.
XML Instance Representation
<...>
<identifiers> typeIdentifiers </identifiers> [0..1]
<name> typeName </name> [1] ?
<contact> typeContact </contact> [0..1] ?
Start Choice [1]
<parentOrganisations> [0..1]
<organisation> typeEntity </organisation> [1..*]
</parentOrganisations>
<affiliations> [0..1]
<organisations> typeEntity </organisations> [1..*]
</affiliations>
End Choice
</...>
Diagram
Schema Component Representation
<complexType name="typeEntity">
<sequence>
<element name="identifiers" type=" typeIdentifiers " minOccurs="0"/>
<element name="name" type=" typeName " minOccurs="1"/>
<element name="contact" type=" typeContact " minOccurs="0"/>
<choice>
<element name="parentOrganisations" minOccurs="0">
<complexType>
<sequence>
<element name="organisation" type=" typeEntity " maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="affiliations" minOccurs="0">
<complexType>
<sequence>
<element name="organisations" type=" typeEntity " maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</choice>
</sequence>
</complexType>
top

Complex Type: typeEvent

Super-types: None
Sub-types: None
Name typeEvent
Abstract no
Documentation Describes an event like a presentation, public defence or publication
XML Instance Representation
<...
type=" listEventTypeAttr [1] ?">
Start All [1]
<name> typeDescName </name> [0..1] ?
<datetime> typeDatetime </datetime> [1] ?
<place> typePlace </place> [0..1] ?
<agents> [0..1] ?
<agent> typeAgent </agent> [1..*]
</agents>
End All
</...>
Diagram
Schema Component Representation
<complexType name="typeEvent">
<all>
<element name="name" type=" typeDescName " minOccurs="0"/>
<element name="datetime" type=" typeDatetime "/>
<element name="place" type=" typePlace " minOccurs="0"/>
<element name="agents" minOccurs="0">
<complexType>
<sequence>
<element name="agent" type=" typeAgent " maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</all>
<attribute name="type" type=" listEventTypeAttr " use="required"/>
</complexType>
top

Complex Type: typeIdentifiers

Super-types: None
Sub-types: None
Name typeIdentifiers
Abstract no
Documentation Container element for 1 or more identifiers
XML Instance Representation
<...>
<identifier
type=" listIdentifierAttr [1] ?"> [1..*] ?
<value> token </value> [1] ?
<services> [0..1]
<service> typeService </service> [1..*] ?
</services>
<authority> typeEntity </authority> [0..1] ?
</identifier>
</...>
Diagram
Schema Component Representation
<complexType name="typeIdentifiers">
<sequence>
<element name="identifier" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="value" type=" token "/>
<element name="services" minOccurs="0">
<complexType>
<sequence>
<element name="service" type=" typeService " maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="authority" type=" typeEntity " minOccurs="0"/>
</sequence>
<attribute name="type" type=" listIdentifierAttr " use="required"/>
</complexType>
</element>
</sequence>
</complexType>
top

Complex Type: typeList

Super-types: None
Sub-types: None
Name typeList
Abstract no
Documentation Type definition for elements where authority lists exist.
XML Instance Representation
<...>
<identifiers> typeIdentifiers </identifiers> [1]
<names> typeNames </names> [0..1]
</...>
Diagram
Schema Component Representation
<complexType name="typeList">
<sequence>
<element name="identifiers" type=" typeIdentifiers "/>
<element name="names" type=" typeNames " minOccurs="0"/>
</sequence>
</complexType>
top

Complex Type: typeName

Super-types: None
Sub-types: None
Name typeName
Abstract no
Documentation Name of a person or entity.
XML Instance Representation
<...>
<name
type=" listNameAttr [1]"
script="string [0..1]"> [1..*] ?
<namePart
type=" listNamePartAttr [1]"/> [1..*] ?
</name>
</...>
Diagram
Schema Component Representation
<complexType name="typeName">
<sequence>
<element name="name" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="namePart" maxOccurs="unbounded">
<complexType>
<attribute name="type" type=" listNamePartAttr " use="required"/>
</complexType>
</element>
</sequence>
<attribute name="type" type=" listNameAttr " use="required"/>
<attribute name="script" type=" string " use="optional"/>
</complexType>
</element>
</sequence>
</complexType>
top

Complex Type: typeNames

Super-types: None
Sub-types: None
Name typeNames
Abstract no
XML Instance Representation
<...>
<name> typeDescName </name> [1..*]
</...>
Diagram
Schema Component Representation
<complexType name="typeNames">
<sequence>
<element name="name" type=" typeDescName " maxOccurs="unbounded"/>
</sequence>
</complexType>
top

Complex Type: typePlace

Super-types: None
Sub-types: None
Name typePlace
Abstract no
Documentation Description of a place.
XML Instance Representation
<...>
Start All [1]
<city> typeDescName </city> [1] ?
<country> typeList </country> [1] ?
End All
</...>
Diagram
Schema Component Representation
<complexType name="typePlace">
<all>
<element name="city" type=" typeDescName "/>
<element name="country" type=" typeList "/>
</all>
</complexType>
top

Complex Type: typeSeries

Super-types: None
Sub-types: None
Name typeSeries
Abstract no
Documentation Type definition for a series
XML Instance Representation
<...>
<identifiers> typeIdentifiers </identifiers> [1]
<titles> typeTitles </titles> [0..1]
</...>
Diagram
Schema Component Representation
<complexType name="typeSeries">
<sequence>
<element name="identifiers" type=" typeIdentifiers "/>
<element name="titles" type=" typeTitles " minOccurs="0"/>
</sequence>
</complexType>
top

Complex Type: typeService

Super-types: None
Sub-types: None
Name typeService
Abstract no
Documentation Describes a service of a certain type such as an resolution service
XML Instance Representation
<...
type=" listServiceTypeAttr [1] ?">
<identifiers> typeIdentifiers </identifiers> [0..1]
<name> typeDescName </name> [1]
<uris> [0..1]
<uri> typeURI </uri> [1..*]
</uris>
</...>
Diagram
Schema Component Representation
<complexType name="typeService">
<sequence>
<element name="identifiers" type=" typeIdentifiers " minOccurs="0"/>
<element name="name" type=" typeDescName "/>
<element name="uris" minOccurs="0">
<complexType>
<sequence>
<element name="uri" type=" typeURI " maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
<attribute name="type" type=" listServiceTypeAttr " use="required"/>
</complexType>
top

Complex Type: typeTime

Super-types: time < typeTime (by extension)
Sub-types: None
Name typeTime
Abstract no
Documentation Describes a time according to the Gregorian calendar. The time format is HH:MM.
XML Instance Representation
<...
timezone=" token [1]">
time
</...>
Diagram
Schema Component Representation
<complexType name="typeTime">
<simpleContent>
<extension base=" time ">
<attribute name="timezone" use="required">
<simpleType>
<restriction base=" token "/>
</simpleType>
</attribute>
</extension>
</simpleContent>
</complexType>
top

Complex Type: typeTitles

Super-types: None
Sub-types: None
Name typeTitles
Abstract no
Documentation Type definition for titles
XML Instance Representation
<...>
<titleInfo
type=" listTitleAttr [0..1]"> [1..*]
<title
type=" listTitleSubAttr [0..1]"
lang="[0..1]"/> [1..*]
<partNumber> token </partNumber> [0..*]
<partName> token </partName> [0..*]
</titleInfo>
</...>
Diagram
Schema Component Representation
<complexType name="typeTitles">
<sequence>
<element name="titleInfo" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="title" maxOccurs="unbounded">
<complexType>
<attribute name="type" type=" listTitleSubAttr " use="optional"/>
<attribute ref="lang" use="optional"/>
</complexType>
</element>
<element name="partNumber" type=" token " minOccurs="0" maxOccurs="unbounded"/>
<element name="partName" type=" token " minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="type" type=" listTitleAttr " use="optional"/>
</complexType>
</element>
</sequence>
</complexType>
top

Complex Type: typeURI

Super-types: None
Sub-types: None
Name typeURI
Abstract no
Documentation Describes any kind of URI
XML Instance Representation
<...
type=" listURITypeAttr [1] ?">
<name> typeDescName </name> [0..1] ?
<uri> anyURI </uri> [1] ?
</...>
Diagram
Schema Component Representation
<complexType name="typeURI">
<sequence>
<element name="name" type=" typeDescName " minOccurs="0"/>
<element name="uri" type=" anyURI "/>
</sequence>
<attribute name="type" type=" listURITypeAttr " use="required"/>
</complexType>
top