doi_datacite.xslt: put 'affiliation' afte 'nameIdentifier'
- EditotController.php: add addAlternateLandingPageAttribute for doir registration - RequestController.php: show correct alternaeIdentifier
This commit is contained in:
parent
76b351fb73
commit
2e1cca030b
|
@ -609,7 +609,9 @@ class RequestController extends Controller
|
||||||
*/
|
*/
|
||||||
private function addLandingPageAttribute(\DOMNode $document, $dataid)
|
private function addLandingPageAttribute(\DOMNode $document, $dataid)
|
||||||
{
|
{
|
||||||
$url = route('frontend.dataset.show', $dataid);
|
// $url = route('frontend.dataset.show', $dataid);
|
||||||
|
$base_domain = config('tethys.base_domain');
|
||||||
|
$url ='https://' . get_domain($base_domain) . "/dataset/" . $dataid;
|
||||||
|
|
||||||
$owner = $document->ownerDocument;
|
$owner = $document->ownerDocument;
|
||||||
$attr = $owner->createAttribute('landingpage');
|
$attr = $owner->createAttribute('landingpage');
|
||||||
|
|
|
@ -28,6 +28,7 @@ use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Support\Facades\View;
|
use Illuminate\Support\Facades\View;
|
||||||
use \Exception;
|
use \Exception;
|
||||||
use Illuminate\Support\Facades\Config;
|
use Illuminate\Support\Facades\Config;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
use App\Models\DatasetIdentifier;
|
use App\Models\DatasetIdentifier;
|
||||||
use App\Models\Oai\OaiModelError;
|
use App\Models\Oai\OaiModelError;
|
||||||
|
@ -62,7 +63,7 @@ class EditorController extends Controller
|
||||||
$this->doiClient = $DoiClient;
|
$this->doiClient = $DoiClient;
|
||||||
|
|
||||||
//$this->middleware('auth');
|
//$this->middleware('auth');
|
||||||
$this->xml = new \DomDocument();
|
$this->xml = new \DomDocument('1.0', 'UTF-8');
|
||||||
$this->proc = new \XSLTProcessor();
|
$this->proc = new \XSLTProcessor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -701,6 +702,7 @@ class EditorController extends Controller
|
||||||
$cache = ($dataset->xmlCache) ? $dataset->xmlCache : new \App\Models\XmlCache();
|
$cache = ($dataset->xmlCache) ? $dataset->xmlCache : new \App\Models\XmlCache();
|
||||||
$xmlModel->setXmlCache($cache);
|
$xmlModel->setXmlCache($cache);
|
||||||
$domNode = $xmlModel->getDomDocument()->getElementsByTagName('Rdr_Dataset')->item(0);
|
$domNode = $xmlModel->getDomDocument()->getElementsByTagName('Rdr_Dataset')->item(0);
|
||||||
|
$this->addAlternateLandingPageAttribute($domNode, $dataset->publish_id);
|
||||||
$node = $this->xml->importNode($domNode, true);
|
$node = $this->xml->importNode($domNode, true);
|
||||||
$this->addSpecInformation($node, 'data-type:' . $dataset->type);
|
$this->addSpecInformation($node, 'data-type:' . $dataset->type);
|
||||||
|
|
||||||
|
@ -742,6 +744,24 @@ class EditorController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the landingpage attribute to Rdr_Dataset XML output.
|
||||||
|
*
|
||||||
|
* @param \DOMNode $document Rdr_Dataset XML serialisation
|
||||||
|
* @param string $docid Id of the dataset
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
private function addAlternateLandingPageAttribute(\DOMNode $document, $dataid)
|
||||||
|
{
|
||||||
|
$base_domain = config('tethys.base_domain');
|
||||||
|
$url ='https://' . get_domain($base_domain) . "/dataset/" . $dataid;
|
||||||
|
|
||||||
|
$owner = $document->ownerDocument;
|
||||||
|
$attr = $owner->createAttribute('landingpage');
|
||||||
|
$attr->appendChild($owner->createTextNode($url));
|
||||||
|
$document->appendChild($attr);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load an xslt stylesheet.
|
* Load an xslt stylesheet.
|
||||||
*
|
*
|
||||||
|
@ -749,7 +769,7 @@ class EditorController extends Controller
|
||||||
*/
|
*/
|
||||||
private function loadStyleSheet($stylesheet)
|
private function loadStyleSheet($stylesheet)
|
||||||
{
|
{
|
||||||
$this->xslt = new \DomDocument;
|
$this->xslt = new \DomDocument('1.0', 'UTF-8');
|
||||||
$this->xslt->load($stylesheet);
|
$this->xslt->load($stylesheet);
|
||||||
$this->proc->importStyleSheet($this->xslt);
|
$this->proc->importStyleSheet($this->xslt);
|
||||||
if (isset($_SERVER['HTTP_HOST'])) {
|
if (isset($_SERVER['HTTP_HOST'])) {
|
||||||
|
|
|
@ -350,13 +350,20 @@
|
||||||
<familyName>
|
<familyName>
|
||||||
<xsl:value-of select="@LastName" />
|
<xsl:value-of select="@LastName" />
|
||||||
</familyName>
|
</familyName>
|
||||||
<affiliation>GBA</affiliation>
|
<xsl:if test="@IdentifierOrcid != ''">
|
||||||
</xsl:if>
|
|
||||||
|
|
||||||
<xsl:if test="@IdentifierOrcid != ''">
|
|
||||||
<nameIdentifier schemeURI="http://orcid.org/" nameIdentifierScheme="ORCID">
|
<nameIdentifier schemeURI="http://orcid.org/" nameIdentifierScheme="ORCID">
|
||||||
<xsl:value-of select="@IdentifierOrcid" />
|
<xsl:value-of select="@IdentifierOrcid" />
|
||||||
</nameIdentifier>
|
</nameIdentifier>
|
||||||
|
</xsl:if>
|
||||||
|
<affiliation>GBA</affiliation>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<xsl:if test="@NameType = 'Organizational'">
|
||||||
|
<xsl:if test="@IdentifierOrcid != ''">
|
||||||
|
<nameIdentifier schemeURI="http://orcid.org/" nameIdentifierScheme="ORCID">
|
||||||
|
<xsl:value-of select="@IdentifierOrcid" />
|
||||||
|
</nameIdentifier>
|
||||||
|
</xsl:if>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
<!--
|
<!--
|
||||||
<nameType><xsl:value-of select="@NameType" /></nameType>
|
<nameType><xsl:value-of select="@NameType" /></nameType>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user