1 / 1

<answer xmlns:xsi="w3/2001/XMLSchema-instance">

Configurable format conversion tool from XML to FITS with binary extensions Keiichi MATSUZAKI 1 , Hajime BABA 2,1 , Koshiro SHUTO 1 , Akira MIURA 1 , Hiroyuki NAKAMOTO 3 , Ryota KANAMORI 3 , Yusuke KOBAYASHI 3 1 ISAS/JAXA, 2 Waseda University, 3 SEC (Systems Engineering Consultants Co.).

adem
Download Presentation

<answer xmlns:xsi="w3/2001/XMLSchema-instance">

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Configurable format conversion tool from XML to FITS with binary extensions Keiichi MATSUZAKI1, Hajime BABA2,1, Koshiro SHUTO1, Akira MIURA1, Hiroyuki NAKAMOTO3, Ryota KANAMORI3, Yusuke KOBAYASHI3 1ISAS/JAXA, 2Waseda University, 3SEC (Systems Engineering Consultants Co.) Abstract We have developed a configurable format conversion tool(1) from XML format(2) to FITS format with binary extensions(3). Structure of input data of this tool is specified by an XML schema language -- RELAX NGa) –(4) and that of output is also specified by a schema described in XML(5). This tool is configured by a file named Mapping Schema(6) created from the input schema and the output schema. Conversion of format is one of the exhaust tasks in data processing. This tool gives one easy solution to connect ‘modern’ XML technologies with ‘traditional’ FITS file processing. This tool avoids designer/developer of individual application from manual programming of validation and transformation since this tool can be fully configured by Mapping Schema. Compared with general purpose computer language, roles of Mapping Schema are much limited. When we use these definitions, we can shorten period of development keeping reliability of the system. This tool itself keep structure and order of input data which can be only defined by schema tags in the shared name space. Modification of intrinsic data structure is expected to be performed ether before input or after output (e.g. before input using XSLT for XML). Mapping Schema utilizes three XML namespaces – namespace for description of input data only, namespace shared by input and output data and namespace for output data only. URI’s of input only and output only namespaces are located under URI of shared namespace. We can obtain input schema by extracting elements from former two namespaces and output schema from latter two namespaces. Since RELAX NG is general purpose language and this tool accepts mapping of arbitral data item in XML data structure, we can widely use this tool in data processing in the astronomy. Input (2) XML File Instance Output (3) FITS File Instance (1) XML2FITS (Java application) <answer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <packetname>DummyPacket</packetname> <data> <rec t=“2000-01-01T00:00:00.000Z" g-tim="2000-01-01T00:00:01.000Z" c-tim="2000-01-01T00:00:02.000Z"> <!– 1 record (data in same timing) --> <in001>255</in001> <in002>32767</in002> <in003>2147483647</in003> <in004>3.40282346638528860e+38</in004> <in005>1.79769313486231570e+308</in005> </rec> <rec t=“2000-01-01T00:00:00.000Z" g-tim=“1999-12-31T23:59:59.000Z" c-tim=“1999-12-31T23:59:58.000Z"> <!– 1 record (data in same timing) --> <in001>0</in001> <in002>-32768</in002> <in003>-2147483648</in003> <in004>-3.40282346638528860e+38</in004> <in005>-1.79769313486231570e+308</in005> </rec> <!– repeat record in arbitral times --> </data> </answer> <ums:group xmlns:ums="http://isas.jaxa.jp/ums/xmlfits/20040825/xml" xmlns="http://isas.jaxa.jp/ums/xmlfits/20040825/xml" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <element name="answer"> <element name="packetname"><value>DummyPacket</value></element> <element name="data"> <ums:zeroOrMore> <element name="rec"> <attribute name="t"> <ums:data type="dateTime"/> </attribute> <attribute name="g-tim"> <ums:data type="dateTime"/> </attribute> <attribute name="c-tim"> <ums:data type="dateTime"/> </attribute> <element name="in001"> <ums:data type="unsignedByte"/> </element> <element name="in002"> <ums:data type="short"/> </element> <element name="in003"> <ums:data type="int"/> </element> <element name="in004"> <ums:data type="float"/> </element> <element name="in005"> <ums:data type="double"/> </element> </element> </ums:zeroOrMore> </element> </element> </ums:group> <ums:group xmlns:ums="http://isas.jaxa.jp/ums/xmlfits/20040825" xmlns="http://isas.jaxa.jp/ums/xmlfits/20040825/xml" xmlns:fits="http://isas.jaxa.jp/ums/xmlfits/20040825/fits" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <element name="anser"> <element name="packetname"><value>DummyPacket</value></element> <fits:BTEHeaderValue key="EXTNAME"><fits:value>Dummy</fits:value></fits:BTEHeaderValue> <element name="data"> <ums:zeroOrMore> <element name="rec"> <fits:BTEData ttype="t" tunit="sec"> <attribute name="t"> <ums:data type="dateTime"/> </attribute> </fits:BTEData> <fits:BTEData ttype="g-tim" tunit="sec"> <attribute name="g-tim"> <ums:data type="dateTime"/> </attribute> </fits:BTEData> <fits:BTEData ttype="c-tim" tunit="sec"> <attribute name="c-tim"> <ums:data type="dateTime"/> </attribute> </fits:BTEData> <element name="in001"> <fits:BTEData ttype="unsignedByteItem" ttypeComment="One Byte Positive Integer Value"> <!-- FITS '1B' / 1 byte --> <ums:data type="unsignedByte"/> </fits:BTEData> </element> <element name="in002"> <fits:BTEData ttype="shortItem" ttypeComment="Two Byte Integer Value"> <!-- FITS '1I' / 2 byte --> <ums:data type="short"/> </fits:BTEData> </element> <element name="in003"> <fits:BTEData ttype="intItem" ttypeComment="Four Byte Integer Value"> <!-- FITS '1J' / 4 byte --> <ums:data type="int"/> </fits:BTEData> </element> <element name="in004"> <fits:BTEData ttype="floatItem" ttypeComment="Single Precision Value" tunit="Volt"> <!-- FITS '1E' / 4 byte --> <ums:data type="float"/> </fits:BTEData> </element> <element name="in005"> <fits:BTEData ttype="doubleItem" ttypeComment="Double Precision Value" tunit="Volt"> <!-- FITS '1D' / 8 byte --> <ums:data type="double"/> </fits:BTEData> </element> </element> </ums:zeroOrMore> </element> </element> </ums:group> <ums:group xmlns:ums="http://isas.jaxa.jp/ums/xmlfits/20040825" xmlns:fits="http://isas.jaxa.jp/ums/xmlfits/20040825/fits" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <fits:BTEHeaderValue key="EXTNAME"> <fits:value>Dummy</fits:value> </fits:BTEHeaderValue> <ums:zeroOrMore> <fits:BTEData ttype="t" tunit="sec"> <ums:data type="dateTime"/> </fits:BTEData> <fits:BTEData ttype="g-tim" tunit="sec"> <ums:data type="dateTime"/> </fits:BTEData> <fits:BTEData ttype="c-tim" tunit="sec"> <ums:data type="dateTime"/> </fits:BTEData> <fits:BTEData ttype="unsignedByteItem" ttypeComment="One Byte Positive Integer Value"> <ums:data type="unsignedByte"/> <!-- FITS '1B' / 1 byte --> </fits:BTEData> <fits:BTEData ttype="shortItem" ttypeComment="Two Byte Integer Value"> <ums:data type="short"/><!-- FITS '1I' / 2 byte --> </fits:BTEData> <fits:BTEData ttype="intItem“ ttypeComment="Four Byte Integer Value"> <ums:data type="int"/> <!-- FITS '1J' / 4 byte --> </fits:BTEData> <fits:BTEData ttype="floatItem" ttypeComment="Single Precision Value" tunit="Volt"> <ums:data type="float"/> <!-- FITS '1E' / 4 byte --> </fits:BTEData> <fits:BTEData ttype="doubleItem" ttypeComment="Double Precision Value" tunit="Volt"> <ums:data type="double"/> <!-- FITS '1D' / 8 byte --> </fits:BTEData> </ums:zeroOrMore> </ums:group> XML version of Mapping Schema is fully compatible with RELAX NG when XML namespace of http://relaxng.org/ns/structure/1.0 is used instead of http://isas.jaxa.jp/ums/xmlfits/20040825/xml of this example. (4) Schema of XML File in RELAX NG (5) Schema of FITS File in XML (6) Mapping Schema parameter for the application Status of Development & Future Schedule Initial implementation of this tool has been built in September 2004. We are now planning to use this tool for the pipe line processing of telemetry status of Astro- F and Solar-B which ISAS will launch in 2005-2006. Generated FITS file will be served for astrophysical community via DARTS b) web interface hosted by ISAS. In these cases, conversion of engineering value will be performed by common telemetry system of ISAS which will create XML files. We will create Mapping schema by transformation of existing ISAS database of telemetry definition which also minimizes effort for development. After our internal testing, we will start distribution of the tool itself. Please make contacts us c) if you are interested in using XML2FITS conversion tool. References a) http://www.oasis-open.org/committees/relax-ng/spec-20011203.html b) http://www.darts.isas.jaxa.jp/ c) comments@darts.isas.jaxa.jp

More Related