| Last revisionBoth sides next revision |
public:lta_sip [2011-11-07 08:37] – created Adriaan Renting | public:lta_sip [2016-05-18 13:27] – Jorrit Schaap |
---|
<code xml> | [[https://svn.astron.nl/viewvc/LOFAR/trunk/LTA/LTAIngest/doc/LTA-SIP.xsd?view=co|LTA SIP schema]] |
<?xml version="1.0" encoding="UTF-8"?> | |
<!-- The basic layout of a SIP is to have the Project that owns the data described, the DataProduct | |
that is being ingested, and the process (Measurement or PipelineRun) that generated it. | |
If the generating process is a PipelineRun, then it will usually have input DataProducts. These | |
will recursively be described in the relatedDataProduct entries, with the processes that generated | |
them. These relatedDataProducts do not need to have been ingested into the archive themselves. It is | |
sufficient that there are described, with their related Obsrvation/ipelines in this document to | |
be able to recreate the full provenance of the DataProduct. | |
--> | |
<xs:schema targetNamespace="http://www.astron.nl/SIP-Lofar" version="2.1.0" xmlns="http://www.astron.nl/SIP-Lofar" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<xs:annotation> | |
<xs:documentation>XML Schema for data model Submission Information Package LOFAR Long Term Archive | |
</xs:documentation> | |
</xs:annotation><!-- ============================Generic Types============================ --> | |
<xs:simpleType name="FrequencyUnit"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Hz"/> | |
<xs:enumeration value="kHz"/> | |
<xs:enumeration value="MHz"/> | |
<xs:enumeration value="GHz"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="Frequency"> | |
<xs:simpleContent> | |
<xs:extension base="xs:double"> | |
<xs:attribute name="units" type="FrequencyUnit" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="IdentifierType"> | |
<xs:sequence> | |
<xs:element name="source" type="xs:string"/> | |
<xs:element name="identifier" type="xs:string"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="EquinoxType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="B1950"/> | |
<xs:enumeration value="J2000"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="Pointing"> | |
<xs:sequence> | |
<xs:choice> | |
<xs:sequence> | |
<xs:element name="rightAscension" type="xs:double"/> | |
<xs:element name="declination" type="xs:double"/> | |
</xs:sequence> | |
<xs:sequence> | |
<xs:element name="altitude" type="xs:double"/> | |
<xs:element name="azimuth" type="xs:double"/> | |
</xs:sequence> | |
</xs:choice> | |
<xs:element name="equinox" type="EquinoxType"/> | |
</xs:sequence> | |
</xs:complexType><!-- ============================Stations============================ --> | |
<xs:complexType name="Coordinates"> | |
<xs:sequence> | |
<xs:element name="coordinateSystem"> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="WGS84"/> | |
<xs:enumeration value="ITRF2000"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
<xs:choice> | |
<xs:sequence> | |
<xs:element name="x" type="xs:double"/> | |
<xs:element name="y" type="xs:double"/> | |
<xs:element name="z" type="xs:double"/> | |
</xs:sequence> | |
<xs:sequence> | |
<xs:element name="radius" type="xs:double"/> | |
<xs:element name="longitude" type="xs:double"/> | |
<xs:element name="latitude" type="xs:double"/> | |
</xs:sequence> | |
</xs:choice> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="AntennaFieldType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="HBA0"/> | |
<xs:enumeration value="HBA1"/> | |
<xs:enumeration value="HBA"/> | |
<xs:enumeration value="LBA"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="StationTypeType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Core"/> | |
<xs:enumeration value="Remote"/> | |
<xs:enumeration value="International"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="AntennaField"> | |
<xs:sequence> | |
<xs:element name="name" type="AntennaFieldType"/> | |
<xs:element name="location" type="Coordinates"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Stations"> | |
<xs:sequence> | |
<xs:element maxOccurs="unbounded" name="station" type="Station"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Station"> | |
<xs:sequence> | |
<xs:element name="name" type="xs:string"/> | |
<xs:element name="stationType" type="StationTypeType"/> | |
<xs:element minOccurs="1" maxOccurs="2" name="antennaField" type="AntennaField"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Process"><!-- ============================Observation============================ --> | |
<xs:sequence> | |
<xs:element name="processIdentifier" type="IdentifierType"/> | |
<xs:element minOccurs="0" name="observationId" type="IdentifierType"/> | |
<xs:element minOccurs="0" name="parset" type="IdentifierType"/> | |
<xs:element name="strategy" type="xs:string"/> | |
<xs:element name="startTime" type="xs:dateTime"/> | |
<xs:element name="duration" type="xs:duration"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="FilterSelectionType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="10-70 MHz"/> | |
<xs:enumeration value="10-90 MHz"/> | |
<xs:enumeration value="30-70 MHz"/> | |
<xs:enumeration value="30-90 MHz"/> | |
<xs:enumeration value="110-190 MHz"/> | |
<xs:enumeration value="170-230 MHz"/> | |
<xs:enumeration value="210-250 MHz"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="ClockType"> | |
<xs:simpleContent> | |
<xs:restriction base="Frequency"> | |
<xs:enumeration value="160"/> | |
<xs:enumeration value="200"/> | |
<xs:attribute fixed="MHz" name="units" type="FrequencyUnit" use="required"/> | |
</xs:restriction> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:simpleType name="AntennaSetType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="HBA Zero"/> | |
<xs:enumeration value="HBA One"/> | |
<xs:enumeration value="HBA Dual"/> | |
<xs:enumeration value="HBA Joined"/> | |
<xs:enumeration value="LBA Outer"/> | |
<xs:enumeration value="LBA Inner"/> | |
<xs:enumeration value="LBA Sparse Even"/> | |
<xs:enumeration value="LBA Sparse Odd"/> | |
<xs:enumeration value="LBA X"/> | |
<xs:enumeration value="LBA Y"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="StationSelectionType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Single"/> | |
<xs:enumeration value="Core"/> | |
<xs:enumeration value="Dutch"/> | |
<xs:enumeration value="All"/> | |
<xs:enumeration value="Custom"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="Beam"> | |
<xs:sequence> | |
<xs:element name="pointing" type="Pointing"/> | |
<xs:element name="beamNumber" type="xs:unsignedShort"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="ObservationModeType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Interferometer"/> | |
<xs:enumeration value="Beam Observation"/> | |
<xs:enumeration value="Transient Buffer Board (standalone)"/> | |
<xs:enumeration value="Transient Buffer Board (piggyback)"/> | |
<xs:enumeration value="Direct Data Storage"/> | |
<xs:enumeration value="Non Standard"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="Observation"> | |
<xs:complexContent> | |
<xs:extension base="Process"> | |
<xs:sequence> | |
<xs:element name="observationMode" type="ObservationModeType"/> | |
<xs:element minOccurs="0" name="observationDescription" type="xs:string"/> | |
<xs:element name="instrumentFilter" type="FilterSelectionType"/> | |
<xs:element name="clock" type="ClockType"/> | |
<xs:element name="stationSelection" type="StationSelectionType"/> | |
<xs:element name="antennaSet" type="AntennaSetType"/> | |
<xs:element name="timeSystem"> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="UTC"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:element> | |
<xs:element name="centralFrequency" type="Frequency"/><!-- Does this make sense for an Observation? --> | |
<xs:element name="channelWidth" type="Frequency"/> | |
<xs:element name="channelsPerSubband" type="xs:unsignedShort"/> | |
<xs:element name="numberOfStations" type="xs:unsignedByte"/> | |
<xs:element name="stations" type="Stations"/> | |
<xs:element name="numberOfSubArrayPointings" type="xs:unsignedShort"/> | |
<xs:element minOccurs="0" name="subArrayPointings" type="SubArrayPointings"/> | |
<xs:element name="numberOftransientBufferBoardEvents" type="xs:unsignedShort"/> <!-- is unsignedShort enough? --> | |
<xs:element minOccurs="0" name="transientBufferBoardEvents" type="TransientBufferBoardEvents"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="DirectDataMeasurement"> | |
<xs:complexContent> | |
<xs:extension base="Process"> | |
<xs:sequence> | |
<xs:element name="ObservationMode" type="ObservationModeType"/> | |
<xs:element name="station" type="Station"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="GenericMeasurement"> | |
<xs:complexContent> | |
<xs:extension base="Process"> | |
<xs:sequence> | |
<xs:element name="ObservationMode" type="ObservationModeType"/> | |
<xs:element name="description" type="xs:string"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:simpleType name="ProcessingType"><!-- ============================Online Processing============================ --> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Correlator"/> | |
<xs:enumeration value="Coherent Stokes"/> | |
<xs:enumeration value="Incoherent Stokes"/> | |
<xs:enumeration value="Fly's Eye"/> | |
<xs:enumeration value="Raw Voltages"/> | |
<xs:enumeration value="Non Standard"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="MeasurementType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Test"/> | |
<xs:enumeration value="Tune Up"/> | |
<xs:enumeration value="Calibration"/> | |
<xs:enumeration value="Target"/> | |
<xs:enumeration value="All Sky"/> | |
<xs:enumeration value="Miscellaneous"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="Processing"> | |
<xs:sequence> | |
<xs:element minOccurs="0" name="correlator" type="Correlator"/> | |
<xs:element minOccurs="0" name="coherentStokes" type="CoherentStokes"/> | |
<xs:element minOccurs="0" name="incoherentStokes" type="IncoherentStokes"/> | |
<xs:element minOccurs="0" name="flysEye" type="FlysEye"/> | |
<xs:element minOccurs="0" name="rawVoltages" type="RawVoltages"/> | |
<xs:element minOccurs="0" name="nonStandard" type="NonStandard"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="RealTimeProcess"> | |
<xs:sequence> | |
<xs:element name="processingType" type="ProcessingType"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Correlator"> | |
<xs:complexContent> | |
<xs:extension base="RealTimeProcess"> | |
<xs:sequence> | |
<xs:element name="integrationInterval" type="xs:double"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="CoherentStokes"> | |
<xs:complexContent> | |
<xs:extension base="RealTimeProcess"> | |
<xs:sequence> | |
<xs:element name="samplingRate" type="Frequency"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="IncoherentStokes"> | |
<xs:complexContent> | |
<xs:extension base="RealTimeProcess"> | |
<xs:sequence> | |
<xs:element name="samplingRate" type="Frequency"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="FlysEye"> | |
<xs:complexContent> | |
<xs:extension base="RealTimeProcess"> | |
<xs:sequence> | |
<xs:element name="samplingRate" type="Frequency"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="RawVoltages"> | |
<xs:complexContent> | |
<xs:extension base="RealTimeProcess"> | |
<xs:sequence> | |
<xs:element name="samplingRate" type="Frequency"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="NonStandard"> | |
<xs:complexContent> | |
<xs:extension base="RealTimeProcess"> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="TransientBufferBoardEvents"> | |
<xs:sequence> | |
<xs:element maxOccurs="unbounded" name="transientBufferBoardEvent" type="TransientBufferBoardEvent"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="TransientBufferBoardEvent"> | |
<xs:sequence> | |
<xs:element name="eventSource" type="xs:string"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="TiedArrayBeams"> | |
<xs:sequence> | |
<xs:element maxOccurs="unbounded" name="tiedArrayBeam" type="TiedArrayBeam"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="TiedArrayBeam"> | |
<xs:complexContent> | |
<xs:extension base="Beam"> | |
<xs:sequence> | |
<xs:element name="DispersionMeasure" type="xs:double"/> | |
<xs:element name="stokes" type="PolarizationType" maxOccurs="4"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="SubArrayPointings"> | |
<xs:sequence> | |
<xs:element maxOccurs="unbounded" name="subArrayPointing" type="SubArrayPointing"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="SubArrayPointing"> | |
<xs:complexContent> | |
<xs:extension base="Beam"> | |
<xs:sequence> | |
<xs:element minOccurs="0" name="measurementDescription" type="xs:string"/> | |
<xs:element name="measurementIdentifier" type="IdentifierType"/> | |
<xs:element name="measurementType" type="MeasurementType"/> | |
<xs:element name="targetName" type="xs:string"/> | |
<xs:element name="startTime" type="xs:dateTime"/> | |
<xs:element name="duration" type="xs:duration"/><!--See XML duration for format--> | |
<xs:element name="numberOfProcessing" type="xs:unsignedShort"/> | |
<xs:element minOccurs="0" name="processing" type="Processing"/> | |
<xs:element name="numberOfBeams" type="xs:unsignedShort"/> | |
<xs:element minOccurs="0" name="beams" type="TiedArrayBeams"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="DataSources"><!-- ============================Pipeline============================ --> | |
<xs:sequence> | |
<xs:element name="dataProductIdentifier" type="IdentifierType" maxOccurs="unbounded"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="PipelineRun"> | |
<xs:complexContent> | |
<xs:extension base="Process"> | |
<xs:sequence> | |
<xs:element name="pipelineName" type="xs:string"/> | |
<xs:element name="pipelineVersion" type="xs:string"/> | |
<xs:element name="sourceData" type="DataSources"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="ImagingPipeline"><!--Not yet well defined--> | |
<xs:complexContent> | |
<xs:extension base="PipelineRun"> | |
<xs:sequence> | |
<xs:element minOccurs="0" name="frequencyIntegrationStep" type="xs:unsignedShort"/> | |
<xs:element minOccurs="0" name="timeIntegrationStep" type="xs:unsignedShort"/> | |
<xs:element minOccurs="0" name="skyModelDatabase" type="xs:string"/> | |
<xs:element minOccurs="0" name="demixing" type="xs:boolean"/> | |
<xs:element name="imagerIntegrationTime" type="xs:double"/> | |
<xs:element name="numberOfMajorCycles" type="xs:unsignedShort"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="CalibrationPipeline"> | |
<xs:complexContent> | |
<xs:extension base="PipelineRun"> | |
<xs:sequence> | |
<xs:element minOccurs="0" name="frequencyIntegrationStep" type="xs:unsignedShort"/> | |
<xs:element minOccurs="0" name="timeIntegrationStep" type="xs:unsignedShort"/> | |
<xs:element minOccurs="0" name="flagAutoCorrelations" type="xs:boolean"/> | |
<xs:element minOccurs="0" name="demixing" type="xs:boolean"/> | |
<xs:element name="skyModelDatabase" type="xs:string"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="AveragingPipeline"> | |
<xs:complexContent> | |
<xs:extension base="PipelineRun"> | |
<xs:sequence> | |
<xs:element name="frequencyIntegrationStep" type="xs:unsignedShort"/> | |
<xs:element name="timeIntegrationStep" type="xs:unsignedShort"/> | |
<xs:element name="flagAutoCorrelations" type="xs:boolean"/> | |
<xs:element name="demixing" type="xs:boolean"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="KnownPulsarPipeline"> | |
<xs:complexContent> | |
<xs:extension base="PipelineRun"> | |
<xs:sequence> | |
<xs:element maxOccurs="unbounded" name="processedPulsar" type="xs:string"/> | |
<xs:element name="knownPulsarStrategy" type="xs:string"/><!-- Or is the Process:strategy enough?--> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="PulsarSearchPipeline"> | |
<xs:complexContent> | |
<xs:extension base="PipelineRun"> | |
<xs:sequence> | |
<xs:element maxOccurs="unbounded" name="processedPulsar" type="xs:string"/> | |
<xs:element name="pulsarSearchStrategy" type="xs:string"/><!-- Or is the Process:strategy enough?--> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="CosmicRayPipeline"> | |
<xs:complexContent> | |
<xs:extension base="PipelineRun"/> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="GenericPipeline"> | |
<xs:complexContent> | |
<xs:extension base="PipelineRun"/> | |
</xs:complexContent> | |
</xs:complexType><!-- ============================DataProduct============================ --> | |
<xs:simpleType name="DataProductType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="Correlator data"/> | |
<xs:enumeration value="Beam Formed data"/> | |
<xs:enumeration value="Transient Buffer Board data"/> | |
<xs:enumeration value="Sky Image"/> | |
<xs:enumeration value="Pixel Map"/> | |
<xs:enumeration value="Direct Data Storage data"/> | |
<xs:enumeration value="Dynamic Spectra data"/> | |
<xs:enumeration value="Instrument Model"/> | |
<xs:enumeration value="Sky Model"/> | |
<xs:enumeration value="Non Standard"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="ChecksumAlgorithm"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="MD5"/> | |
<xs:enumeration value="Adler32"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="ChecksumType"> | |
<xs:sequence> | |
<xs:element name="algorithm" type="ChecksumAlgorithm"/> | |
<xs:element name="value" type="xs:string"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="FileFormatType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="FITS"/> | |
<xs:enumeration value="AIPS++/CASA"/> | |
<xs:enumeration value="HDF5"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="TBBTrigger"><!--This very well defined yet! type probably needs to be an enumeration--> | |
<xs:sequence> | |
<xs:element name="type" type="xs:string"/> | |
<xs:element name="value" type="xs:string"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="PolarizationType"><!--From AIPS++/CASA: None=0,I=1,Q=2,U=3,V=4,RR=5,RL=6,LR=7,LL=8,XX=9,XY=10,YX=11,YY=12--> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="None"/> | |
<xs:enumeration value="I"/> | |
<xs:enumeration value="Q"/> | |
<xs:enumeration value="U"/> | |
<xs:enumeration value="V"/> | |
<xs:enumeration value="RR"/> | |
<xs:enumeration value="RL"/> | |
<xs:enumeration value="LR"/> | |
<xs:enumeration value="LL"/> | |
<xs:enumeration value="XX"/> | |
<xs:enumeration value="XY"/> | |
<xs:enumeration value="YX"/> | |
<xs:enumeration value="YY"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="DataProduct"> | |
<xs:sequence> | |
<xs:element name="dataProductType" type="DataProductType"/> | |
<xs:element name="dataProductIdentifier" type="IdentifierType"/> | |
<xs:element minOccurs="0" name="storageTicket" type="xs:string"/> | |
<xs:element name="size" type="xs:unsignedLong"/><!--Bytes--> | |
<xs:element maxOccurs="unbounded" minOccurs="0" name="checksum" type="ChecksumType"/> | |
<xs:element name="fileName" type="xs:string"/> | |
<xs:element name="fileFormat" type="FileFormatType"/> | |
<xs:element name="processIdentifier" type="IdentifierType"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="CorrelatedDataProduct"> | |
<xs:complexContent> | |
<xs:extension base="DataProduct"> | |
<xs:sequence> | |
<xs:element minOccurs="0" name="subArrayPointingIdentifier" type="IdentifierType"/> | |
<xs:element name="subband" type="xs:unsignedShort"/> | |
<xs:element minOccurs="0" name="stationSubband" type="xs:unsignedShort"/> | |
<xs:element name="startTime" type="xs:dateTime"/> | |
<xs:element name="duration" type="xs:duration"/><!--See XML duration for format--> | |
<xs:element name="integrationInterval" type="xs:double"/> | |
<xs:element name="centralFrequency" type="Frequency"/> | |
<xs:element name="channelWidth" type="Frequency"/> | |
<xs:element name="channelsPerSubband" type="xs:unsignedShort"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="InstrumentModelDataProduct"><!--ParmDB, not yet defined--> | |
<xs:complexContent> | |
<xs:extension base="DataProduct"/> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="SkyModelDataProduct"><!--ParmDB, not yet defined--> | |
<xs:complexContent> | |
<xs:extension base="DataProduct"/> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="TransientBufferBoardDataProduct"> | |
<xs:complexContent> | |
<xs:extension base="DataProduct"> | |
<xs:sequence> | |
<xs:element name="numberOfSamples" type="xs:unsignedInt"/> | |
<xs:element name="timeStamp" type="xs:unsignedInt"/><!--Exact number of seconds from Measurement::startTime--> | |
<xs:element name="triggerParameters" type="TBBTrigger"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="BeamformedDataProduct"> | |
<xs:complexContent> | |
<xs:extension base="DataProduct"> | |
<xs:sequence> | |
<xs:element name="subArrayPointing" type="SubArrayPointing" maxOccurs="unbounded"/> | |
<xs:element name="subband" type="xs:unsignedShort"/><!-- Needs to be changed, discuss with A2 and Jason--> | |
<xs:element name="stationSubband" type="xs:unsignedShort"/><!-- Needs to be changed, discuss with A2 and Jason--> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="GenericDataProduct"> | |
<xs:complexContent> | |
<xs:extension base="DataProduct"/> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="TransformationMatrix"> | |
<xs:sequence> | |
<xs:element maxOccurs="4" name="value" type="xs:double"></xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="Axis"> | |
<xs:sequence> | |
<xs:element name="number" type="xs:unsignedShort"/> | |
<xs:element name="name" type="xs:string"/> | |
<xs:element name="units" type="xs:string"/> | |
<xs:element name="length" type="xs:unsignedInt"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="LinearAxis"> | |
<xs:complexContent> | |
<xs:extension base="Axis"> | |
<xs:sequence> | |
<xs:element name="increment" type="xs:double"/> | |
<xs:element name="referencePixel" type="xs:double"/> | |
<xs:element name="referenceValue" type="xs:double"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="TabularAxis"> | |
<xs:complexContent> | |
<xs:extension base="Axis"> | |
<xs:sequence> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="Coordinate"> | |
<xs:sequence> | |
<xs:element name="number" type="xs:unsignedShort"></xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="RaDecSystem"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="ICRS"/> | |
<xs:enumeration value="FK5"/> | |
<xs:enumeration value="FK4"/> | |
<xs:enumeration value="FK4-NO-E"/> | |
<xs:enumeration value="GAPPT"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="LocationFrame"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="GEOCENTER"/> | |
<xs:enumeration value="BARYCENTER"/> | |
<xs:enumeration value="HELIOCENTER"/> | |
<xs:enumeration value="TOPOCENTER"/> | |
<xs:enumeration value="LSRK"/> | |
<xs:enumeration value="LSRD"/> | |
<xs:enumeration value="GALACTIC"/> | |
<xs:enumeration value="LOCAL_GROUP"/> | |
<xs:enumeration value="RELOCATABLE"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="DirectionCoordinate"> | |
<xs:complexContent> | |
<xs:extension base="Coordinate"> | |
<xs:sequence> | |
<xs:element minOccurs="2" maxOccurs="2" name="directionAxis" type="LinearAxis"/> | |
<xs:element name="PC" type="TransformationMatrix"/> | |
<xs:element name="equinox" type="xs:string"/> | |
<xs:element name="raDecSystem" type="RaDecSystem"/> | |
<xs:element name="projection" type="xs:string"/> | |
<xs:element name="projectionParameters" type="xs:double"/> | |
<xs:element name="longitudePole" type="xs:double"/> | |
<xs:element name="LatitudePole" type="xs:double"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="SpectralCoordinate"> | |
<xs:complexContent> | |
<xs:extension base="Coordinate"> | |
<xs:sequence> | |
<xs:choice> | |
<xs:element name="spectralAxis" type="TabularAxis"/> | |
<xs:element name="spectralAxis" type="LinearAxis"/> | |
</xs:choice> | |
<xs:element name="radioVelocity" type="xs:double"/> | |
<xs:element name="opticalVelocity" type="xs:double"/> | |
<xs:element name="redshift" type="xs:double"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="PolarizationCoordinate"> | |
<xs:complexContent> | |
<xs:extension base="Coordinate"> | |
<xs:sequence> | |
<xs:element name="polarizationAxis" type="TabularAxis"/> | |
<xs:element maxOccurs="4" name="polarization" type="PolarizationType"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="PixelMapDataProduct"> | |
<xs:complexContent> | |
<xs:extension base="DataProduct"> | |
<xs:sequence> | |
<xs:element name="numberOfAxes" type="xs:unsignedShort"/> | |
<xs:element name="numberOfCoordinates" type="xs:unsignedShort"/> | |
<xs:element maxOccurs="999" name="coordinate" type="Coordinate"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="SkyImageDataProduct"> | |
<xs:complexContent> | |
<xs:extension base="PixelMapDataProduct"> | |
<xs:sequence> | |
<xs:element name="locationFrame" type="LocationFrame"></xs:element> | |
<xs:element name="timeFrame" type="xs:string"></xs:element> | |
<xs:element name="pointing" type="Pointing"/><!--Explicit for easy finding in the archive, not just DirectionAxis with names RA/DEC--> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType><!-- ============================Parset============================ --> | |
<xs:complexType name="Parset"> | |
<xs:sequence> | |
<xs:element name="identifier" type="IdentifierType"/> | |
<xs:element name="contents" type="xs:string"/> | |
</xs:sequence> | |
</xs:complexType><!-- ============================Project============================ --> | |
<xs:simpleType name="Telescope"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="LOFAR"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="Project"> | |
<xs:sequence> | |
<xs:element name="projectCode" type="xs:string"/> | |
<xs:element name="primaryInvestigator" type="xs:string"/> | |
<xs:element name="coInvestigator" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> | |
<xs:element name="contactAuthor" type="xs:string"/> | |
<xs:element name="telescope" type="Telescope"/> | |
<xs:element name="projectDescription" type="xs:string"/> | |
</xs:sequence> | |
</xs:complexType><!-- ============================LTASip root element============================ --> | |
<xs:element name="ltaSip" type="LTASip"/> | |
<xs:complexType name="LTASip"> | |
<xs:sequence> | |
<xs:element name="sipGeneratorVersion" type="xs:string"/> | |
<xs:element name="project" type="Project"/> | |
<xs:element name="dataProduct" type="DataProduct"/> | |
<xs:element maxOccurs="unbounded" minOccurs="0" name="observation" type="Observation"/> | |
<!--<xs:element maxOccurs="unbounded" minOccurs="0" name="Data" type="-"/> | |
<xs:element maxOccurs="unbounded" minOccurs="0" name="Generic" type="-"/>--> | |
<xs:element maxOccurs="unbounded" minOccurs="0" name="pipelineRun" type="PipelineRun"/> | |
<xs:element name="relatedDataProduct" type="DataProduct" minOccurs="0" maxOccurs="unbounded"/> | |
<xs:element maxOccurs="unbounded" minOccurs="0" name="parset" type="Parset"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:schema> | |
</code> | |