Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <!-- Basic definitions -->
- <xs:element name="Year">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="1900"/>
- <xs:maxInclusive value="9999"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="Month">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- </xs:restriction>
- <!-- <xs:restriction base="xs:integer">
- <xs:minInclusive value="1"/>
- <xs:maxInclusive value="12"/>
- </xs:restriction> -->
- </xs:simpleType>
- </xs:element>
- <xs:element name="Day">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="1"/>
- <xs:maxInclusive value="31"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <!--Medline Citation Definitions -->
- <xs:element name="PMID">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="00000000"/>
- <xs:maxInclusive value="99999999"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="DateCreated">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="Year" />
- <xs:element ref="Month" />
- <xs:element ref="Day" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="DateCompleted">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="Year" />
- <xs:element ref="Month" />
- <xs:element ref="Day" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="DateRevised">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="Year" />
- <xs:element ref="Month" />
- <xs:element ref="Day" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Article definitions -->
- <xs:simpleType name="ISSN_ST"> <!-- this took 5 hours or so to figure out -->
- <xs:restriction base="xs:string">
- <xs:pattern value="[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="Journal">
- <xs:complexType>
- <xs:all>
- <xs:element name="ISSN">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="ISSN_ST">
- <xs:attribute name="IssnType" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="JournalIssue">
- <xs:complexType>
- <xs:all>
- <xs:element name="Volume" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="Issue" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="PubDate" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="Year" />
- <xs:element ref="Month" />
- <xs:element ref="Day" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:all>
- <xs:attribute name="CitedMedium" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="Title" type="xs:string" minOccurs="0"/>
- <xs:element name="ISOAbbreviation" type="xs:string" minOccurs="0"/>
- </xs:all>
- </xs:complexType>
- </xs:element>
- <xs:element name="ArticleTitle" type="xs:string" />
- <xs:element name="Pagination">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="MedlinePgn" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Abstract">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="AbstractText" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Affiliation" type="xs:string" />
- <!-- varying forms of ForeName validation -->
- <xs:element name="ForeName" type="xs:string"/>
- <xs:element name="FirstName" substitutionGroup="ForeName"/>
- <xs:element name="AuthorList">
- <xs:complexType>
- <xs:sequence minOccurs="1" maxOccurs="unbounded">
- <xs:element name="Author">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="LastName" type="xs:string"/>
- <xs:element ref="ForeName"/>
- <xs:element name="Initials" type="xs:string"/>
- </xs:sequence>
- <xs:attribute name="ValidYN">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Y"/>
- <xs:enumeration value="N"/>
- <!-- <xs:pattern value="[YN]"/> -->
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="CompleteYN">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Y"/>
- <xs:enumeration value="N"/>
- <!-- <xs:pattern value="[YN]"/> -->
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="Language" type="xs:string" />
- <xs:element name="PublicationTypeList">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="PublicationType" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="ArticleDate">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="Year" />
- <xs:element ref="Month" />
- <xs:element ref="Day" />
- </xs:sequence>
- <xs:attribute name="DateType" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="Article">
- <xs:complexType>
- <xs:all>
- <xs:element ref="Journal" minOccurs="0" />
- <xs:element ref="ArticleTitle" minOccurs="0" />
- <xs:element ref="Pagination" minOccurs="0" />
- <xs:element ref="Abstract" minOccurs="0" />
- <xs:element ref="Affiliation" minOccurs="0" />
- <xs:element ref="AuthorList" minOccurs="0" />
- <xs:element ref="Language" minOccurs="0" />
- <xs:element ref="PublicationTypeList" minOccurs="0" />
- <xs:element ref="ArticleDate" minOccurs="0" />
- </xs:all>
- <xs:attribute name="PubModel" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <!-- Article definitions end -->
- <xs:element name="MedlineJournalInfo">
- <xs:complexType>
- <xs:all>
- <xs:element name="Country" type="xs:string" minOccurs="0"/>
- <xs:element name="MedlineTA" type="xs:string" />
- <xs:element name="NlmUniqueID" type="xs:integer" />
- </xs:all>
- </xs:complexType>
- </xs:element>
- <xs:element name="ChemicalList">
- <xs:complexType>
- <xs:sequence minOccurs="1" maxOccurs="unbounded">
- <xs:element name="Chemical">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="RegistryNumber" type="xs:string" />
- <xs:element name="NameOfSubstance" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="CitationSubset" type="xs:string" />
- <xs:element name="MeshHeadingList">
- <xs:complexType>
- <xs:sequence minOccurs="1" maxOccurs="unbounded">
- <xs:element name="MeshHeading">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="DescriptorName" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="MajorTopicYN">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Y"/>
- <xs:enumeration value="N"/>
- <!-- <xs:pattern value="[YN]"/> -->
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="QualifierName" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="MajorTopicYN">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="Y"/>
- <xs:enumeration value="N"/>
- <!-- <xs:pattern value="[YN]"/> -->
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!--Pubmed Data Definitions -->
- <xs:element name="History">
- <xs:complexType>
- <xs:sequence minOccurs="1" maxOccurs="unbounded">
- <xs:element name="PubMedPubDate">
- <xs:complexType>
- <xs:all>
- <xs:element ref="Year" />
- <xs:element ref="Month" minOccurs="0"/>
- <xs:element ref="Day" minOccurs="0"/>
- <xs:element name="Hour" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="1"/>
- <xs:maxInclusive value="24"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="Minute" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="0"/>
- <xs:maxInclusive value="60"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- </xs:all>
- <xs:attribute name="PubStatus">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="received"/>
- <xs:enumeration value="accepted"/>
- <xs:enumeration value="pubmed"/>
- <xs:enumeration value="medline"/>
- <xs:enumeration value="aheadofprint"/>
- <!-- <xs:pattern value="/^(?:received|accepted|pubmed|medline|aheadofprint)$/i"/> -->
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="PublicationStatus" type="xs:string" />
- <xs:element name="ArticleIdList">
- <xs:complexType>
- <xs:sequence minOccurs="1" maxOccurs="unbounded">
- <xs:element name="ArticleId">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="IdType">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="pii"/>
- <xs:enumeration value="doi"/>
- <xs:enumeration value="pubmed"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <!-- Pubmed Article Template -->
- <xs:element name="PubmedArticle">
- <xs:complexType>
- <xs:sequence>
- <!--Medline Citation Template -->
- <xs:element name="MedlineCitation">
- <xs:complexType>
- <xs:all>
- <xs:element ref="PMID" minOccurs="0" />
- <xs:element ref="DateCreated" minOccurs="0"/>
- <xs:element ref="DateCompleted" minOccurs="0"/>
- <xs:element ref="DateRevised" minOccurs="0"/>
- <xs:element ref="Article" minOccurs="0"/>
- <xs:element ref="MedlineJournalInfo" minOccurs="0" />
- <xs:element ref="ChemicalList" minOccurs="0" />
- <xs:element ref="CitationSubset" minOccurs="0"/>
- <xs:element ref="MeshHeadingList" minOccurs="0"/>
- </xs:all>
- <xs:attribute name="Owner" type="xs:string" fixed="NLM"/>
- <xs:attribute name="Status" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <!--Pubmed Data Template -->
- <xs:element name="PubmedData">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="History" />
- <xs:element ref="PublicationStatus" />
- <xs:element ref="ArticleIdList" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:schema>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement