CrossRefs 0.1
From BioSchemas
Revision as of 09:02, 17 May 2006; view current revision
←Older revision | Newer revision→
←Older revision | Newer revision→
Contents |
[edit]
Specification
[edit]
schema http://schemas.bioservices.net/2006/01/crossrefs
code
<xs:schema xmlns:cr="http://schemas.bioservices.net/2006/01/crossrefs" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bt="http://schemas.bioservices.net/2006/01/biotypes" xmlns:xlink="http://www.w3.org/1999/xlink" targetNamespace="http://schemas.bioservices.net/2006/01/crossrefs" elementFormDefault="qualified" attributeFormDefault="unqualified" id="crossrefs" version="0.1" xml:lang="en"/>
documentation
The CrossRefs (Cross References) schema is a building block for including references to biological databases, websites, etc. into an XML document.
<xs:import schemaLocation="biotypes_1.1.xsd" namespace="http://schemas.bioservices.net/2006/01/biotypes"/>
documentation
The CrossRefs schema supports cross references based on LSIDs as well as on BioTypes sources.
[edit]
Basics
<xs:complexType name="abstractReference" abstract="true">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:element name="abstractReference" type="cr:abstractReference" abstract="true"/>
<xs:simpleType name="schemaVersion">
<xs:restriction base="xs:string">
<xs:enumeration value="0.1"/>
</xs:restriction>
</xs:simpleType>
documentation
List of valid versions.
<xs:complexType name="crossRefs">
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="cr:abstractReference"/>
</xs:choice>
<xs:attribute name="schemaVersion" type="cr:schemaVersion" use="optional"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:element name="crossRefs" type="cr:crossRefs"/>
[edit]
Database
<xs:simpleType name="databaseName">
<xs:restriction base="xs:token">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="databaseEntry">
<xs:restriction base="xs:token">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="databaseURL">
<xs:restriction base="xs:anyURI"/>
</xs:simpleType>
<xs:complexType name="databaseReference">
<xs:complexContent>
<xs:extension base="cr:abstractReference">
<xs:attribute name="name" type="cr:databaseName" use="required"/>
<xs:attribute name="entry" type="cr:databaseEntry" use="required"/>
<xs:attribute name="url" type="cr:databaseURL" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="database" type="cr:databaseReference" substitutionGroup="cr:abstractReference"/>
[edit]
URL
<xs:complexType name="urlReference">
<xs:complexContent>
<xs:extension base="cr:abstractReference">
<xs:attribute name="href" type="xs:anyURI" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="url" type="cr:urlReference" substitutionGroup="cr:abstractReference"/>
[edit]
LSID
<xs:complexType name="lsidReference">
<xs:complexContent>
<xs:extension base="cr:abstractReference">
<xs:attribute name="value" type="bt:lsid" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="lsid" type="cr:lsidReference" substitutionGroup="cr:abstractReference"/>
[edit]
XLink
<xs:complexType name="xlinkReference">
<xs:complexContent>
<xs:extension base="cr:abstractReference">
<xs:anyAttribute namespace="http://www.w3.org/1999/xlink" processContents="strict"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="xlink" type="cr:xlinkReference" substitutionGroup="cr:abstractReference"/>
[edit]
Source
<xs:complexType name="sourceReference">
<xs:complexContent>
<xs:extension base="cr:abstractReference">
<xs:attribute name="uri" type="bt:sourceUri" use="required"/>
<xs:attribute name="accNumber" type="bt:accessionNumber" use="required"/>
<xs:attribute name="date" type="bt:sourceDate" use="optional"/>
<xs:attribute name="version" type="bt:sourceVersion" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="source" type="cr:sourceReference" substitutionGroup="cr:abstractReference"/>
[edit]
User
<xs:complexType name="userReference">
<xs:complexContent mixed="true">
<xs:extension base="cr:abstractReference">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##any" processContents="skip"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="user" type="cr:userReference" substitutionGroup="cr:abstractReference"/>
