晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/cloudlinux/alt-php55/root/usr/share/pear/File/ |
| Current File : //opt/cloudlinux/alt-php55/root/usr/share/pear/File/MARCBASE.php |
<?php
/* vim: set expandtab shiftwidth=4 tabstop=4 softtabstop=4 foldmethod=marker: */
/**
* Parser for MARC records
*
* This package is based on the PHP MARC package, originally called "php-marc",
* that is part of the Emilda Project (http://www.emilda.org). Christoffer
* Landtman generously agreed to make the "php-marc" code available under the
* GNU LGPL so it could be used as the basis of this PEAR package.
*
* PHP version 5
*
* LICENSE: This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* @category File_Formats
* @package File_MARC
* @author Dan Scott <dscott@laurentian.ca>
* @copyright 2007-2010 Dan Scott
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @version CVS: $Id: MARCXML.php 301727 2010-07-30 17:30:51Z dbs $
* @link http://pear.php.net/package/File_MARC
* @example read.php Retrieve specific fields and subfields from a record
* @example subfields.php Create new subfields and add them in specific order
* @example marc_yaz.php Pretty print a MARC record retrieved through the PECL yaz extension
*/
require_once 'File/MARC/Record.php';
// {{{ class File_MARCBASE
/**
* The main File_MARCBASE class provides common methods for File_MARC and
* File_MARCXML - primarily for generating MARCXML output.
*
* @category File_Formats
* @package File_MARC
* @author Dan Scott <dscott@laurentian.ca>
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @link http://pear.php.net/package/File_MARC
*/
class File_MARCBASE
{
/**
* XMLWriter for writing collections
*
* @var XMLWriter
*/
protected $xmlwriter;
/**
* Record class
*
* @var string
*/
protected $record_class;
// }}}
// {{{ Constructor: function __construct()
/**
* Read in MARCXML records
*
* This function reads in files or strings that
* contain one or more MARCXML records.
*
* <code>
* <?php
* // Retrieve MARC records from a file
* $journals = new File_MARC('journals.mrc', SOURCE_FILE);
*
* // Retrieve MARC records from a string (e.g. Z39 query results)
* $monographs = new File_MARC($raw_marc, SOURCE_STRING);
* ?>
* </code>
*
* @param string $source Name of the file, or a raw MARC string
* @param int $type Source of the input, either SOURCE_FILE or SOURCE_STRING
* @param string $record_class Record class, defaults to File_MARC_Record
*/
function __construct($source, $type, $record_class)
{
$this->xmlwriter = new XMLWriter();
$this->xmlwriter->openMemory();
$this->xmlwriter->startDocument('1.0', 'UTF-8');
$this->record_class = $record_class ?: File_MARC_Record::class;
}
// }}}
// {{{ toXMLHeader()
/**
* Initializes the MARCXML output of a record or collection of records
*
* This method produces an XML representation of a MARC record that
* attempts to adhere to the MARCXML standard documented at
* http://www.loc.gov/standards/marcxml/
*
* @return bool true if successful
*/
function toXMLHeader()
{
$this->xmlwriter->startElement("collection");
$this->xmlwriter->writeAttribute("xmlns", "http://www.loc.gov/MARC21/slim");
return true;
}
// }}}
// {{{ getXMLWriter()
/**
* Returns the XMLWriter object
*
* This method produces an XML representation of a MARC record that
* attempts to adhere to the MARCXML standard documented at
* http://www.loc.gov/standards/marcxml/
*
* @return XMLWriter XMLWriter instance
*/
function getXMLWriter()
{
return $this->xmlwriter;
}
// }}}
// {{{ toXMLFooter()
/**
* Returns the MARCXML collection footer
*
* This method produces an XML representation of a MARC record that
* attempts to adhere to the MARCXML standard documented at
* http://www.loc.gov/standards/marcxml/
*
* @return string representation of MARC record in MARCXML format
*/
function toXMLFooter()
{
$this->xmlwriter->endElement(); // end collection
$this->xmlwriter->endDocument();
return $this->xmlwriter->outputMemory();
}
// }}}
}
// }}}
|