Created
March 25, 2015 13:33
-
-
Save geobabbler/37f7d16aade414bed102 to your computer and use it in GitHub Desktop.
Generates metadata document containing elements required by data.gov
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
var fs = require('fs'); | |
function writeMetadata(Origin, Pubdate, Title, Abstract, Westbc, Eastbc, Northbc, Southbc, Addrtype, State){ | |
var XMLWriter = require('xml-writer'); | |
xw = new XMLWriter(true); | |
xw.startDocument(); | |
var root = xw.startElement('metadata'); | |
root.writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); | |
root.writeAttribute('xsi:noNamespaceSchemaLocation','http://www.fgdc.gov/metadata/fgdc-std-001-1998.xsd'); | |
var idinfo = root.startElement('idinfo'); | |
var citation = idinfo.startElement('citation'); | |
var citeinfo = citation.startElement('citeinfo'); | |
var origin = citeinfo.startElement('origin').text(Origin).endElement(); | |
var pubdate = citeinfo.startElement('pubdate').text(Pubdate).endElement(); | |
var title = citeinfo.startElement('title').text(Title).endElement(); | |
citeinfo.endElement(); | |
citation.endElement(); | |
var descript = idinfo.startElement('descript'); | |
var abstract = descript.startElement('abstract').text(Abstract).endElement(); | |
descript.endElement(); | |
var spdom = idinfo.startElement('spdom'); | |
var bounding = spdom.startElement('bounding'); | |
var westbc = bounding.startElement('westbc').text(Westbc).endElement(); | |
var eastbc = bounding.startElement('eastbc').text(Eastbc).endElement(); | |
var northbc = bounding.startElement('northbc').text(Northbc).endElement(); | |
var southbc = bounding.startElement('southbc').text(Southbc).endElement(); | |
bounding.endElement(); | |
spdom.endElement(); | |
idinfo.endElement(); | |
var metainfo = root.startElement('metainfo'); | |
var metc = metainfo.startElement('metc'); | |
var cntinfo = metc.startElement('cntinfo'); | |
var cntaddr = cntinfo.startElement('cntaddr'); | |
var addrtype = cntaddr.startElement('addrtype').text(Addrtype).endElement(); | |
var state = cntaddr.startElement('state').text(State).endElement(); | |
cntaddr.endElement(); | |
cntinfo.endElement(); | |
metc.endElement(); | |
metainfo.endElement(); | |
//r.text('Some content'); | |
xw.endDocument(); | |
return xw; | |
} | |
var s = writeMetadata('Earth Data Analysis Center', '20081021', 'New Mexico State Forestry Districts', 'test abstract', -109.051338201043, | |
-102.998901361614, 37.001747134987, 31.3308715831633, 'mailing and physical address', 'NM'); | |
fs.writeFile("foo2.xml", s, function(err) { | |
if(err) { | |
return console.log(err); | |
} | |
var validator = require('./validator') | |
var val = new validator(); | |
var msgs = val.validate('foo2.xml'); | |
console.log(msgs); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment