本文整理汇总了PHP中XMLCustomWriter::createDocument方法的典型用法代码示例。如果您正苦于以下问题:PHP XMLCustomWriter::createDocument方法的具体用法?PHP XMLCustomWriter::createDocument怎么用?PHP XMLCustomWriter::createDocument使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLCustomWriter
的用法示例。
在下文中一共展示了XMLCustomWriter::createDocument方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
/**
* @copydoc Filter::process()
* @param $input MetadataDescription
*/
function &process(&$input)
{
// Start the XML document.
$doc =& XMLCustomWriter::createDocument();
// Create the root element.
$root =& XMLCustomWriter::createElement($doc, 'xMetaDiss:xMetaDiss');
// Add the XML namespace and schema.
XMLCustomWriter::setAttribute($root, 'xmlns:xMetaDiss', 'http://www.d-nb.de/standards/xmetadissplus/');
XMLCustomWriter::setAttribute($root, 'xmlns:cc', 'http://www.d-nb.de/standards/cc/');
XMLCustomWriter::setAttribute($root, 'xmlns:dc', 'http://purl.org/dc/elements/1.1/');
XMLCustomWriter::setAttribute($root, 'xmlns:dcmitype', 'http://purl.org/dc/dcmitype');
XMLCustomWriter::setAttribute($root, 'xmlns:dcterms', 'http://purl.org/dc/terms/');
XMLCustomWriter::setAttribute($root, 'xmlns:ddb', 'http://www.d-nb.de/standards/ddb/');
XMLCustomWriter::setAttribute($root, 'xmlns:doi', 'http://www.d-nb.de/standards/doi/');
XMLCustomWriter::setAttribute($root, 'xmlns:hdl', 'http://www.d-nb.de/standards/hdl/');
XMLCustomWriter::setAttribute($root, 'xmlns:pc', 'http://www.d-nb.de/standards/pc/');
XMLCustomWriter::setAttribute($root, 'xmlns', 'http://www.d-nb.de/standards/subject/');
XMLCustomWriter::setAttribute($root, 'xmlns:thesis', 'http://www.ndltd.org/standards/metadata/etdms/1.0/');
XMLCustomWriter::setAttribute($root, 'xmlns:urn', 'http://www.d-nb.de/standards/urn/');
XMLCustomWriter::setAttribute($root, 'xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
XMLCustomWriter::setAttribute($root, 'xsi:schemaLocation', 'http://www.d-nb.de/standards/xmetadissplus/ http://www.d-nb.de/standards/xmetadissplus/xmetadissplus.xsd');
// Prepare the XMDP document hierarchy from the XMDP MetadataDescription instance.
$documentHierarchy =& $this->_buildDocumentHierarchy($doc, $root, $input);
// Recursively join the document hierarchy into a single document.
$root =& $this->_joinNodes($documentHierarchy);
XMLCustomWriter::appendChild($doc, $root);
// Retrieve the XML from the DOM.
$output = XMLCustomWriter::getXml($doc);
return $output;
}
示例2: createJournalSitemap
/**
* Construct the sitemap
* @return XMLNode
*/
function createJournalSitemap()
{
$issueDao =& DAORegistry::getDAO('IssueDAO');
$publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
$galleyDao =& DAORegistry::getDAO('ArticleGalleyDAO');
$journal =& Request::getJournal();
$journalId = $journal->getId();
$doc =& XMLCustomWriter::createDocument();
$root =& XMLCustomWriter::createElement($doc, 'urlset');
XMLCustomWriter::setAttribute($root, 'xmlns', SITEMAP_XSD_URL);
// Journal home
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'index', 'index')));
// About page
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'about')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'about', 'editorialTeam')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'about', 'editorialPolicies')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'about', 'submissions')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'about', 'siteMap')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'about', 'aboutThisPublishingSystem')));
// Search
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'search')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'search', 'authors')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'search', 'titles')));
// Issues
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'issue', 'current')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'issue', 'archive')));
$publishedIssues =& $issueDao->getPublishedIssues($journalId);
while ($issue =& $publishedIssues->next()) {
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'issue', 'view', $issue->getId())));
// Articles for issue
$articles = $publishedArticleDao->getPublishedArticles($issue->getId());
foreach ($articles as $article) {
// Abstract
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'article', 'view', array($article->getId()))));
// Galley files
$galleys = $galleyDao->getGalleysByArticle($article->getId());
foreach ($galleys as $galley) {
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($journal->getPath(), 'article', 'view', array($article->getId(), $galley->getId()))));
}
}
unset($issue);
}
XMLCustomWriter::appendChild($doc, $root);
return $doc;
}
示例3:
/**
* @copydoc Filter::process()
* @param $input MetadataDescription
*/
function &process(&$input)
{
// Start the XML document.
$doc =& XMLCustomWriter::createDocument();
// Create the root element.
$root =& XMLCustomWriter::createElement($doc, 'mods');
// Add the XML namespace and schema.
XMLCustomWriter::setAttribute($root, 'version', '3.4');
XMLCustomWriter::setAttribute($root, 'xmlns', 'http://www.loc.gov/mods/v3');
XMLCustomWriter::setAttribute($root, 'xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
XMLCustomWriter::setAttribute($root, 'xsi:schemaLocation', 'http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-4.xsd');
// Prepare the MODS document hierarchy from the MODS MetadataDescription instance.
$documentHierarchy =& $this->_buildDocumentHierarchy($doc, $root, $input);
// Recursively join the document hierarchy into a single document.
$root =& $this->_joinNodes($documentHierarchy);
XMLCustomWriter::appendChild($doc, $root);
// Retrieve the XML from the DOM.
$output = XMLCustomWriter::getXml($doc);
return $output;
}
示例4: exportArticle
function exportArticle(&$journal, &$issue, &$article, &$galley, $outputFile = null)
{
$this->import('EruditExportDom');
$doc =& XMLCustomWriter::createDocument('article', '-//ERUDIT//Erudit Article DTD 3.0.0//EN', 'http://www.erudit.org/dtd/article/3.0.0/en/eruditarticle.dtd');
$articleNode =& EruditExportDom::generateArticleDom($doc, $journal, $issue, $article, $galley);
XMLCustomWriter::appendChild($doc, $articleNode);
if (!empty($outputFile)) {
if (($h = fopen($outputFile, 'wb')) === false) {
return false;
}
fwrite($h, XMLCustomWriter::getXML($doc));
fclose($h);
} else {
header("Content-Type: application/xml");
header("Cache-Control: private");
header("Content-Disposition: attachment; filename=\"erudit.xml\"");
XMLCustomWriter::printXML($doc);
}
return true;
}
示例5: exportJournal
/**
* Export a journal's content
* @param $journal object
* @param $outputFile string
*/
function exportJournal(&$journal, $outputFile = null)
{
$this->import('DOAJExportDom');
$doc =& XMLCustomWriter::createDocument();
$journalNode =& DOAJExportDom::generateJournalDom($doc, $journal);
$journalNode->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
$journalNode->setAttribute('xsi:noNamespaceSchemaLocation', DOAJ_XSD_URL);
XMLCustomWriter::appendChild($doc, $journalNode);
if (!empty($outputFile)) {
if (($h = fopen($outputFile, 'wb')) === false) {
return false;
}
fwrite($h, XMLCustomWriter::getXML($doc));
fclose($h);
} else {
header("Content-Type: application/xml");
header("Cache-Control: private");
header("Content-Disposition: attachment; filename=\"journal-" . $journal->getId() . ".xml\"");
XMLCustomWriter::printXML($doc);
}
return true;
}
示例6: _getArticleListXml
/**
* Retrieve the XML for a batch of articles to be updated.
*
* @param $articles DBResultFactory The articles to be included
* in the list.
* @param $totalCount integer The overall number of changed articles
* (not only the current batch).
* @param $numDeleted integer An output parameter that returns
* the number of documents that will be deleted.
*
* @return string The XML ready to be consumed by the Solr data
* import service.
*/
function _getArticleListXml(&$articles, $totalCount, &$numDeleted)
{
// Create the DOM document.
$articleDoc =& XMLCustomWriter::createDocument();
assert(is_a($articleDoc, 'DOMDocument'));
// Create the root node.
$articleList =& XMLCustomWriter::createElement($articleDoc, 'articleList');
XMLCustomWriter::appendChild($articleDoc, $articleList);
// Run through all articles in the batch and generate an
// XML list for them.
$numDeleted = 0;
$publishedArticleDao = DAORegistry::getDAO('PublishedArticleDAO');
/* @var $publishedArticleDao PublishedArticleDAO */
foreach ($articles as $article) {
if (!is_a($article, 'PublishedArticle')) {
// Try to upgrade the article to a published article.
$publishedArticle =& $publishedArticleDao->getPublishedArticleByArticleId($article->getId());
if (is_a($publishedArticle, 'PublishedArticle')) {
unset($article);
$article =& $publishedArticle;
unset($publishedArticle);
}
}
$journal = $this->_getJournal($article->getJournalId());
// Check the publication state and subscription state of the article.
if ($this->_isArticleAccessAuthorized($article)) {
// Mark the article for update.
$this->_addArticleXml($articleDoc, $article, $journal);
} else {
// Mark the article for deletion.
$numDeleted++;
$this->_addArticleXml($articleDoc, $article, $journal, true);
}
unset($journal, $article);
}
// Add the "has more" attribute so that the server knows
// whether more batches may have to be pulled (useful for
// pull indexing only).
$hasMore = count($articles) < $totalCount ? 'yes' : 'no';
$articleDoc->documentElement->setAttribute('hasMore', $hasMore);
// Return XML.
return XMLCustomWriter::getXml($articleDoc);
}
示例7: exportPapers
function exportPapers(&$results, $outputFile = null)
{
$this->import('NativeExportDom');
$doc =& XMLCustomWriter::createDocument('papers', NATIVE_DTD_ID, NATIVE_DTD_URL);
$papersNode =& XMLCustomWriter::createElement($doc, 'papers');
XMLCustomWriter::appendChild($doc, $papersNode);
foreach ($results as $result) {
$paper =& $result['publishedPaper'];
$track =& $result['track'];
$conference =& $result['conference'];
$schedConf =& $result['schedConf'];
$paperNode =& NativeExportDom::generatePaperDom($doc, $schedConf, $track, $paper);
XMLCustomWriter::appendChild($papersNode, $paperNode);
}
if (!empty($outputFile)) {
if (($h = fopen($outputFile, 'w')) === false) {
return false;
}
fwrite($h, XMLCustomWriter::getXML($doc));
fclose($h);
} else {
header("Content-Type: application/xml");
header("Cache-Control: private");
header("Content-Disposition: attachment; filename=\"papers.xml\"");
XMLCustomWriter::printXML($doc);
}
return true;
}
示例8: createSchedConfSitemap
/**
* Construct a sitemap for a scheduled conference
* @return XMLNode
*/
function createSchedConfSitemap()
{
$publishedPaperDao =& DAORegistry::getDAO('PublishedPaperDAO');
$galleyDao =& DAORegistry::getDAO('PaperGalleyDAO');
$conference =& Request::getConference();
$conferenceId = $conference->getId();
$schedConf = Request::getSchedConf();
$doc =& XMLCustomWriter::createDocument();
$root =& XMLCustomWriter::createElement($doc, 'urlset');
XMLCustomWriter::setAttribute($root, 'xmlns', SITEMAP_XSD_URL);
// Sched. Conf. home
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath())));
// About page
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'about')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'about', 'submissions')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'about', 'siteMap')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'about', 'aboutThisPublishingSystem')));
// Search
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'search')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'search', 'authors')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'search', 'titles')));
// Conference Information
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'schedConf', 'overview')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'schedConf', 'trackPolicies')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'schedConf', 'presentations')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'schedConf', 'accommodation')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'schedConf', 'location')));
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'schedConf', 'organizingTeam')));
// Individual Papers
$publishedPapers =& $publishedPaperDao->getPublishedPapers($schedConf->getId());
while ($paper =& $publishedPapers->next()) {
// Abstract
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'paper', 'view', $paper->getId())));
// Galley files
$galleys = $galleyDao->getGalleysByPaper($paper->getId());
foreach ($galleys as $galley) {
XMLCustomWriter::appendChild($root, SitemapHandler::createUrlTree($doc, Request::url($conference->getPath(), $schedConf->getPath(), 'paper', 'view', array($paper->getId(), $galley->getId()))));
}
}
XMLCustomWriter::appendChild($doc, $root);
return $doc;
}
示例9: exportEmails
/**
* Export the selected email templates as XML
* @param $args array
* @@param $request PKPRequest
*/
function exportEmails($args, $request)
{
$this->validate();
import('lib.pkp.classes.xml.XMLCustomWriter');
$selectedEmailKeys = (array) $request->getUserVar('tplId');
if (empty($selectedEmailKeys)) {
$request->redirect(null, null, 'emails');
}
$journal = Request::getJournal();
$doc = XMLCustomWriter::createDocument();
$emailTexts = XMLCustomWriter::createElement($doc, 'email_texts');
$emailTexts->setAttribute('locale', AppLocale::getLocale());
$emailTexts->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
$emailTemplateDao = DAORegistry::getDAO('EmailTemplateDAO');
$emailTemplates = $emailTemplateDao->getEmailTemplates(AppLocale::getLocale(), $journal->getId());
foreach ($emailTemplates as $emailTemplate) {
$emailKey = $emailTemplate->getData('emailKey');
if (!in_array($emailKey, $selectedEmailKeys)) {
continue;
}
$subject = $emailTemplate->getData('subject');
$body = $emailTemplate->getData('body');
$emailTextNode = XMLCustomWriter::createElement($doc, 'email_text');
XMLCustomWriter::setAttribute($emailTextNode, 'key', $emailKey);
//append subject node
$subjectNode = XMLCustomWriter::createChildWithText($doc, $emailTextNode, 'subject', $subject, false);
XMLCustomWriter::appendChild($emailTextNode, $subjectNode);
//append body node
$bodyNode = XMLCustomWriter::createChildWithText($doc, $emailTextNode, 'body', $body, false);
XMLCustomWriter::appendChild($emailTextNode, $bodyNode);
//append email_text node
XMLCustomWriter::appendChild($emailTexts, $emailTextNode);
}
XMLCustomWriter::appendChild($doc, $emailTexts);
header("Content-Type: application/xml");
header("Cache-Control: private");
header("Content-Disposition: attachment; filename=\"email-templates-" . date('Y-m-d-H-i-s') . ".xml\"");
XMLCustomWriter::printXML($doc);
}
示例10: DOIExportDom
/**
* Constructor
* @param $request Request
* @param $plugin DOIExportPlugin
* @param $journal Journal
* @param $objectCache PubObjectCache
*/
function DOIExportDom($request, $plugin, $journal, $objectCache)
{
// Configure the DOM.
$this->_doc = XMLCustomWriter::createDocument();
$this->_request = $request;
$this->_plugin = $plugin;
$this->_journal = $journal;
$this->_cache = $objectCache;
}
示例11: exportIssues
function exportIssues(&$journal, &$issues)
{
$this->import('MetsExportDom');
$doc =& XMLCustomWriter::createDocument('', null);
$root =& XMLCustomWriter::createElement($doc, 'METS:mets');
XMLCustomWriter::setAttribute($root, 'xmlns:METS', 'http://www.loc.gov/METS/');
XMLCustomWriter::setAttribute($root, 'xmlns:xlink', 'http://www.w3.org/TR/xlink');
XMLCustomWriter::setAttribute($root, 'xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
XMLCustomWriter::setAttribute($root, 'PROFILE', 'Australian METS Profile 1.0');
XMLCustomWriter::setAttribute($root, 'TYPE', 'journal');
XMLCustomWriter::setAttribute($root, 'OBJID', 'J-' . $journal->getJournalId());
XMLCustomWriter::setAttribute($root, 'xsi:schemaLocation', 'http://www.loc.gov/METS/ http://www.loc.gov/mets/mets.xsd');
$HeaderNode =& MetsExportDom::createmetsHdr($doc);
XMLCustomWriter::appendChild($root, $HeaderNode);
MetsExportDom::generateJournalDmdSecDom($doc, $root, $journal);
$fileSec =& XMLCustomWriter::createElement($doc, 'METS:fileSec');
$fileGrpOriginal =& XMLCustomWriter::createElement($doc, 'METS:fileGrp');
XMLCustomWriter::setAttribute($fileGrpOriginal, 'USE', 'original');
$fileGrpDerivative =& XMLCustomWriter::createElement($doc, 'METS:fileGrp');
XMLCustomWriter::setAttribute($fileGrpDerivative, 'USE', 'derivative');
foreach ($issues as $issue) {
MetsExportDom::generateIssueDmdSecDom($doc, $root, $issue, $journal);
MetsExportDom::generateIssueFileSecDom($doc, $fileGrpOriginal, $issue);
MetsExportDom::generateIssueHtmlGalleyFileSecDom($doc, $fileGrpDerivative, $issue);
}
$amdSec =& MetsExportDom::createmetsamdSec($doc, $root, $journal);
XMLCustomWriter::appendChild($root, $amdSec);
XMLCustomWriter::appendChild($fileSec, $fileGrpOriginal);
XMLCustomWriter::appendChild($fileSec, $fileGrpDerivative);
XMLCustomWriter::appendChild($root, $fileSec);
MetsExportDom::generateStructMap($doc, $root, $journal, $issues);
XMLCustomWriter::appendChild($doc, $root);
header("Content-Type: application/xml");
header("Cache-Control: private");
header("Content-Disposition: attachment; filename=\"" . $journal->getPath() . "-mets.xml\"");
XMLCustomWriter::printXML($doc);
return true;
}
示例12: DOIExportDom
/**
* Constructor
* @param $request Request
* @param $plugin DOIExportPlugin
* @param $journal Journal
* @param $objectCache PubObjectCache
*/
function DOIExportDom(&$request, &$plugin, &$journal, &$objectCache)
{
// Configure the DOM.
$this->_doc =& XMLCustomWriter::createDocument();
$this->_request =& $request;
$this->_plugin =& $plugin;
$this->_journal =& $journal;
$this->_cache =& $objectCache;
}
示例13: import
function &getMetadataPage($pageNum, &$errors)
{
import('xml.XMLCustomWriter');
import('db.DBResultRange');
$journal =& Request::getJournal();
$journalId = $journal->getJournalId();
$falseVar = false;
if ($pageNum < 1) {
return $falseVar;
}
$rangeInfo =& new DBResultRange(GOOGLE_SCHOLAR_ITEMS_PER_PAGE, $pageNum);
$document =& XMLCustomWriter::createDocument('articles', 'articles.dtd');
$articlesNode =& XMLCustomWriter::createElement($document, 'articles');
XMLCustomWriter::appendChild($document, $articlesNode);
$publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
$publishedArticles =& $publishedArticleDao->getPublishedArticlesByJournalId($journalId, $rangeInfo);
$issueDao =& DAORegistry::getDAO('IssueDAO');
$issueCache = array();
while ($publishedArticle =& $publishedArticles->next()) {
$articleNode =& XMLCustomWriter::createElement($document, 'article');
XMLCustomWriter::appendChild($articlesNode, $articleNode);
$frontNode =& XMLCustomWriter::createElement($document, 'front');
XMLCustomWriter::appendChild($articleNode, $frontNode);
$journalMetaNode =& XMLCustomWriter::createElement($document, 'journal-meta');
XMLCustomWriter::appendChild($frontNode, $journalMetaNode);
// Journal Metadata
$journal =& Request::getJournal();
XMLCustomWriter::createChildWithText($document, $journalMetaNode, 'journal-title', $journal->getJournalTitle(), true);
XMLCustomWriter::createChildWithText($document, $journalMetaNode, 'abbrev-journal-title', $journal->getLocalizedSetting('initials'), false);
$issn = $journal->getSetting('onlineIssn');
if (empty($issn)) {
array_push($errors, Locale::translate('plugins.gateways.googleScholar.errors.noIssn'));
return $falseVar;
}
XMLCustomWriter::createChildWithText($document, $journalMetaNode, 'issn', $issn, false);
$publisherNode =& XMLCustomWriter::createElement($document, 'publisher');
$publisherName = $this->getSetting($journalId, 'publisher-name');
if (empty($publisherName)) {
array_push($errors, Locale::translate('plugins.gateways.googleScholar.errors.noPublisherName'));
return $falseVar;
}
XMLCustomWriter::createChildWithText($document, $publisherNode, 'publisher-name', $publisherName, true);
XMLCustomWriter::appendChild($journalMetaNode, $publisherNode);
$articleMetaNode =& XMLCustomWriter::createElement($document, 'article-meta');
XMLCustomWriter::appendChild($frontNode, $articleMetaNode);
// Article Metadata
$titleGroupNode =& XMLCustomWriter::createElement($document, 'title-group');
XMLCustomWriter::appendChild($articleMetaNode, $titleGroupNode);
$titles = $publishedArticle->getTitle(null);
$primaryLocale = $journal->getPrimaryLocale();
XMLCustomWriter::createChildWithText($document, $titleGroupNode, 'article-title', $titles[$primaryLocale], true);
unset($titles[$primaryLocale]);
foreach ($titles as $locale => $title) {
XMLCustomWriter::createChildWithText($document, $titleGroupNode, 'trans-title', $title, false);
}
$contribGroupNode =& XMLCustomWriter::createElement($document, 'contrib-group');
XMLCustomWriter::appendChild($articleMetaNode, $contribGroupNode);
foreach ($publishedArticle->getAuthors() as $author) {
$contribNode =& XMLCustomWriter::createElement($document, 'contrib');
XMLCustomWriter::appendChild($contribGroupNode, $contribNode);
XMLCustomWriter::setAttribute($contribNode, 'contrib-type', 'author');
$nameNode =& XMLCustomWriter::createElement($document, 'name');
XMLCustomWriter::appendChild($contribNode, $nameNode);
// Opatan Inc.
XMLCustomWriter::createChildWithText($document, $nameNode, 'surname', $author->getAuthorLastName(), true);
// Given names in the form: FirstName MiddleName, where MiddleName is optional
$name = $author->getAuthorFirstName();
// Opatan Inc. : gets Localized author firstName
if (($middleName = $author->getAuthorMiddleName()) != '') {
$name .= " {$middleName}";
}
// Opatan Inc.
XMLCustomWriter::createChildWithText($document, $nameNode, 'given-names', $name, true);
}
$dateParts = getdate(strtotime($publishedArticle->getDatePublished()));
$pubDateNode =& XMLCustomWriter::createElement($document, 'pub-date');
XMLCustomWriter::appendChild($articleMetaNode, $pubDateNode);
XMLCustomWriter::createChildWithText($document, $pubDateNode, 'day', $dateParts['mday']);
XMLCustomWriter::createChildWithText($document, $pubDateNode, 'month', $dateParts['mon']);
XMLCustomWriter::createChildWithText($document, $pubDateNode, 'year', $dateParts['year']);
$issueId = $publishedArticle->getIssueId();
if (!isset($issueCache[$issueId])) {
$issueCache[$issueId] =& $issueDao->getIssueById($issueId);
}
$issue =& $issueCache[$issueId];
XMLCustomWriter::createChildWithText($document, $articleMetaNode, 'volume', $issue->getVolume());
XMLCustomWriter::createChildWithText($document, $articleMetaNode, 'issue', $issue->getNumber());
$canonicalUriNode =& XMLCustomWriter::createElement($document, 'self-uri');
XMLCustomWriter::setAttribute($canonicalUriNode, 'xlink:href', Request::url(null, 'article', 'viewArticle', array($publishedArticle->getArticleId())));
XMLCustomWriter::appendChild($articleMetaNode, $canonicalUriNode);
foreach ($publishedArticle->getGalleys() as $galley) {
$galleyUriNode =& XMLCustomWriter::createElement($document, 'self-uri');
if ($galley->isHTMLGalley()) {
XMLCustomWriter::setAttribute($galleyUriNode, 'xlink:href', Request::url(null, 'article', 'viewArticle', array($publishedArticle->getArticleId(), $galley->getGalleyId())));
} else {
XMLCustomWriter::setAttribute($galleyUriNode, 'xlink:href', Request::url(null, 'article', 'viewFile', array($publishedArticle->getArticleId(), $galley->getGalleyId())));
}
XMLCustomWriter::appendChild($articleMetaNode, $galleyUriNode);
}
unset($issue);
//.........这里部分代码省略.........
示例14:
/**
* Build article XML using DOM elements
* @param $args Parameters to the plugin
*
* The DOM for this XML was developed according to the NLM
* Standard Publisher Data Format:
* http://www.ncbi.nlm.nih.gov/entrez/query/static/spec.html
*/
function &generatePubMedDom()
{
// create the output XML document in DOM with a root node
$doc =& XMLCustomWriter::createDocument('ArticleSet', PUBMED_DTD_ID, PUBMED_DTD_URL);
return $doc;
}
示例15: foreach
function &exportUsers(&$journal, &$users, $allowedRoles = null)
{
$roleDao =& DAORegistry::getDAO('RoleDAO');
$doc =& XMLCustomWriter::createDocument('users', USERS_DTD_ID, USERS_DTD_URL);
$root =& XMLCustomWriter::createElement($doc, 'users');
foreach ($users as $user) {
$userNode =& XMLCustomWriter::createElement($doc, 'user');
XMLCustomWriter::createChildWithText($doc, $userNode, 'username', $user->getUserName(), false);
$passwordNode =& XMLCustomWriter::createChildWithText($doc, $userNode, 'password', $user->getPassword());
XMLCustomWriter::setAttribute($passwordNode, 'encrypted', Config::getVar('security', 'encryption'));
XMLCustomWriter::createChildWithText($doc, $userNode, 'salutation', $user->getSalutation(), false);
XMLCustomWriter::createChildWithText($doc, $userNode, 'first_name', $user->getFirstName());
XMLCustomWriter::createChildWithText($doc, $userNode, 'middle_name', $user->getMiddleName(), false);
XMLCustomWriter::createChildWithText($doc, $userNode, 'last_name', $user->getLastName());
XMLCustomWriter::createChildWithText($doc, $userNode, 'initials', $user->getInitials(), false);
XMLCustomWriter::createChildWithText($doc, $userNode, 'gender', $user->getGender(), false);
XMLCustomWriter::createChildWithText($doc, $userNode, 'email', $user->getEmail());
XMLCustomWriter::createChildWithText($doc, $userNode, 'url', $user->getUrl(), false);
XMLCustomWriter::createChildWithText($doc, $userNode, 'phone', $user->getPhone(), false);
XMLCustomWriter::createChildWithText($doc, $userNode, 'fax', $user->getFax(), false);
XMLCustomWriter::createChildWithText($doc, $userNode, 'mailing_address', $user->getMailingAddress(), false);
XMLCustomWriter::createChildWithText($doc, $userNode, 'country', $user->getCountry(), false);
if (is_array($user->getAffiliation(null))) {
foreach ($user->getAffiliation(null) as $locale => $value) {
$affiliationNode =& XMLCustomWriter::createChildWithText($doc, $userNode, 'affiliation', $value, false);
if ($affiliationNode) {
XMLCustomWriter::setAttribute($affiliationNode, 'locale', $locale);
}
unset($affiliationNode);
}
}
if (is_array($user->getSignature(null))) {
foreach ($user->getSignature(null) as $locale => $value) {
$signatureNode =& XMLCustomWriter::createChildWithText($doc, $userNode, 'signature', $value, false);
if ($signatureNode) {
XMLCustomWriter::setAttribute($signatureNode, 'locale', $locale);
}
unset($signatureNode);
}
}
$interestsNode =& XMLCustomWriter::createChildWithText($doc, $userNode, 'interests', $user->getInterests(), false);
if ($interestsNode) {
XMLCustomWriter::setAttribute($interestsNode, 'locale', $locale);
}
if (is_array($user->getGossip(null))) {
foreach ($user->getGossip(null) as $locale => $value) {
$gossipNode =& XMLCustomWriter::createChildWithText($doc, $userNode, 'gossip', $value, false);
if ($gossipNode) {
XMLCustomWriter::setAttribute($gossipNode, 'locale', $locale);
}
unset($gossipNode);
}
}
if (is_array($user->getBiography(null))) {
foreach ($user->getBiography(null) as $locale => $value) {
$biographyNode =& XMLCustomWriter::createChildWithText($doc, $userNode, 'biography', $value, false);
if ($biographyNode) {
XMLCustomWriter::setAttribute($biographyNode, 'locale', $locale);
}
unset($biographyNode);
}
}
XMLCustomWriter::createChildWithText($doc, $userNode, 'locales', join(':', $user->getLocales()), false);
$roles =& $roleDao->getRolesByUserId($user->getId(), $journal->getId());
foreach ($roles as $role) {
$rolePath = $role->getRolePath();
if ($allowedRoles !== null && !in_array($rolePath, $allowedRoles)) {
continue;
}
$roleNode =& XMLCustomWriter::createElement($doc, 'role');
XMLCustomWriter::setAttribute($roleNode, 'type', $rolePath);
XMLCustomWriter::appendChild($userNode, $roleNode);
unset($roleNode);
}
XMLCustomWriter::appendChild($root, $userNode);
}
XMLCustomWriter::appendChild($doc, $root);
return $doc;
}