We had set LDR[06] = j to MusicRecording, but that is really meant for
individual songs. Use MusicAlbum instead, and per
http://schema.org/MusicAlbum, use a new MusicGroup itemtype with a
'byArtist' property for the primary artist rather than the generic
'accountablePerson'.
Also map LDR[06] = e to Map, because that seems like a safe bet.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
args.schema.itemtype = {};
schema_typemap = {};
schema_typemap.a = 'http://schema.org/Book';
- schema_typemap.j = 'http://schema.org/MusicRecording';
+ schema_typemap.e = 'http://schema.org/Map';
+ schema_typemap.j = 'http://schema.org/MusicAlbum';
args.isbns = [];
FOR isbn IN xml.findnodes('//*[@tag="020"]/*[@code="a"]');
# schema.org changes
IF type == 'author';
- iprop = ' itemprop="accountablePerson"';
+ IF args.schema.itemtype && args.schema.itemtype.match('MusicAlbum');
+ iprop = ' itemtype="http://schema.org/MusicGroup" itemscope itemprop="byArtist"';
+ ELSE;
+ iprop = ' itemprop="accountablePerson"';
+ END;
ELSIF type == 'added';
iprop = ' itemprop="contributor"';
END;
- '<a href="' _ url _ '"' _ iprop _ '>' _ term.replace('^\s+', '') _ '</a>';
+ '<a href="' _ url _ '"' _ iprop _ '>';
+ IF iprop; '<span itemprop="name">'; END;
+ term.replace('^\s+', '');
+ IF iprop; '</span>'; END;
+ '</a>';
FOREACH link880 IN graphics;
diratt = '';
IF link880.dir;