zotero-translators/Brill.js
Marielle Volz ea95b99d0c Update Zotero translators to f88a29b
Squashed commit of the following:

commit f88a29b3f03136d3e42020b8579726dbf9b17652
Author: zoe-translates <zoe.ma@pm.me>
Date:   Mon Sep 18 09:46:48 2023 +0800

    ClinicalTrials.gov: Don't use Array#at(); don't reinvent ZU.strToISO() (#3139)

commit e9a6b958c87d698004cedc07425cd0b3e10966ce
Author: zoe-translates <zoe.ma@pm.me>
Date:   Mon Sep 18 09:41:16 2023 +0800

    IPCC: Use final versions of AR6 WG2 chapters in PDF attachments (#3143)

commit 0f67da4c73506145a4ffadb3dd19df329516300c
Author: Sebastian Karcher <karcher@u.northwestern.edu>
Date:   Sun Sep 17 06:45:58 2023 -0400

    Fix for EBSCO DL (#3138)

    https://forums.zotero.org/discussion/107688/zotero-connector-ebsco-discovery-service/p1

    Only have the one guest access, but looks like this is really just a change in the bas URL.

commit 5f7e0bd99f6d31b2850bfe3ef96ae271bab03ef5
Author: Jacob Lee <jacoblee628@gmail.com>
Date:   Fri Sep 15 18:59:13 2023 -0700

    Encyclopedia of Korean Culture (#3122)

commit fdcacbd9accdec9f43365373aa09889521f7c1c0
Author: Sebastian Karcher <karcher@u.northwestern.edu>
Date:   Fri Sep 15 16:56:06 2023 -0400

    Scopus: Update for new search interface (#3120)

commit 42e14d3be0dd09170a0c7792386cbae942ef048a
Author: Abe Jellinek <jellinek@berkeley.edu>
Date:   Fri Sep 15 16:39:10 2023 -0400

    Add Câmara Brasileira do Livro ISBN search (#3091)

commit 868a29413d94006cfc018b190a10f0b45a28815b
Author: zoe-translates <zoe.ma@pm.me>
Date:   Wed Sep 13 22:28:34 2023 +0800

    New translator: Bosworth-Toller dictionary of Old English (#3027)

commit 7363e03f7701345712d395aa3a6fb693d635ec84
Author: zoe-translates <zoe.ma@pm.me>
Date:   Wed Sep 13 22:27:07 2023 +0800

    Boston Review: Fix broken translator; remove FW code (#3106)

commit 9868aebb9edd42226287fc6929464bf59dff2ea5
Author: Marielle Volz <marielle.volz@gmail.com>
Date:   Wed Sep 13 15:24:36 2023 +0100

    Wikidata: Skip linked resources that contain no RDF metadata (#3109)

commit 5187948c67b07cacdcc2ab89145a903bdb80263e
Author: Dan Stillman <dstillman@zotero.org>
Date:   Fri Aug 25 01:02:47 2023 -0400

    Library of Congress ISBN: Use the new HTTPS endpoint

commit 1fcdcbaa9f3cefac20424b22b338fb24c29c3aeb
Author: zoe-translates <zoe.ma@pm.me>
Date:   Thu Aug 24 23:28:22 2023 +0800

    Climate Change and Human Health Literature Portal: Fix errors (#3111)

commit 56f29b887705ddcf76b1382d3d98c4d8b9728cd5
Author: zoe-translates <zoe.ma@pm.me>
Date:   Thu Aug 24 23:27:31 2023 +0800

    APA PsychNet: Prevent flooding when saving multiple; lint cleanup (#3115)

commit 3e73b583eb9afd3fb595c0c71cce6a3b1cbed5af
Author: zoe-translates <zoe.ma@pm.me>
Date:   Thu Aug 24 23:25:27 2023 +0800

    Foreign Affairs: multiple bugfixes (#3119)

commit 4c39a47b0fd294f35d486602facd461c318162f1
Author: Abe Jellinek <jellinek@berkeley.edu>
Date:   Thu Aug 24 11:19:36 2023 -0400

    ProQuest: Update PDF link selector

    https://forums.zotero.org/discussion/107136/zotero-connector-proquest-connector-not-importing-pdf-file

commit 70aa1e20769bbe97ac7f14c4cfc11bfafef65549
Author: Sebastian Karcher <karcher@u.northwestern.edu>
Date:   Thu Aug 24 05:38:28 2023 -0400

    Add AquaDocs (#2934)

    Requested: https://fediscience.org/@thalassa/109303603306517407

    Much of the DC data is not actually in the page header & not in the default output formats, so going through the XML.

commit 0145a6d1e715ca0fd43ffa1e7186c2d45deb0391
Author: zoe-translates <zoe.ma@pm.me>
Date:   Wed Aug 23 16:12:08 2023 +0800

    Preprints.org: Avoid flooding with multiples; update element for outlink (#3117)

    - Avoid flooding when saving multiples; cf. #2983
    - Don't access members of null (result of unmatched selector); this is
      caused by the change to site layout and content for preprints with
      peer-reviewed version.

commit 2e467e0478b6a9d2af05f308081b491c46b8790f
Author: zoe-translates <zoe.ma@pm.me>
Date:   Tue Aug 22 13:24:28 2023 +0800

    ESLint rules: Add "ericNumber" to the allowed keys for search translator (#3114)

    This prevents the spurious lint errors in ERIC.js caused by the key
    "ericNumber".

commit a4596b55407609744802bb2610d811b5391d01c7
Author: zoe-translates <zoe.ma@pm.me>
Date:   Tue Aug 22 13:24:18 2023 +0800

    ERIC: fix flooding when saving multiple items from search results (#3113)

    Cf. #2983

commit 999764abc2df5f7650fde35a0814117400393b3a
Author: Dan Stillman <dstillman@zotero.org>
Date:   Fri Aug 18 05:22:35 2023 -0400

    DOI: Update timestamp again

commit 083c9e0d79cf1807867c2e5b17e231fed82a4c65
Author: Dan Stillman <dstillman@zotero.org>
Date:   Fri Aug 18 05:15:25 2023 -0400

    DOI: Update timestamp

commit 937f29704a6469010de3207ee38e9f343ea81a96
Author: Dan Stillman <dstillman@zotero.org>
Date:   Fri Aug 18 05:07:20 2023 -0400

    Revert "DOI web overhaul (#3015)"

    Probably causing https://forums.zotero.org/discussion/comment/441290/#Comment_441290

    This reverts commit 07bbb58919b6f5907374b61bf15ce9ea4e30c1fa.

commit a847b8984c3fb73d2cb1d2be8a5bdaa6ee23f09a
Author: zoe-translates <zoe.ma@pm.me>
Date:   Fri Aug 18 04:21:21 2023 +0800

    New York Review of Books: Fix translator broken by site updates (#3094)

commit 8ce9ce194de4863f1bfe0208fe12fe9261872037
Merge: 5112951e daaa6038
Author: Abe Jellinek <jellinek@berkeley.edu>
Date:   Thu Aug 17 16:14:51 2023 -0400

    Merge pull request #3083 from zoe-translates/embedded-metadata-optional-search-body-for-meta

commit daaa60382dfe7ffbc074fe1f8196116580f1228a
Author: Abe Jellinek <jellinek@berkeley.edu>
Date:   Thu Aug 17 16:04:10 2023 -0400

    Brill: Always set searchForMetaTagsInBody = true

commit 5112951e9989b0f4d0f2bceb1f58e2cf3e337453
Author: zoe-translates <zoe.ma@pm.me>
Date:   Fri Aug 18 03:58:00 2023 +0800

    Al-Sharekh: Fix detection of multiples; asyncify (#3084)

commit de71137dc66915ab005631ae6c5ff3c06e69c27e
Author: zoe-translates <zoe.ma@pm.me>
Date:   Fri Aug 18 03:28:56 2023 +0800

    index.d.ts: Remove declarations of functions moved to internal namespace (#3093)

commit 5a6bf029612a128abd6aaf11f45a02727c9832ba
Author: zoe-translates <zoe.ma@pm.me>
Date:   Fri Aug 18 03:15:06 2023 +0800

    New translator: Literary Hub (#2991)

commit 07bbb58919b6f5907374b61bf15ce9ea4e30c1fa
Author: zoe-translates <zoe.ma@pm.me>
Date:   Fri Aug 18 03:13:55 2023 +0800

    DOI web overhaul (#3015)

commit 839a1b74be26531d62bd306c3d9c99a3e5d0db5d
Author: Brendan O'Connell <68507084+brendan-oconnell@users.noreply.github.com>
Date:   Thu Aug 17 20:59:40 2023 +0200

    Add COBISS library catalog (#2985)

    Co-authored-by: Abe Jellinek <jellinek@berkeley.edu>

commit 51ed2d95dac3aa07c75a8b2aedbe51cb8b08b074
Author: Abe Jellinek <jellinek@berkeley.edu>
Date:   Thu Aug 17 14:36:16 2023 -0400

    Twitter fixup: Non-capturing group

commit f15c4238a9400a8d272f752de9daa17828b8e1dc
Author: Abe Jellinek <jellinek@berkeley.edu>
Date:   Thu Aug 17 14:30:22 2023 -0400

    Twitter: Update regex

    Sorry, I mean X.

    https://forums.zotero.org/discussion/107010/zotero-connector-twitter-x-translator-seems-broken

commit 2928aa1bc47ba21e997a6b91acc2ca2fb5b28e71
Author: Abe Jellinek <jellinek@berkeley.edu>
Date:   Thu Aug 17 11:06:10 2023 -0400

    RERO ILS: Fix and update tests

    - Detect more item types using existing mapping
    - Handle more cases where creator metadata has been moved to an external
      JSON document
    - Update tests

    https://forums.zotero.org/discussion/106951/rero-ils-site-translator-broken

commit 61558f8a7b6c9cfa65342f4e81f612354c235593
Author: zoe-translates <116055375+zoe-translates@users.noreply.github.com>
Date:   Thu Jul 20 13:21:56 2023 +0800

    [Minor] Fix an ESLint warning for unused parameter in function

commit 2682e4c58adc850a818f28c04fc5434d56d43f6b
Author: zoe-translates <116055375+zoe-translates@users.noreply.github.com>
Date:   Thu Jul 20 13:03:57 2023 +0800

    EM: Workaround for <meta> from head ending up in body due to invalid HTML

    A fairly common consequence of being served invalid HTML is that after
    parsing, <meta> elements that should have gone into the <head> end up in
    the <body> in the output of DOM parser.

    This breaks the EM translator which only looks for <meta> tags that are
    immediate descendants of <head> -- the sensible behaviour for
    well-behaving documents.

    To work around this issue, the default behaviour is not changed, and a
    configurable flag is introduced to override it.

    When the `searchForMetaTagsInBody` property is set to true, <meta> tags
    will be searched for in the immediate descendants of <body>.

    With this workaround, Web translators that calls the EM translator don't
    have to manipulate the document by putting <meta> elements into the
    head manually.

    This reduces the likelihood of unintentionally mutating the DOM, and it
    keeps the EM-based translator code's cleaner.

    A real-world example is the Brill translator, also fixed in this commit.

commit 9180801bd84f6026916b457e7e0b97bd56f08d29
Author: Alex Tereschenko <alex-ter@users.noreply.github.com>
Date:   Mon Aug 14 12:31:41 2023 +0200

    ePrint: refactor to modernize, fix issues, and add functionality (#3079)

commit e1241286b1c5471a0d63092704f62b739f9fceef
Author: morganfshirley <morganfshirley@gmail.com>
Date:   Mon Aug 14 03:30:27 2023 -0700

    Updated Electronic Colloquium on Computational Complexity translator (#3040)

commit c3c67911ff9d5d85b2248bd4dd0537c1a1231382
Author: Sebastian Karcher <karcher@u.northwestern.edu>
Date:   Mon Aug 14 10:27:33 2023 +0200

    Fix linting on NLoP (#3051)
2023-09-18 10:13:53 +01:00

456 行
14 KiB
JavaScript

{
"translatorID": "6d087de8-f858-4ac5-9fbd-2bf2b35ee41a",
"label": "Brill",
"creator": "Abe Jellinek",
"target": "^https?://(www\\.|referenceworks\\.|bibliographies\\.)?brill(online)?\\.com/",
"minVersion": "3.0",
"maxVersion": "",
"priority": 100,
"inRepository": true,
"translatorType": 4,
"browserSupport": "gcsibv",
"lastUpdated": "2023-08-17 20:03:38"
}
/*
***** BEGIN LICENSE BLOCK *****
Copyright © 2021 Abe Jellinek
This file is part of Zotero.
Zotero is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Zotero 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with Zotero. If not, see <http://www.gnu.org/licenses/>.
***** END LICENSE BLOCK *****
*/
function detectWeb(doc, url) {
if (doc.querySelector('meta[name="citation_title"]')) {
if (url.includes('/journals/')) {
return 'journalArticle';
}
else if (url.includes('referenceworks.brillonline.com/entries/')) {
return 'encyclopediaArticle';
}
else {
return 'book';
}
}
else if (url.includes('bibliographies.brillonline.com/entries/')
&& doc.querySelector('#export-form')) {
return 'journalArticle';
}
else if (getSearchResults(doc, true)) {
return "multiple";
}
return false;
}
function getSearchResults(doc, checkOnly) {
var items = {};
var found = false;
var rows = doc.querySelectorAll('#searchContent .text-headline a, .type-article .text-headline a, .result-item .book-title a');
for (let row of rows) {
let href = row.href;
let title = ZU.trimInternal(row.textContent);
if (!href || !title) continue;
if (checkOnly) return true;
found = true;
items[href] = title;
}
return found ? items : false;
}
function doWeb(doc, url) {
if (detectWeb(doc, url) == "multiple") {
Zotero.selectItems(getSearchResults(doc, false), function (items) {
if (items) ZU.processDocuments(Object.keys(items), scrape);
});
}
else {
scrape(doc, url);
}
}
function scrape(doc, url) {
if (url.includes('bibliographies.brillonline.com/entries/')) {
scrapeBibliography(doc);
return;
}
var translator = Zotero.loadTranslator('web');
// Embedded Metadata
translator.setTranslator('951c027d-74ac-47d4-a107-9c3069ab7b48');
translator.setDocument(doc);
translator.setHandler('itemDone', function (obj, item) {
if (item.date) {
item.date = ZU.strToISO(item.date);
}
if (item.itemType == 'journalArticle' && item.section) {
delete item.section;
}
if (item.itemType == 'book' && item.publicationTitle) {
delete item.publicationTitle;
}
if (item.abstractNote && item.abstractNote.endsWith('by Brill.')) {
delete item.abstractNote;
}
if (!item.creators.length) {
// editors often don't make it into the EM
for (let editor of doc.querySelectorAll('.content-contributor-editor a')) {
item.creators.push(ZU.cleanAuthor(editor.textContent, 'editor'));
}
}
if (item.attachments.length > 1) {
// only remove snapshot if we get a PDF
item.attachments = item.attachments.filter(at => at.title != 'Snapshot');
}
item.complete();
});
translator.getTranslatorObject(function (trans) {
if (url.includes('referenceworks.brillonline.com/entries/')) {
trans.itemType = 'encyclopediaArticle';
}
// Brill's HTML is structured incorrectly due to a bug in the
// Pubfactory CMS, and it causes some parsers to put the <meta>
// tags in the body. We'll fix it by telling EM to work around it.
trans.searchForMetaTagsInBody = true;
trans.doWeb(doc, url);
});
}
function scrapeBibliography(doc) {
let params = new URLSearchParams({
entryId: attr(doc, 'input[name="entryId"]', 'value'),
dest: attr(doc, 'input[name="dest"]', 'value')
}).toString();
ZU.doPost('/export/exportRis', params, function (ris) {
var translator = Zotero.loadTranslator("import");
translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); // RIS
translator.setString(ris);
translator.setHandler("itemDone", function (obj, item) {
if (item.journalAbbreviation == item.publicationTitle) {
delete item.journalAbbreviation;
}
if (item.url) {
item.url = item.url.replace(':443', '');
}
item.complete();
});
translator.translate();
});
}
/** BEGIN TEST CASES **/
var testCases = [
{
"type": "web",
"url": "https://brill.com/view/journals/afdi/5/1/article-p27_3.xml",
"items": [
{
"itemType": "journalArticle",
"title": "African Trading Post in Guangzhou: Emergent or Recurrent Commercial Form?",
"creators": [
{
"firstName": "Sylvie",
"lastName": "Bredeloup",
"creatorType": "author"
}
],
"date": "2012-01-01",
"DOI": "10.1163/187254612X646206",
"ISSN": "1872-5457, 1872-5465",
"abstractNote": "Abstract In the early 2000s, nationals of Sub-Saharan Africa who had settled in the market places of Hong Kong, Bangkok, Jakarta, and Kuala Lumpur, moved to Guangzhou and opened offices in the upper floors of buildings in Baiyun and Yuexiu Districts. These were located in the northwest of the city, near the central railway station and one of the two fairs of Canton. Gradually these traders were able to create the necessary conditions of hospitality by opening community restaurants on upper floors, increasing the number of showrooms and offices as well as the services of freight and customs clearance in order to live up to an African itinerant customer’s expectations. From interviews carried out between 2006 and 2009 in the People’s Republic of China and in Hong Kong, Bangkok, Dubai, and West Africa, the article will first highlight the economic logics which have contributed to the constitution of African trading posts in China and describe their extension from the Middle East and from Asia. The second part will determine the respective roles of migrants and traveling Sub-Saharan entrepreneurs, before exploring their interactions with Chinese society in the setting up of these commercial networks. It will also look at the impact of toughening immigration policies. It is the principle of the African trading posts of anchoring of some traders in strategic places negotiated with the host society that allows the movement but also the temporary settlement of many visitors. The first established traders purchase products manufactured in the hinterland to fulfill the demand of the itinerant merchants who in turn supply customers located in other continents.",
"issue": "1",
"language": "en",
"libraryCatalog": "brill.com",
"pages": "27-50",
"publicationTitle": "African Diaspora",
"shortTitle": "African Trading Post in Guangzhou",
"url": "https://brill.com/view/journals/afdi/5/1/article-p27_3.xml",
"volume": "5",
"attachments": [
{
"title": "Full Text PDF",
"mimeType": "application/pdf"
}
],
"tags": [
{
"tag": "African entrepreneurs"
},
{
"tag": "African migration"
},
{
"tag": "Guangzhou"
},
{
"tag": "comptoir commercial"
},
{
"tag": "entrepreneurs africains"
},
{
"tag": "migration africaine"
},
{
"tag": "trading post"
}
],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "https://brill.com/search?q2=ottoman+missionary",
"items": "multiple"
},
{
"type": "web",
"url": "https://brill.com/view/journals/jal/49/3/article-p171_1.xml",
"items": [
{
"itemType": "journalArticle",
"title": "The Arabic Adventures of Télémaque: Trajectory of a Global Enlightenment Text in the Nahḍah",
"creators": [
{
"firstName": "Peter",
"lastName": "Hill",
"creatorType": "author"
}
],
"date": "2018-08-17",
"DOI": "10.1163/1570064x-12341367",
"ISSN": "0085-2376, 1570-064x",
"abstractNote": "Abstract The Marquis de Fénelon’s internationally popular didactic narrative, Les aventures de Télémaque, went through a remarkable number of metamorphoses in the Nahḍah, the Arab world’s cultural revival movement of the long nineteenth century. This article examines two early manuscript translations by Syrian Christian writers in the 1810s, the rhymed prose version by Rifāʿah Rāfiʿ al-Ṭahṭāwī in the 1860s; its rewriting by Shāhīn ʿAṭiyyah in 1885; and Saʿdallāh al-Bustānī’s musical drama of 1869, the basis for performances later in the century by the famous actor Salāmah Ḥijāzī. Placing Télémaque’s Arabic trajectory within its global vogue in the Enlightenment suggests ways of reading the Nahḍah between theories of world literature and ‘transnational mass-texts’, and more specific local histories of translation and literary adaptation. The ambiguity of Télémaque, its hybrid and transitional form, was important to its success in milieux facing analogous kinds of hybridity and transition—among them those of the Arab Nahḍah.",
"issue": "3",
"language": "en",
"libraryCatalog": "brill.com",
"pages": "171-203",
"publicationTitle": "Journal of Arabic Literature",
"shortTitle": "The Arabic Adventures of Télémaque",
"url": "https://brill.com/view/journals/jal/49/3/article-p171_1.xml",
"volume": "49",
"attachments": [
{
"title": "Full Text PDF",
"mimeType": "application/pdf"
}
],
"tags": [
{
"tag": "Arab theater"
},
{
"tag": "Beirut"
},
{
"tag": "Cairo"
},
{
"tag": "Enlightenment"
},
{
"tag": "Fénelon"
},
{
"tag": "Nahḍah"
},
{
"tag": "adaptation"
},
{
"tag": "translation"
},
{
"tag": "world literature"
}
],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "https://brill.com/view/title/58302",
"items": [
{
"itemType": "book",
"title": "Encyclopaedia of Islam - Three 2021-3",
"creators": [
{
"firstName": "Kate",
"lastName": "Fleet",
"creatorType": "editor"
},
{
"firstName": "Gudrun",
"lastName": "Krämer",
"creatorType": "editor"
},
{
"firstName": "Denis",
"lastName": "Matringe",
"creatorType": "editor"
},
{
"firstName": "John",
"lastName": "Nawas",
"creatorType": "editor"
},
{
"firstName": "Everett",
"lastName": "Rowson",
"creatorType": "editor"
}
],
"date": "2021-04-30",
"ISBN": "9789004435957",
"language": "en",
"libraryCatalog": "brill.com",
"publisher": "Brill",
"url": "https://brill.com/view/title/58302",
"attachments": [
{
"title": "Snapshot",
"mimeType": "text/html"
}
],
"tags": [
{
"tag": "General"
},
{
"tag": "Middle East and Islamic Studies"
}
],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "https://brill.com/view/journals/ejjs/15/2/ejjs.15.issue-2.xml",
"items": "multiple"
},
{
"type": "web",
"url": "https://referenceworks.brillonline.com/entries/encyclopaedia-iranica-online/abaev-vasilii-ivanovich-COM_362360",
"items": [
{
"itemType": "encyclopediaArticle",
"title": "ABAEV, VASILIĬ IVANOVICH",
"creators": [
{
"firstName": "Ilya",
"lastName": "Yakubovich",
"creatorType": "author"
}
],
"date": "2021-05-10",
"encyclopediaTitle": "Encyclopaedia Iranica Online",
"language": "en",
"libraryCatalog": "referenceworks.brillonline.com",
"publisher": "Brill",
"url": "https://referenceworks.brillonline.com/entries/encyclopaedia-iranica-online/abaev-vasilii-ivanovich-COM_362360",
"attachments": [
{
"title": "Snapshot",
"mimeType": "text/html"
}
],
"tags": [],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "https://referenceworks.brillonline.com/browse/encyclopaedia-iranica-online/alpha/e",
"items": "multiple"
},
{
"type": "web",
"url": "https://bibliographies.brillonline.com/entries/bibliography-of-slavic-linguistics/perspektive-proucavanja-alhamijado-pismenosti-projekt-transkripcije-i-transliteracije-alhamijado-tekstova-lb900000427509?s.num=0&s.f.s2_parent=s.f.book.bibliography-of-slavic-linguistics&s.keywords=%22Abjad%22",
"items": [
{
"itemType": "journalArticle",
"title": "Perspektive proučavanja alhamijado pismenosti : projekt transkripcije i transliteracije alhamijado tekstova",
"creators": [
{
"lastName": "Kalajdžija",
"firstName": "Alen",
"creatorType": "author"
}
],
"date": "2014",
"language": "English",
"libraryCatalog": "Brill",
"pages": "421-430",
"publicationTitle": "Prilozi za orijentalnu filologiju = Contributions to Oriental Philology = Revue de Philologie Orientale",
"shortTitle": "Perspektive proučavanja alhamijado pismenosti",
"url": "https://bibliographies.brillonline.com/entries/bibliography-of-slavic-linguistics/perspektive-proucavanja-alhamijado-pismenosti-projekt-transkripcije-i-transliteracije-alhamijado-tekstova-lb900000427509",
"volume": "64",
"attachments": [],
"tags": [
{
"tag": "Abjad"
},
{
"tag": "Script, orthography"
},
{
"tag": "Serbo-Croatian (Serbian, Croatian, Bosnian)"
},
{
"tag": "Transliteration"
}
],
"notes": [
{
"note": "<p>E. ab.</p>"
}
],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "https://bibliographies.brillonline.com/search?s.num=0&s.f.s2_parent=s.f.book.bibliography-of-slavic-linguistics&s.keywords=%22Abjad%22",
"items": "multiple"
}
]
/** END TEST CASES **/