metafacture / metafacture-core

Core package of the Metafacture tool suite for metadata processing.
https://metafacture.org
Apache License 2.0
69 stars 34 forks source link

Marc XML-encoder-Output: Option with and without namespace #403

Closed TobiasNx closed 2 years ago

TobiasNx commented 2 years ago

The marc-xml encoder always creates MARC-XML with explicit namespaces (marc and xsi). There seems to be an version of MARC-XML without explicit namesapces and only marc as general setting xmlns:


<?xml version="1.0" encoding="UTF-8"?>
  <record xmlns="http://www.loc.gov/MARC21/slim" type="Bibliographic">
    <leader>00000pam a2200000 c 4500</leader>
    <controlfield tag="001">1196308691</controlfield>
    <controlfield tag="003">DE-101</controlfield>
    <controlfield tag="005">20210312081326.0</controlfield>
    <controlfield tag="007">tu</controlfield>
    <controlfield tag="008">191003s2019    gw ||||| |||| 00||||ger  </controlfield>

see also: https://www.loc.gov/standards/marcxml/Sandburg/sandburg.xml

and


  <?xml version="1.0" encoding="UTF-8"?>
   <marc:collection xmlns:marc="http://www.loc.gov/MARC21/slim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/MARC21/slim
   http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
   <marc:record>
   <marc:leader>00925njm  22002777a 4500</marc:leader>
   <marc:controlfield tag="001">5637241</marc:controlfield>
   <marc:controlfield tag="003">DLC</marc:controlfield>
   <marc:controlfield tag="005">19920826084036.0</marc:controlfield>
   <marc:controlfield tag="007">sdubumennmplu</marc:controlfield>
   <marc:controlfield tag="008">910926s1957    nyuuun              eng  </marc:controlfield>
   <marc:datafield tag="010" ind1=" " ind2=" ">

see: https://www.loc.gov/standards/marcxml/xml/collection.xml

It should be an option how the encoder should output MARC-XML.

blackwinter commented 2 years ago

Does #410 give the desired output? (encode-marcxml(emitNamespace="false"))

TobiasNx commented 2 years ago

+1 looks good :)