/* This schema specifies the format for citations, which come under the "reference" quintessence element. Two top-level citation tags are defined. The first is a BrainML-specific format, defining tags for journal articles, book chapters, and books. The second allows the use of external citation schemas such as bibtex-ml. It acts as a container for tags from these external schemas, but allows some standard tags from the BrainML format as well. */ targetNamespace "urn:bml/brainml.org:internal/BrainMetaL/1" namespace "urn:bml/brainml.org:internal/BrainMetaL/1" namespace xlink "http://www.w3.org/1999/xlink" /* Note: canonical location of the 'xml' schema is "http://www.w3.org/2001/xml.xsd", however sometimes this server is down or slow, so we use a local copy. */ import "http://brainml.org/schemas/internal/BrainMetaL/1/xml.xsd" namespace "http://www.w3.org/XML/1998/namespace" import "http://brainml.org/schemas/internal/BrainMetaL/1/xlink.xsd" namespace "http://www.w3.org/1999/xlink" include "http://brainml.org/schemas/internal/BrainMetaL/1/brainmetal.xsd" /* An entity element based on bibtexml 'person'. You can use this directly, or use the type person-type, or extend from it. */ element person { person-type } complexType person-type extends entity_element-type { ( ( /* Initials of name (use instead of first/middle). */ initials { xs:normalizedString } | ( /* First given name. */ first { xs:normalizedString }, /* Second and subsequent given names. */ middle { xs:normalizedString }? ) ), /* Prefix such as "van" or "von der". */ prelast { xs:normalizedString }?, /* Surname. */ last { xs:normalizedString }, /* Suffixes such as "Jr.", "III". */ lineage { xs:normalizedString }?, /* Email address. */ email { xs:normalizedString }?, /* Phone number, including international dialing codes. */ phone { xs:normalizedString }?, /* Institution or company where researcher works. */ institution { xs:normalizedString }?, /* Home page of researcher, lab, or institution. */ homepage { xs:normalizedString }? ) } /* Same as person-content but make contact info mandatory. You can use this directly, or use the type person-type, or extend from it. */ element person_full { person-type-full } complexType person-type-full restricts person-type { ( link*, ( /* Initials of name (use instead of first/middle). */ initials { xs:normalizedString } | ( /* First given name. */ first { xs:normalizedString }, /* Second and subsequent given names. */ middle { xs:normalizedString }? ) ), /* Prefix such as "van" or "von der". */ prelast { xs:normalizedString }?, /* Surname. */ last { xs:normalizedString }, /* Suffixes such as "Jr.", "III". */ lineage { xs:normalizedString }?, /* Email address. */ email { xs:normalizedString }, /* Phone number, including international dialing codes. */ phone { xs:normalizedString }, /* Institution or company where researcher works. */ institution { xs:normalizedString }, /* Home page of researcher, lab, or institution. */ homepage { xs:normalizedString }? ) } /* An author of a publication. */ element author { person-type } /* Link that must go to an author entity. */ element link_author restricts link-type { required attribute dest { xs:anyURI } = "urn:bml/brainml.org:internal/BrainMetaL/1,author" } /* An editor of a publication. */ element editor { person-type } /* Link that must go to an editor entity. */ element link_editor restricts link-type { required attribute dest { xs:anyURI } = "urn:bml/brainml.org:internal/BrainMetaL/1,editor" } attributeGroup type-attribute { /* Declares the type of material being cited. Valid values are "article", "chapter", or "book". */ required attribute type { xs:token { "article", "chapter", "book" } } } complexType citation-type extends reference_element-type { ( ( author | link_author | editor | link_editor )*, /* Title of work being cited (article, chapter, or book). */ title { xs:normalizedString }, /* Year of publication. */ year { xs:gYear }, ( ( /* Journal (abbreviation preferred) an article is published in. */ journal { xs:normalizedString }, /* Volume of journal an article is published in. */ volume { xs:normalizedString }, /* PubMed numerical ID (PMID) of an article. */ pubmedID { xs:integer }? ) | /* Title for book or proceedings volume an article is in. */ collection_title { xs:normalizedString }? ), /* Page range of an article or chapter. */ pages { xs:normalizedString }?, /* Publisher (not required for journals). */ publisher { xs:normalizedString }? ) attributeGroup type-attribute } /* Represents a literature citation. Currently journal articles, book chapters and conference papers (BibTeX 'incollection'), and books are supported. Author, title, and year are required for all types, and pages is required for all but books. Journal articles additionally require journal (abbreviation is preferred), volume (volume only, no issue number). In-collection types require collection_title. */ element citation { citation-type } complexType citation_external-type extends reference_element-type { ( @anyExtEl*, ) attributeGroup type-attribute } /* If you wish to use an alternative XML syntax for expressing a bibliographic reference (e.g., Open URL, or BibTeXML), use this element as the container so that BrainML processors will recognize it as such. */ element citation_external { citation_external-type } /* Usable as a top-level element in a stand-alone document containing only citations. */ element citations { ( citation | citation_external )* }