| 54 | |
| 55 | ==== Discussion ==== |
| 56 | |
| 57 | * document identifier: a persistent identifier of a document |
| 58 | * http://mpdl.mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml |
| 59 | * Advantages |
| 60 | * intuitive |
| 61 | * easy to retrieve |
| 62 | * compatible to XLink |
| 63 | * REST like |
| 64 | * Disadvantages |
| 65 | * could be used once more (no id any more) |
| 66 | * http://mpdl.mpiwg-berlin.mpg.de/permanent/library/471122KK |
| 67 | * Advantages |
| 68 | * persistent id (could be used exactly one time) |
| 69 | * already used in Echo-System and library |
| 70 | * Disadvantages |
| 71 | * counterintuitive |
| 72 | * not easy to retrieve |
| 73 | * page number |
| 74 | * http://mpdl.mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml#xpointer((id('page6')) |
| 75 | * Advantages |
| 76 | * compatible to XLink/XPointer |
| 77 | * could be interpreted also without <pb id="page6"/> in the document (through getFragment implementation) |
| 78 | * REST like |
| 79 | * Disadvantages |
| 80 | * if in XML document <pb/> elements are inserted or deleted afterwards many old XPointer links are broken |
| 81 | * http://mpdl.mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml?page=6 |
| 82 | * Advantages |
| 83 | * well-nigh compatible to XLink/XPointer |
| 84 | * could be interpreted also without <pb id="page6"/> in the document (through getFragment implementation) |
| 85 | * REST like |
| 86 | * Disadvantages |
| 87 | * if in XML document <pb/> elements are inserted or deleted afterwards many old XPointer links are broken |
| 88 | * two parameters necessary (page, xpointer) |
| 89 | * element identifier |
| 90 | * xpath expression: /tei[1]/text[1]/body[1]/chap[3]/p[1]/s[2] |
| 91 | * Advantages |
| 92 | * could be generated dynamically for the XML page |
| 93 | * intuitive |
| 94 | * full compatible to XLink/XPointer |
| 95 | * easy to retrieve |
| 96 | * implementation is easy and consistent (through saxon:path) |
| 97 | * Disadvantages |
| 98 | * if in XML document elements are inserted, updated or deleted afterwards many old XPointer links are broken |
| 99 | * relative long string |
| 100 | * node id: 1.1.1.3.1.2 |
| 101 | * Advantages |
| 102 | * could be generated dynamically for the XML page |
| 103 | * intuitive |
| 104 | * compatible to XLink/XPointer |
| 105 | * easy to retrieve |
| 106 | * Disadvantages |
| 107 | * if in XML document elements are inserted, updated or deleted afterwards many old XPointer links are broken |
| 108 | * id attribute in XML document: <s id="47114711">...</s> |
| 109 | * Advantages |
| 110 | * if in XML document elements are inserted, updated or deleted afterwards only old XPointer links with deleted elements are broken |
| 111 | * compatible to XLink/XPointer |
| 112 | * Disadvantages |
| 113 | * through upload process the document has to be modified: for each element in XML document an id attribute has to be generated, also implementation is more complex |
| 114 | * if a user uses an id attribute already in his document but not consistent these id attributes have to be replaced by a new consistent id (not easy to implement) |
| 115 | * the document size is bigger with all these id attribute values |
| 116 | * the id is not intuitive |
| 117 | * special id attribute in XML document: <s xmlNodeId="47114711">...</s> |
| 118 | * Advantages |
| 119 | * user could use his own id attribute in document as he like |
| 120 | * if in XML document elements are inserted, updated or deleted afterwards only old XPointer links with deleted elements are broken |
| 121 | * compatible to XLink/XPointer |
| 122 | * Disadvantages |
| 123 | * through upload process the document has to be modified: for each element in XML document an xmlNodeId attribute has to be generated, also implementation is more complex |
| 124 | * the document size is bigger with all these id attribute values |
| 125 | * the id is not intuitive |
| 126 | * point/range expression |
| 127 | * point(.0) or range(1.22, 1.34) |
| 128 | * Advantages |
| 129 | * pointers could point to a text portion, is partly already implemented |
| 130 | * Disadvantages |
| 131 | |
| 132 | |
| 133 | ==== Selection / Solution ==== |
| 134 | * document identifier |
| 135 | * http://mpdl.mpiwg-berlin.mpg.de/permanent/library/471122KK |
| 136 | * page number |
| 137 | * http://mpdl.mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml#xpointer((id('page6')) |
| 138 | * element identifier (choice between these 2 best possible solution) |
| 139 | * xpath expression: /tei[1]/text[1]/body[1]/chap[3]/p[1]/s[2] |
| 140 | * special id attribute in XML document: <s xmlNodeId="47114711">...</s> |
| 141 | * point/range expression |
| 142 | * point(.0) or range(1.22, 1.34) |
| 143 | |
| 144 | |