Open Journal Systems  3.3.0
Bibliography.php
1 <?php
2 /*
3  * citeproc-php
4  *
5  * @link http://github.com/seboettg/citeproc-php for the source repository
6  * @copyright Copyright (c) 2016 Sebastian Böttger.
7  * @license https://opensource.org/licenses/MIT
8  */
9 
11 
17 use SimpleXMLElement;
18 
32 {
33  private $node;
34 
41  public function __construct(SimpleXMLElement $node, Root $parent)
42  {
43  parent::__construct($node, $parent);
44  $this->node = $node;
45  $bibliographyOptions = new BibliographyOptions($node);
46  CiteProc::getContext()->setBibliographySpecificOptions($bibliographyOptions);
47  $this->initInheritableNameAttributes($node);
48  }
49 
55  public function render($data, $citationNumber = null)
56  {
57  if (!$this->attributesInitialized) {
58  $this->initInheritableNameAttributes($this->node);
59  }
60  $subsequentAuthorSubstitute = CiteProc::getContext()
61  ->getBibliographySpecificOptions()
62  ->getSubsequentAuthorSubstitute();
63 
64  $subsequentAuthorSubstituteRule = CiteProc::getContext()
65  ->getBibliographySpecificOptions()
66  ->getSubsequentAuthorSubstituteRule();
67 
68  if ($subsequentAuthorSubstitute !== null && !empty($subsequentAuthorSubstituteRule)) {
70  ->getCitationItems()
71  ->setSubsequentAuthorSubstitute($subsequentAuthorSubstitute);
73  ->getCitationItems()
74  ->setSubsequentAuthorSubstituteRule($subsequentAuthorSubstituteRule);
75  }
76  return $this->layout->render($data, $citationNumber);
77  }
78 }
Seboettg\CiteProc\Style\Bibliography\__construct
__construct(SimpleXMLElement $node, Root $parent)
Definition: Bibliography.php:41
Seboettg\CiteProc\Exception\InvalidStylesheetException
Definition: InvalidStylesheetException.php:10
Seboettg\CiteProc\Style\initInheritableNameAttributes
initInheritableNameAttributes(SimpleXMLElement $node)
Definition: InheritableNameAttributesTrait.php:273
Seboettg\CiteProc\Style\Bibliography
Definition: Bibliography.php:31
Seboettg\CiteProc\CiteProc
Definition: CiteProc.php:32
Seboettg\CiteProc\Style\StyleElement
Definition: StyleElement.php:30
Seboettg\CiteProc\Root\Root
Definition: Root.php:19
Seboettg\CiteProc\Style\Options\BibliographyOptions
Definition: BibliographyOptions.php:19
Seboettg\CiteProc\Style\StyleElement\$parent
$parent
Definition: StyleElement.php:50
Seboettg\CiteProc\Style\Bibliography\render
render($data, $citationNumber=null)
Definition: Bibliography.php:55
Seboettg\CiteProc\Data\DataList
Definition: DataList.php:22
Seboettg\CiteProc\CiteProc\getContext
static getContext()
Definition: CiteProc.php:45
Seboettg\CiteProc\Style
Definition: Bibliography.php:10