-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added module for generating jaxb-annotated classes (#627)
* added module for generating jaxb-annotated classes based on xsd schema files * skip check task all together for code generating module
- Loading branch information
Showing
8 changed files
with
1,173 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
plugins { | ||
id("com.github.bjornvester.xjc") version "1.8.2" | ||
} | ||
|
||
xjc { | ||
defaultPackage.set('org.openarchives.oai.v2.generated') | ||
} | ||
|
||
// effectively skip all tests and verifications for this module | ||
tasks.named("check").configure { | ||
dependsOn = [] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,317 @@ | ||
<schema targetNamespace="http://www.openarchives.org/OAI/2.0/" | ||
xmlns="http://www.w3.org/2001/XMLSchema" | ||
xmlns:oai="http://www.openarchives.org/OAI/2.0/" | ||
elementFormDefault="qualified" | ||
attributeFormDefault="unqualified"> | ||
|
||
<annotation> | ||
<documentation> | ||
XML Schema which can be used to validate replies to all OAI-PMH | ||
v2.0 requests. Herbert Van de Sompel, 2002-05-13. | ||
Validated with XML Spy v.4.3 on 2002-05-13. | ||
Validated with XSV 1.203.2.45/1.106.2.22 on 2002-05-13. | ||
Added definition of protocolVersionType instead of using anonymous | ||
type. No change of function. Simeon Warner, 2004-03-29. | ||
Tightened definition of UTCdatetimeType to enforce the restriction | ||
to UTC Z notation. Simeon Warner, 2004-09-14. | ||
Corrected pattern matches for setSpecType and metadataPrefixType | ||
to agree with protocol specification. Simeon Warner, 2004-10-12. | ||
Spelling correction. Simeon Warner, 2008-12-07. | ||
$Date: 2004/10/12 15:20:29 $ | ||
</documentation> | ||
</annotation> | ||
|
||
<element name="OAI-PMH" type="oai:OAI-PMHtype"/> | ||
|
||
<complexType name="OAI-PMHtype"> | ||
<sequence> | ||
<element name="responseDate" type="dateTime"/> | ||
<element name="request" type="oai:requestType"/> | ||
<choice> | ||
<element name="error" type="oai:OAI-PMHerrorType" maxOccurs="unbounded"/> | ||
<element name="Identify" type="oai:IdentifyType"/> | ||
<element name="ListMetadataFormats" type="oai:ListMetadataFormatsType"/> | ||
<element name="ListSets" type="oai:ListSetsType"/> | ||
<element name="GetRecord" type="oai:GetRecordType"/> | ||
<element name="ListIdentifiers" type="oai:ListIdentifiersType"/> | ||
<element name="ListRecords" type="oai:ListRecordsType"/> | ||
</choice> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="requestType"> | ||
<annotation> | ||
<documentation>Define requestType, indicating the protocol request that | ||
led to the response. Element content is BASE-URL, attributes are arguments | ||
of protocol request, attribute-values are values of arguments of protocol | ||
request</documentation> | ||
</annotation> | ||
<simpleContent> | ||
<extension base="anyURI"> | ||
<attribute name="verb" type="oai:verbType" use="optional"/> | ||
<attribute name="identifier" type="oai:identifierType" use="optional"/> | ||
<attribute name="metadataPrefix" type="oai:metadataPrefixType" use="optional"/> | ||
<attribute name="from" type="oai:UTCdatetimeType" use="optional"/> | ||
<attribute name="until" type="oai:UTCdatetimeType" use="optional"/> | ||
<attribute name="set" type="oai:setSpecType" use="optional"/> | ||
<attribute name="resumptionToken" type="string" use="optional"/> | ||
</extension> | ||
</simpleContent> | ||
</complexType> | ||
|
||
<simpleType name="verbType"> | ||
<restriction base="string"> | ||
<enumeration value="Identify"/> | ||
<enumeration value="ListMetadataFormats"/> | ||
<enumeration value="ListSets"/> | ||
<enumeration value="GetRecord"/> | ||
<enumeration value="ListIdentifiers"/> | ||
<enumeration value="ListRecords"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<!-- define OAI-PMH error conditions --> | ||
<!-- =============================== --> | ||
|
||
<complexType name="OAI-PMHerrorType"> | ||
<simpleContent> | ||
<extension base="string"> | ||
<attribute name="code" type="oai:OAI-PMHerrorcodeType" use="required"/> | ||
</extension> | ||
</simpleContent> | ||
</complexType> | ||
|
||
<simpleType name="OAI-PMHerrorcodeType"> | ||
<restriction base="string"> | ||
<enumeration value="cannotDisseminateFormat"/> | ||
<enumeration value="idDoesNotExist"/> | ||
<enumeration value="badArgument"/> | ||
<enumeration value="badVerb"/> | ||
<enumeration value="noMetadataFormats"/> | ||
<enumeration value="noRecordsMatch"/> | ||
<enumeration value="badResumptionToken"/> | ||
<enumeration value="noSetHierarchy"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<!-- define OAI-PMH verb containers --> | ||
<!-- ============================== --> | ||
|
||
<complexType name="IdentifyType"> | ||
<sequence> | ||
<element name="repositoryName" type="string"/> | ||
<element name="baseURL" type="anyURI"/> | ||
<element name="protocolVersion" type="oai:protocolVersionType"/> | ||
<element name="adminEmail" type="oai:emailType" maxOccurs="unbounded"/> | ||
<element name="earliestDatestamp" type="oai:UTCdatetimeType"/> | ||
<element name="deletedRecord" type="oai:deletedRecordType"/> | ||
<element name="granularity" type="oai:granularityType"/> | ||
<element name="compression" type="string" minOccurs="0" maxOccurs="unbounded"/> | ||
<element name="description" type="oai:descriptionType" | ||
minOccurs="0" maxOccurs="unbounded"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="ListMetadataFormatsType"> | ||
<sequence> | ||
<element name="metadataFormat" type="oai:metadataFormatType" maxOccurs="unbounded"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="ListSetsType"> | ||
<sequence> | ||
<element name="set" type="oai:setType" maxOccurs="unbounded"/> | ||
<element name="resumptionToken" type="oai:resumptionTokenType" minOccurs="0"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="GetRecordType"> | ||
<sequence> | ||
<element name="record" type="oai:recordType"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="ListRecordsType"> | ||
<sequence> | ||
<element name="record" type="oai:recordType" maxOccurs="unbounded"/> | ||
<element name="resumptionToken" type="oai:resumptionTokenType" minOccurs="0"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="ListIdentifiersType"> | ||
<sequence> | ||
<element name="header" type="oai:headerType" maxOccurs="unbounded"/> | ||
<element name="resumptionToken" type="oai:resumptionTokenType" minOccurs="0"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<!-- define basic types used in replies to | ||
GetRecord, ListRecords, ListIdentifiers --> | ||
<!-- ======================================= --> | ||
|
||
<complexType name="recordType"> | ||
<annotation> | ||
<documentation>A record has a header, a metadata part, and | ||
an optional about container</documentation> | ||
</annotation> | ||
<sequence> | ||
<element name="header" type="oai:headerType"/> | ||
<element name="metadata" type="oai:metadataType" minOccurs="0"/> | ||
<element name="about" type="oai:aboutType" minOccurs="0" maxOccurs="unbounded"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="headerType"> | ||
<annotation> | ||
<documentation>A header has a unique identifier, a datestamp, | ||
and setSpec(s) in case the item from which | ||
the record is disseminated belongs to set(s). | ||
the header can carry a deleted status indicating | ||
that the record is deleted.</documentation> | ||
</annotation> | ||
<sequence> | ||
<element name="identifier" type="oai:identifierType"/> | ||
<element name="datestamp" type="oai:UTCdatetimeType"/> | ||
<element name="setSpec" type="oai:setSpecType" minOccurs="0" maxOccurs="unbounded"/> | ||
</sequence> | ||
<attribute name="status" type="oai:statusType" use="optional"/> | ||
</complexType> | ||
|
||
<simpleType name="identifierType"> | ||
<restriction base="anyURI"/> | ||
</simpleType> | ||
|
||
<simpleType name="statusType"> | ||
<restriction base="string"> | ||
<enumeration value="deleted"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<complexType name="metadataType"> | ||
<annotation> | ||
<documentation>Metadata must be expressed in XML that complies | ||
with another XML Schema (namespace=#other). Metadata must be | ||
explicitly qualified in the response.</documentation> | ||
</annotation> | ||
<sequence> | ||
<any namespace="##other" processContents="strict"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="aboutType"> | ||
<annotation> | ||
<documentation>Data "about" the record must be expressed in XML | ||
that is compliant with an XML Schema defined by a community.</documentation> | ||
</annotation> | ||
<sequence> | ||
<any namespace="##other" processContents="strict"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<complexType name="resumptionTokenType"> | ||
<annotation> | ||
<documentation>A resumptionToken may have 3 optional attributes | ||
and can be used in ListSets, ListIdentifiers, ListRecords | ||
responses.</documentation> | ||
</annotation> | ||
<simpleContent> | ||
<extension base="string"> | ||
<attribute name="expirationDate" type="dateTime" use="optional"/> | ||
<attribute name="completeListSize" type="positiveInteger" use="optional"/> | ||
<attribute name="cursor" type="nonNegativeInteger" use="optional"/> | ||
</extension> | ||
</simpleContent> | ||
</complexType> | ||
|
||
<complexType name="descriptionType"> | ||
<annotation> | ||
<documentation>The descriptionType is used for the description | ||
element in Identify and for setDescription element in ListSets. | ||
Content must be compliant with an XML Schema defined by a | ||
community.</documentation> | ||
</annotation> | ||
<sequence> | ||
<any namespace="##other" processContents="strict"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<simpleType name="UTCdatetimeType"> | ||
<annotation> | ||
<documentation>Datestamps are to either day (type date) | ||
or to seconds granularity (type oai:UTCdateTimeZType)</documentation> | ||
</annotation> | ||
<union memberTypes="date oai:UTCdateTimeZType"/> | ||
</simpleType> | ||
|
||
<simpleType name="UTCdateTimeZType"> | ||
<restriction base="dateTime"> | ||
<pattern value=".*Z"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<!-- define types used for Identify verb only --> | ||
<!-- ======================================== --> | ||
|
||
<simpleType name="protocolVersionType"> | ||
<restriction base="string"> | ||
<enumeration value="2.0"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<simpleType name="emailType"> | ||
<restriction base="string"> | ||
<pattern value="\S+@(\S+\.)+\S+"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<simpleType name="deletedRecordType"> | ||
<restriction base="string"> | ||
<enumeration value="no"/> | ||
<enumeration value="persistent"/> | ||
<enumeration value="transient"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<simpleType name="granularityType"> | ||
<restriction base="string"> | ||
<enumeration value="YYYY-MM-DD"/> | ||
<enumeration value="YYYY-MM-DDThh:mm:ssZ"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<!-- define types used for ListMetadataFormats verb only --> | ||
<!-- =================================================== --> | ||
|
||
<complexType name="metadataFormatType"> | ||
<sequence> | ||
<element name="metadataPrefix" type="oai:metadataPrefixType"/> | ||
<element name="schema" type="anyURI"/> | ||
<element name="metadataNamespace" type="anyURI"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<simpleType name="metadataPrefixType"> | ||
<restriction base="string"> | ||
<pattern value="[A-Za-z0-9\-_\.!~\*'\(\)]+"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
<!-- define types used for ListSets verb --> | ||
<!-- =================================== --> | ||
|
||
<complexType name="setType"> | ||
<sequence> | ||
<element name="setSpec" type="oai:setSpecType"/> | ||
<element name="setName" type="string"/> | ||
<element name="setDescription" type="oai:descriptionType" | ||
minOccurs="0" maxOccurs="unbounded"/> | ||
</sequence> | ||
</complexType> | ||
|
||
<simpleType name="setSpecType"> | ||
<restriction base="string"> | ||
<pattern value="([A-Za-z0-9\-_\.!~\*'\(\)])+(:[A-Za-z0-9\-_\.!~\*'\(\)]+)*"/> | ||
</restriction> | ||
</simpleType> | ||
|
||
</schema> |
Oops, something went wrong.