SobekCM_Marc_Library
marc 

所属分类:C#编程
开发工具:C#
文件大小:1515KB
下载次数:18
上传日期:2012-04-24 11:33:37
上 传 者huhuzhou
说明:  marc格式读取c#实现 支持marc21
(marc read c# implement)

文件列表:
SobekCM_Marc_Library\DLLs\Zoom.net\COPYING.LIB.iconv (24940, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\iconv.dll (888832, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\libxml2.dll (898560, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\libxslt.dll (151552, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\LICENSE (1451, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\LICENSE.iconv (983, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\LICENSE.libxml2 (1064, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\LICENSE.yaz (1198, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\LICENSE.zlib (1112, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\LICENSE.Zoom.Net (1451, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\LICENSE.Zoom.Net.YazSharp (1451, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\yaz.dll (1069056, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\zlib1.dll (73728, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\Zoom.Net.dll (28672, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\Zoom.Net.Factory.config (574, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\Zoom.Net.pdb (28160, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\Zoom.Net.xml (15628, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\Zoom.Net.YazSharp.dll (32768, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net\Zoom.Net.YazSharp.pdb (62976, 2010-12-08)
SobekCM_Marc_Library\DLLs\Zoom.net (0, 2012-04-24)
SobekCM_Marc_Library\DLLs (0, 2012-04-24)
SobekCM_Marc_Library\LICENSE_gpl.txt (35147, 2012-03-01)
SobekCM_Marc_Library\LICENSE_lgpl.txt (7651, 2012-03-01)
SobekCM_Marc_Library\Marc_Demo_App\app.config (144, 2012-03-01)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\AgricNewCat02.dat (143266, 2008-01-14)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\AgricNewCat02.xml (296, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\CIMMYT01.dat (53265, 2007-10-26)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\demo2.dat (1628, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\demo2.xml (5692, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\demo3.dat (1657, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\demo3.xml (5867, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\marc.dat (184425, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\Marc_Demo_App.exe (7680, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\Marc_Demo_App.exe.config (144, 2012-03-01)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\Marc_Demo_App.pdb (13824, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\Marc_Demo_App.vshost.exe (11600, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\Marc_Demo_App.vshost.exe.config (144, 2012-03-01)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\SobekCM_Marc_Library.dll (24064, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug\SobekCM_Marc_Library.pdb (65024, 2012-04-24)
SobekCM_Marc_Library\Marc_Demo_App\bin\Debug (0, 2012-04-24)
... ...

------------------------- SobekCM MARC Library ------------------------- LICENSE AND COPYRIGHT Copyright 2005-2012 Mark Sullivan ( Mark.V.Sullivan@gmail.com ) This library is released under the Lesser GNU Public License, which is included within the download. PURPOSE This is a C# library which contains classes for working in memory with MARC records ( http://www.loc.gov/marc/ ). This allows records to be read from MarcXML and Marc21 formats. Once in memory any field or subfield can be edited, added, or deleted. Then the record can be queried or saved again in either a MarcXML or Marc21 file format. USE This library has been developed over the last six years and is used in several open-source projects and within the University of Florida Digital Library Center workflow applications. The term 'SobekCM' references the two open-source applications which have been previously released, but this library should be able to be used across many different applications. I am releasing it as open-source here as we are planning on using this library more commonly in other upcoming projects the UF Libraries are involved in. FUTURE PLANS I plan to complete the Z39.50 portion of this library within the next couple weeks and perhaps add a simple interface to the Marc record which allows you to query for simple dublin core values ( i.e., title, creator, etc.. ) without a full understanding of the MARC record format. I would also like to add better error handling. REQUIREMENTS I find that this works best when working with either MarcXML or Marc21 that is encoded with Unicode character encoding (rather than Marc character encoding). OTHER IMPLEMENTATIONS As I was preparing this for release, I became aware of another C# implementation of the MARC record ( available at http://sourceforge.net/projects/csharpmarc/ ). Comparing the two implementations showed there is really only one way to skin a chicken, as our data objects are quite similar. I encourage you to look at the other implementation, as well as this one. There are a couple differences in our current implementations: - In some ways I like his data model of seperating the control and data fields into seperate classes which both inherit from an abstract fields class. I actually begain implementation this way, but decided against the constant casting and having to look in two different collections which this entailed. - The other implementation has better error-handling and retains a collection of warnings discovered during decoding. I like this approach, and may add this to my implementation, which currently throws exceptions when an error is caught. - The other implementation has better unit testing built into their implementation. - Memory management in this implementation is superior as more of the reading is handled as streams, rather than loading the entire Marc21 file into memory and working on all the records from a list. This probably also impacted the way error-handling and warnings were handled since in this implementation you generally step through file, record-by-record. - This implementation uses LINQ in both LINQ to XML and for querying within records. - Memory management and speed are enhanced in this implementation with more widespread use of the StringBuilder class, rather than concatenating separate strings which is fairly costly procedure when performed repeatadly. Again, I encourage you to look at the other implementation. Mark Sullivan Mark.V.Sullivan@gmail.com

近期下载者

相关文件


收藏者