#!/bin/bash # # Exify.bash # # Convert some XML files to EXI with varioius options. The intent is to create files # that can be downloaded by others for comparision purposes. The efx.sh program is # from Agile Delta, http://www.agiledelta.com. # # Created by Don McGregor on 3/19/08. export PATH=`pwd`/bin:$PATH # handles encoding XML fragments function exiEncodeFragment() { echo encoding fragment "$1" efx.sh -noschema -fragments "$1" -o "$1"_FRAGMENT.exi } # Handles encoding without a schema function exiSchemalessEncode() { efx.sh -noschema "$1" -o "$1"_NOSCHEMA.exi efx.sh -noschema -bytealign "$1" -o "$1"_NOSCHEMA_BYTEALIGN.exi efx.sh -noschema -bytealign -header "$1" -o "$1"_NOSCHEMA_BYTEALIGN_HEADER.exi } # Handles multiple encodings for xml files when we have a schema available function exiSchemaEncode() { efx.sh -strict -schema "$2" "$1" -o "$1"_STRICT.exi efx.sh -header -strict -schema "$2" "$1" -o "$1"_STRICT_HEADER.exi efx.sh -schema "$2" "$1" -o "$1"_DEFAULT.exi efx.sh -header -schema "$2" "$1" -o "$1"_DEFAULT_HEADER.exi efx.sh -bytealign -schema "$2" "$1" -o "$1"_DEFAULT_BYTEALIGNED.exi efx.sh -header -bytealign -schema "$2" "$1" -o "$1"_DEFAULT_BYTEALIGNED_HEADER.exi efx.sh -zip -strict -schema "$2" "$1" -o "$1"_STRICT_COMPRESSED.exi efx.sh -strict -zip -header -schema "$2" "$1" -o "$1"_STRICT_COMPRESSED_HEADER.exi efx.sh -strict -prezip -schema "$2" "$1" -o "$1"_PRECOMPRESSION.exi efx.sh -header -prezip -strict -schema "$2" "$1" -o "$1"_STRICT_PRECOMPRESSION_HEADER.exi efx.sh -strict -bytealign -schema "$2" "$1" -o "$1"_STRICT_BYTEALIGNED.exi efx.sh -strict -bytealign -header -schema "$2" "$1" -o "$1"_STRICT_BYTEALIGNED_HEADER.exi efx.sh -stringvalues -schema "$2" "$1" -o "$1"_SCHEMA_LEXICAL.exi efx.sh -stringvalues -header -schema "$2" "$1" -o "$1"_SCHEMA_LEXICAL_HEADER.exi } # Combines schemaless and schema-informed function exiEncodeFile { echo encoding "$1" "$2" exiSchemalessEncode $1 exiSchemaEncode $1 $2 } # Start feeding it files. # notebook example from the primer cd data/notebook exiEncodeFile notebook.xml notebook.xsd # Simple point example cd ../points exiEncodeFile points.xml points.xsd # Do distributed interactive simulation (DIS) directory cd ../DIS exiEncodeFile DisPackets.xml DistributedInteractiveSimulation.xsd exiEncodeFile OneDisPacket.xml DistributedInteractiveSimulation.xsd # Fragmentary XML files, ie XML stanzas without a starting tag cd ../fragments/CBMS for file in $(ls *.frag) do exiEncodeFragment $file done cd ../JTLM for file in $(ls *.frag) do exiEncodeFragment $file done # X3D cd ../../X3D for file in $( ls *.x3d ) do exiEncodeFile $file schema/x3d-3.0.xsd done # ASMTF directory cd ../ASMTF for file in $( ls brdmlrecceord/*.xml ) do exiEncodeFile $file brdmlrecceord/sets.xsd done for file in $( ls commgatewayreq/*.xml ) do exiEncodeFile $file commgatewayreq/sets.xsd done for file in $( ls cssstate/*.xml ) do exiEncodeFile $file cssstate/sets.xsd done for file in $( ls enggsreccerep/*.xml ) do exiEncodeFile $file enggsreccerep/sets.xsd done for file in $( ls optaskdive/*.xml ) do exiEncodeFile $fileoptaskdive/ sets.xsd done # CBMS cd ../CBMS for file in $( ls *.xml ) do exiEncodeFile $file schema/dvb_ipdc_esg.xsd done # AVCL cd ../AVCL for file in $( ls *.xml ) do exiEncodeFile $file AVCL.xsd done # fpml directory cd ../FpML for file in $(ls instance/cd/*.xml) do exiEncodeFile $file fpml-cd-4-0.xsd done for file in $(ls instance/eqd/*.xml) do exiEncodeFile $file fpml-cd-4-0.xsd done for file in $(ls instance/eqs/*.xml) do exiEncodeFile $file fpml-cd-4-0.xsd done for file in $(ls instance/fx/*.xml) do exiEncodeFile $file fpml-cd-4-0.xsd done for file in $(ls instance/ird/*.xml) do exiEncodeFile $file fpml-cd-4-0.xsd done for file in $(ls instance/msg/*.xml) do exiEncodeFile $file fpml-cd-4-0.xsd done # Gaml cd ../Gaml for file in $(ls instance/*.gaml) do exiEncodeFile $file gaml100.xsd done # Invoice cd ../Invoice for file in $(ls instance/*.xml) do exiEncodeFile $file sm-inv.xsd done # Mage cd ../MAGE_ML for file in $(ls *.xml) do exiSchemalessEncode $file done # Misc cd ../Miscellaneous exiEncodeFile periodic.xml periodic.xsd exiEncodeFile factbook.xml factbook.xsd # Open Office cd ../OpenOffice for file in $(ls *.fodt) do exiEncodeFile $file schema/odf.xsd done # Sesmic data cd ../SeismicData for file in $(ls *.xml) do exiEncodeFile $file seis.xsd done # Scalable Vector Graphics cd ../SVGTinyCleaned for file in $(find . -name *.svg -print) do exiSchemalessEncode $file done # XAL cd ../XAL cd ../SVGTinyCleaned for file in $(find . -name *.xml -print) do exiSchemalessEncode $file done for file in $(find . -name *.probe -print) do exiSchemalessEncode $file done # Google web services cd ../Google for file in $(ls *.xml) do exiEncodeFile $file soap_1_1.xsd done # HepRep cd ../HepRep for file in $(ls *.heprep) do exiEncodeFile $file HepRep.xsd done # Epics archiver cd ../epicsArchiver for file in $(ls *.xml) do exiSchemalessEncode $file done # Locations cd ../Locations for file in $(ls *.xml) do exiEncodeFile $file LocationSightings.xsd done # JTLM cd ../JTLM for file in $(ls *.xml) do exiEncodeFile $file schemas/TLM.xsd done # WSDL cd ../WSDL for file in $(ls *.xml) do exiEncodeFile $file wsdl.xsd done # Schema deviations--not at all sure I've got this all right cd ../deviations for file in $(ls *.xml) do echo $file done # Ant cd ../Ant for file in $( ls *.xml ) do exiEncodeFile $file autoschema.xsd done # BCAST cd ../BCAST for file in $( ls BiM-Testset-XML-Jan01-07-Grouped_by_Service_with_Pictures/*.xml ) do exiEncodeFile $file bcast.xsd done for file in $( ls BiM-Testset-XML-Jan04-10-Grouped_by_Service_with_Pictures/*.xml ) do exiEncodeFile $file bcast.xsd done for file in $( ls BiM-Testset-XML-Jan07-13-Grouped_by_Service_with_Pictures/*.xml ) do exiEncodeFile $file bcast.xsd done for file in $( ls BiM-Testset-XML-Jan10-16-Grouped_by_Service_with_Pictures/*.xml ) do exiEncodeFile $file bcast.xsd done for file in $( ls BiM-Testset-XML-Jan13-19-Grouped_by_Service_with_Pictures/*.xml ) do exiEncodeFile $file bcast.xsd done for file in $( ls BiM-Testset-XML-Jan19-25-Grouped_by_Service_with_Pictures/*.xml ) do exiEncodeFile $file bcast.xsd done for file in $( ls BiM-Testset-XML-Jan16-22-Grouped_by_Service_with_Pictures/*.xml ) do exiEncodeFile $file bcast.xsd done # Do DAML directory cd ../DAML exiSchemalessEncode cyc.xml exiSchemalessEncode wines.daml # Do distributed interactive simulation (DIS) directory cd ../DIS exiEncodeFile DisPackets.xml DistributedInteractiveSimulation.xsd exiEncodeFile OneDisPacket.xml DistributedInteractiveSimulation.xsd # Do datastore directory cd ../DataStore exiEncodeFile weblog.xml weblog.xsd # Docbook data cd ../Docbook for file in $( ls *.xml ) do exiEncodeFile $file xsd/dbpoolx.xsd done # FixML data cd ../FixML-4.4 for file in $( ls *.xml ) do exiEncodeFile $file schema/fixml-fields-base-4-4.xsd done