Converter arquivo marc(iso 2709) para xml

2 respostas
B

Olá pessoal,

estou num trabalho escolar, e este é sobre um sistema bibliotecário.
estou com uma pedra no caminho, que é: Converter um arquivo MARC (ou iso2709, um padrão universal, usado por muitas biblitoecas na ora da exportação, ou importação de livros do BD)
para um arquivo xml, até achei algo, porem o site é todo em inglês, realmente tá dificil. Neste site até tem um projeto em java pronto, só que não consegui tirar nada dele, ainda.

para ser mais claro, o arquivo marc é parecido com este;

01106cam a2200313 a 45000010008000000050017000080080041000250350021000669060045000879550105001320100017002370200022002540400018002760500027002940820018
003211000026003392400015003652450031003802600043004113000032004545000017004865000052005035000078005556550025006337400016006587400042006749220007007169910069
00723440425519990607173240.5920604m19919999nyua 000 0 eng 9(DLC) 92170553 a7bcbccorignewd2encipf19gy-gencatlg aby56 to be00 06-04-92; lg2306-19-92 93/151; lg06
to sl 03-01-94; lg15 03-03-94 to DDC; aa01 03-10-94 a 92170553 a0871357488 (v. 1) aDLCcDLCdDLC00aPR6052.A6475bC56 199100a741.5/9422201 aBarker, Clive,d1952-10aHellraise
r10aClive Barker’s Hellraiser. aNew York, N.Y. :bEpic Comics,cc1991- av. <1 > :bill. ;c25 cm. aCover title. aOn spine: Clive Barker’s Hellraiser collection. aOriginally published in magazin
e form as Clive Barker’s Hellraiser # 1-4. 7aHorror tales.2gsafd0 aHellraiser.0 aClive Barker’s Hellraiser collection. aco bc-GenCollhPR6052.A6475iC56 1991p00023399040tCopy 1v1wBOOKS

qnd exportar para xml fica assim: (até achei um programa que faz isto, porem é .exe)

<blockquote>     <?xml version="1.0" encoding="UTF-8"?>



01106cam a2200313 a 4500

4404255

19990607173240.5

920604m19919999nyua          000 0 eng  



(DLC)   92170553





7

cbc

orignew

2

ncip

19

y-gencatlg





by56 to be00 06-04-92; lg2306-19-92 93/151; lg06 to sl 03-01-94; lg15 03-03-94 to DDC; aa01 03-10-94





   92170553 





[telefone removido] (v. 1)





DLC

DLC

DLC





PR6052.A6475

C56 1991





741.5/942

20





Barker, Clive,

1952-





Hellraiser





Clive Barkers Hellraiser. </blockquote>

se puderem dar uma forcinha, fico bastante grato, flw

2 Respostas

B

[RESOLVIDO]

consegui, o código segue abaixo:

public static void main(String args[]) {
		// CONVERTE marcToXml
		String input = "c:\\log.txt";
		try {
			MarcXmlReader producer = new MarcXmlReader();
			InputSource in = new InputSource(new InputStreamReader(
					new FileInputStream(input)));
			Source source = new SAXSource(producer, in);
			Writer writer = new BufferedWriter(new OutputStreamWriter(
					System.out));
			Result result = new StreamResult(writer);
			Converter converter = new Converter();
			converter.convert(source, result);
		} catch (Exception e) {
			e.printStackTrace();
		}
		// MOSTRA arq. marc
		try {
			MarcReader reader = new MarcReader();
			TaggedWriter handler = new TaggedWriter();
			Writer out = new BufferedWriter(new OutputStreamWriter(System.out));
			handler.setWriter(out);
			reader.setMarcHandler(handler);
			reader.setErrorHandler(new ErrorHandlerImpl());
			reader.parse("c:\\log.txt");
		} catch (IOException e) {
			e.printStackTrace();
		}
		// CONVERTE XmlToMarc
		input = "c:\\log.xml";
		try {
			Writer writer = new BufferedWriter(new OutputStreamWriter(
					System.out));
			MarcWriter handler = new MarcWriter(writer);

			SAXParserFactory factory = SAXParserFactory.newInstance();
			SAXParser saxParser = factory.newSAXParser();
			XMLReader xmlReader = saxParser.getXMLReader();
			xmlReader.setErrorHandler(new SaxErrorHandler());
			InputSource in = new InputSource(new InputStreamReader(
					new FileInputStream(input)));
			Source source = new SAXSource(xmlReader, in);
			Result result = new MarcResult(handler);
			Converter converter = new Converter();
			converter.convert(source, result);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

para quem tiver desenvolvendo um app parecido com o meu, deixo o link do site, que contem o projeto já pronto [url]http://www.loc.gov/standards/marcxml/marcxml-survey.php[/url]

B

uai, tem como deletar mensagem nao?

Criado 15 de maio de 2010
Ultima resposta 15 de mai. de 2010
Respostas 2
Participantes 1