<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>::xml-utils.com:: &#187; Python</title>
	<atom:link href="http://xml-utils.com/category/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://xml-utils.com</link>
	<description>El rincón práctico de los estándares web</description>
	<lastBuildDate>Fri, 16 Jul 2010 06:23:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Script de conversión de MARC21 a MARCXML</title>
		<link>http://xml-utils.com/2008/09/11/script-de-conversion-de-marc21-a-marcxml/</link>
		<comments>http://xml-utils.com/2008/09/11/script-de-conversion-de-marc21-a-marcxml/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 12:13:36 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[Archivos digitales]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://xml-utils.com/?p=37</guid>
		<description><![CDATA[El formato MARC o Machine Readable Cataloging nació en los años 60 para compartir registros bibliográficos y catálogos entre bibliotecas.
Ejemplo de un registro en formato MARC21:
00549nam  2200181   450 008004100000021002100041035001500062080001000077100\
00280008724500630011525000100017826000300018830000300021849000380024850400270028\
6650002400313999003000337^^920413s1988     sp  ad W    000    cat  ^^10^_a84-7596-137-1^_bm^^  ^_a0000-00560^^00^_a82.08^^10^_aCassany i Comas^_hDaniel^^10^_aDescriure escriure^_bcom [...]]]></description>
			<content:encoded><![CDATA[<p>El formato <a href="http://en.wikipedia.org/wiki/MARC_standards" target="_blank">MARC</a> o Machine Readable Cataloging nació en los años 60 para compartir registros bibliográficos y catálogos entre bibliotecas.</p>
<p>Ejemplo de un registro en formato MARC21:</p>
<p><code>00549nam  2200181   450 008004100000021002100041035001500062080001000077100\<br />
00280008724500630011525000100017826000300018830000300021849000380024850400270028\<br />
6650002400313999003000337^^920413s1988     sp  ad W    000    cat  ^^10^_a84-7596-137-1^_bm^^  ^_a0000-00560^^00^_a82.08^^10^_aCassany i Comas^_hDaniel^^10^_aDescriure escriure^_bcom s'aprèn a escriure^_dDaniel Cassany^^00^_a2ª ed^^00^_aBarcelona^_bEmpúries^_c1988^^00^_a192 p.^_bil.^_igràf.^_c20 cm^^00^_aBiblioteca Universal Empúries^_v35^^00^_aBibliogr.: p.[185]-190^^00^_aLiteratura^_xTècnica^^00^_aVTLSFF4002 930429    0002^^^]</code></p>
<p>Posteriormente nace <a href="http://en.wikipedia.org/wiki/MARCXML" target="_blank">MARCXML</a>, con la definición de un XML Schema para describir la estructura MARC21 y así poder codificar los registros MARC en XML:</p>
<p><code>http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd</code></p>
<p>El equivalente al ejemplo anterior, pero en formato MARC es el siguiente:</p>
<p><code>&lt;?xml version="1.0" encoding="iso-8859-1" ?&gt;<br />
&lt;marc:collection xmlns:marc="http://www.loc.gov/MARC21/slim"<br />
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
                    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"&gt;<br />
  &lt;marc:record&gt;<br />
    &lt;marc:leader&gt;00549nam  2200181   450&lt;/marc:leader&gt;<br />
    &lt;marc:controlfield tag="008"&gt;920413s1988     sp  ad W    000    cat&lt;/marc:controlfield&gt;<br />
    &lt;marc:datafield tag="021" ind1="1" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;84-7596-137-1&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="b"&gt;m&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="035" ind1="" ind2=""&gt;<br />
      &lt;marc:subfield code="a"&gt;0000-00560&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="080" ind1="0" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;82.08&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="100" ind1="1" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;Cassany i Comas&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="h"&gt;Daniel&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="245" ind1="1" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;Descriure escriure&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="b"&gt;com s'aprèn a escriure&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="d"&gt;Daniel Cassany&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="250" ind1="0" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;2ª ed&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="260" ind1="0" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;Barcelona&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="b"&gt;Empúries&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="c"&gt;1988&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="300" ind1="0" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;192 p.&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="b"&gt;il.&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="i"&gt;gràf.&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="c"&gt;20 cm&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="490" ind1="0" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;Biblioteca Universal Empúries&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="v"&gt;35&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="504" ind1="0" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;Bibliogr.: p.[185]-190&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="650" ind1="0" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;Literatura&lt;/marc:subfield&gt;<br />
      &lt;marc:subfield code="x"&gt;Tècnica&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
    &lt;marc:datafield tag="999" ind1="0" ind2="0"&gt;<br />
      &lt;marc:subfield code="a"&gt;VTLSFF4002 930429    0002&lt;/marc:subfield&gt;<br />
    &lt;/marc:datafield&gt;<br />
  &lt;/marc:record&gt;<br />
&lt;/marc:collection&gt;</code></p>
<p>Así pues, ante la necesidad de convertir de MARC21 a MARCXML, he desarrollado un sencillo script en <a href="http://www.python.org/" target="_blank">Python</a> que realiza el proceso. Para utilizarlo, sólo es necesario pasarle como parámetro el fichero de origen y el destino:</p>
<p><code>python marc2xml.py<br />
Usage: run.py &lt;fichero_marc&gt; &lt;fichero_xml&gt;</code></p>
<p>Podeis descargar el script <a href="/ejemplos/marc2xml.py" target="_blank">aquí</a></p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2008/09/11/script-de-conversion-de-marc21-a-marcxml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
