Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revise chapter 13 #168

Merged
merged 21 commits into from
May 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
551c66e
fix(chapter 13): add introduction to chapter
musicEnfanthen Feb 28, 2020
4da246c
fix(chapter 13): add general section about links
musicEnfanthen Feb 28, 2020
352e93a
fix(chapter 13): move and restructure explanations for ptrref Module
musicEnfanthen Feb 28, 2020
cc9b4bc
fix(chapter 13): move ptrref attributes into separate sections and files
musicEnfanthen Feb 28, 2020
5f3f3a0
fix(chapter 13): remove xlink:title attribute from section and examples
musicEnfanthen Feb 28, 2020
e391266
fix(chapter 13): small changes (typo, linebreak) to subsection 3 and 5
musicEnfanthen Feb 28, 2020
0274886
fix(chapter 13): move linkAlign section
musicEnfanthen Feb 28, 2020
69dfaf1
fix(chapter 13): change position of mimetype section (5 --> 3)
musicEnfanthen Feb 28, 2020
0eb6bfd
fix(chapter 13): adjust example for mimetype
musicEnfanthen Feb 28, 2020
c7b5728
fix(chapter 13): make long example for xlink:show more readable
musicEnfanthen Feb 28, 2020
dbc2669
fix(chapter 13): adjust glosses of xlink:... values to latest specs
musicEnfanthen Feb 28, 2020
55f2bfc
fix(chapter 13): give hint to locations of explanations of available …
musicEnfanthen Feb 28, 2020
09b1e53
fix(chapter 13): deprecate the linkAlign module and remove subsections
musicEnfanthen Feb 28, 2020
91ee04a
fix(chapter 13): add starting structure and placeholder files for LOD…
musicEnfanthen Feb 28, 2020
10b09a2
fix(chapter 13): move pointers & references under subheader Linking f…
musicEnfanthen Feb 28, 2020
2c1624c
fix(chapter 13): fix wording
musicEnfanthen Feb 28, 2020
3657c7a
Merge pull request #151 from musicEnfanthen/revise-chapter-13
bwbohl Mar 11, 2020
459baaf
prefer empty elements to be self-closing
kepper Mar 26, 2020
d0d96d8
remove section 13.3 (Link Into MEI) for now
musicEnfanthen May 22, 2020
4afe6a2
remove version warning
musicEnfanthen May 22, 2020
5053dcc
Merge pull request #167 from musicEnfanthen/revise-chapter-13
kepper May 22, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions _guidelines-v4/13-linkingdata.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,4 @@ title: "Linking Data"
sectionid: "linkingdata"
---

{% include version-warning %}

This is a placeholder that needs to be filled.
This chapter describes the use of elements in MEI for linking and referencing. This includes the elements, models, and attributes that are part of the `MEI.ptrref` module. This module contains declarations, techniques and approaches to establish references within a single MEI document, or to link out from one MEI document to another or to other external sources. This chapter also addresses possibilities to link into an MEI document from external sources which makes MEI highly interoperable and serviceable in the context of Linked (Open) Data approaches.
7 changes: 7 additions & 0 deletions _guidelines-v4/13-linkingdata/01-links.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
sectionid: links
title: "Links"
version: "v4"
---

An element is a ‘link’ when it has an attribute whose value is a reference to the ID of one or more other elements (cross-reference). These link elements indicate an association between themselves (or one of their ancestors) and one or more other entities, either inside the same document or elsewhere. An association between two elements in the same document is said to be an ‘internal’ link, while an association that involves an entity outside the current document is called an ‘external’ link. However, either of the elements discussed in the following section can be used for either purpose.
9 changes: 0 additions & 9 deletions _guidelines-v4/13-linkingdata/01-ptrref.md

This file was deleted.

100 changes: 0 additions & 100 deletions _guidelines-v4/13-linkingdata/01-ptrref/01-ptrrefmodule.md

This file was deleted.

This file was deleted.

9 changes: 0 additions & 9 deletions _guidelines-v4/13-linkingdata/02-linkalign.md

This file was deleted.

This file was deleted.

This file was deleted.

13 changes: 0 additions & 13 deletions _guidelines-v4/13-linkingdata/02-linkalign/02-linkalignexamples.md

This file was deleted.

9 changes: 9 additions & 0 deletions _guidelines-v4/13-linkingdata/02-linkfrommei.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
layout: sidebar
sidebar: s1
version: "v4"
title: "Linking from MEI"
sectionid: "linkFromMei"
---

This section describes techniques and approaches to establish references within a single MEI document, or to link out from one MEI document to another or to other external sources.
20 changes: 20 additions & 0 deletions _guidelines-v4/13-linkingdata/02-ptrref/01-ptrref.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
layout: sidebar
sidebar: s1
version: "v4"
title: "Pointers and References"
sectionid: "ptrRef"
---

The link elements discussed in this section are the {% include link elem="ptr" %} and the {% include link elem="ref" %} elements which are declared in the `MEI.ptrref` module.

{% include desc elem="ptr" %}
{% include desc elem="ref" %}

The {% include link elem="ptr" %} element is a traversible pointer to another location. It is an empty linking element that uses only attributes to describe its link destination. It cannot contain text or sub-elements to describe the referenced object. The next example shows the use of the {% include link elem="ptr" %} element to target a certain identifier (here e.g. a page number, or more precisely, page break elements, {% include link elem="pb" %}, bearing these identifiers) from within a {% include link elem="list" %} of item descriptions:

{% include mei example="ptrRef/ptrRef-sample349.txt" valid="" %}

The {% include link elem="ref" %} element defines a traversible reference to another location. While {% include link elem="ptr" %} cannot contain other markup, the {% include link elem="ref" %} element can include text or sub-elements that further specify the link destination:

{% include mei example="ptrRef/ptrRef-sample351.txt" valid="" %}
44 changes: 44 additions & 0 deletions _guidelines-v4/13-linkingdata/02-ptrref/02-ptrrefmodule.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
sectionid: ptrrefModule
title: "Specifying Link Elements"
version: "v4"
---

The {% include link elem="ptr" %} and {% include link elem="ref" %} elements share a set of common attributes that are inherited from the {% include link att="pointing" %} class (a more detailed explanation is provided below):

{% include desc atts="att.pointing/target" %}
{% include desc atts="att.pointing/targettype" %}
{% include desc atts="att.pointing/xlink:actuate" %}
{% include desc atts="att.pointing/xlink:show" %}
{% include desc atts=" att.pointing/xlink:role" %}

In addition to the attributes in the {% include link att="pointing" %} class, the **@mimetype** attribute from the {% include link att="internetMedia" %} class is also available on {% include link elem="ptr" %} and {% include link elem="ref" %} (a more detailed explanation is provided below):

{% include desc atts="att.internetMedia/mimetype" %}

The {% include link att="linking" %} class provides another set of common attributes (a more detailed explanation is provided in {% include link id="analysisharm" %}: {% include link id="analysisDescribingRelationships" %}):

{% include desc atts="att.linking/copyof" %}
{% include desc atts="att.linking/corresp" %}
{% include desc atts="att.linking/follows" %}
{% include desc atts="att.linking/next" %}
{% include desc atts="att.linking/precedes" %}
{% include desc atts="att.linking/prev" %}
{% include desc atts="att.linking/sameas" %}
{% include desc atts="att.linking/synch" %}

Additionally, the following attributes are also available on {% include link elem="ptr" %} and {% include link elem="ref" %}:

Via the {% include link att="metadataPointing" %} class:

{% include desc atts="att.metadataPointing/decls" %}

Via the {% include link att="classed" %} class:

{% include desc atts="att.classed/class" %}

Via the {% include link att="responsibility" %} class:

{% include desc atts="att.responsibility/resp" %}


Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
sectionid: ptrRefTarget
title: "Define the link element's target (XPointer mechanism)"
version: "v4"
---

The **@target** attribute specifies the destination of a pointer or reference using a method standardized by the W3C consortium, known as the XPointer mechanism. The XPointer framework is described at [http://www.w3.org/TR/xptr-framework/](http://www.w3.org/TR/xptr-framework/){:.link_ref}. This mechanism permits a range of complexity, from the very simple (a reference to the value of the target element's **@xml:id** attribute) to the more complex usage of a full URI with embedded XPointers:

{% include mei example="ptrRef/ptrRef-sample336.txt" valid="" %}
{% include mei example="ptrRef/ptrRef-sample337.txt" valid="" %}
{% include mei example="ptrRef/ptrRef-sample338.txt" valid="" %}
{% include mei example="ptrRef/ptrRef-sample339.txt" valid="" %}
{% include mei example="ptrRef/ptrRef-sample340.txt" valid="" %}

A **@target** attribute is not required in order to mark the textual content as a cross-reference, as demonstrated in the example below; however, without this attribute the reference will not be resolvable.

{% include mei example="ptrRef/ptrRef-sample352.txt" valid="" %}


Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
sectionid: ptrRefTargettype
title: "Define the type of a link element's target"
version: "v4"
---

The **@targettype** attribute allows the target resource to be characterized using any convenient classification scheme or typology. This is often useful when the target requires special processing, e.g., for display purposes. The pointers in the examples below may be formatted differently, e.g., the bibliographic citation may result in special typography while the pointer to the audio file may be used to embed an audio player:

{% include mei example="ptrRef/ptrRef-sample341.txt" valid="" %}
{% include mei example="ptrRef/ptrRef-sample342.txt" valid="" %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
sectionid: ptrRefMimetype
title: "Define the mimetype of a link element's target"
version: "v4"
---

The function of the **@mimetype** attribute is similar to that of **@targettype** in that they both allow classification of the destination. Unlike **@targettype**, however, **@mimetype** explicitly defines the destination type using a standard taxonomy. Its value should be a valid MIME (Multimedia Internet Mail Extension) type as defined by the Internet Engineering Task Force (IETF) in RFC 2046, available at [http://www.ietf.org/rfc/rfc2046.txt](http://www.ietf.org/rfc/rfc2046.txt){:.link_ref}. The following are all valid mimetype values:

{% include mei example="ptrRef/ptrRef-sample347.txt" valid="feasible" %}

As shown above, the {% include link elem="ptr" %} element can be used to ‘point to’ a digital image (`target="my.png"`). However, when the intention is to *display* a digital image as part of the rendering of an MEI file, the {% include link elem="graphic" %} element provides a convenient and recommended alternative:

{% include mei example="ptrRef/ptrRef-sample350.txt" valid="" %}

The **@mimetype** attribute is particularly useful for documenting the nature of the destination when the value of **@target** does not provide a filename extension or when the destination is a non-standard file type:

{% include mei example="ptrRef/ptrRef-sample348.txt" valid="feasible" %}


Loading