Changes between Version 13 and Version 14 of schema/xpointer
- Timestamp:
- Mar 22, 2011, 4:17:43 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
schema/xpointer
v13 v14 31 31 32 32 * XPointer to a page in an XML document. The result of the XPointer URL is the whole page. Example: 33 * <p>... (see <ref target="http://mpdl .mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml#xpointer((id('page6'))">Dick Porter: Ramones – The Complete Twisted History, London: Plexus, 2004. Page 6. ISBN 0859653269</ref>)33 * <p>... (see <ref target="http://mpdl-proto.mpiwg-berlin.mpg.de/tei/en/ramones_2004.xml#xpointer((id('page6'))">Dick Porter: Ramones – The Complete Twisted History, London: Plexus, 2004. Page 6. ISBN 0859653269</ref>) 34 34 * if the document contains no pages (no <pb/> elements) then the page number doesnt't have to be specified (all elements are on the first page internally) 35 35 * XPointer to an element on a page in an XML document. The result of the XPointer URL is the page and the requested element is highlighted. Example: 36 * <p>Joey Ramone said: "When we started up in March of ’74, it was because the bands we loved, the rock ’n’ roll that we knew, had disappeared. We were playing music for ourselves." (see <ref target="http://mpdl .mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml#xpointer((id('page6')/tei[1]/text[1]/body[1]/chap[1]/p[1])">page 6, sentence 2</ref>).</p>36 * <p>Joey Ramone said: "When we started up in March of ’74, it was because the bands we loved, the rock ’n’ roll that we knew, had disappeared. We were playing music for ourselves." (see <ref target="http://mpdl-proto.mpiwg-berlin.mpg.de/tei/en/ramones_2004.xml#xpointer((id('page6')/tei[1]/text[1]/body[1]/chap[1]/p[1])">page 6, sentence 2</ref>).</p> 37 37 * XPointer to a text portion of an element on a page in an XML document. The result of the XPointer URL is the page and the requested text portion of the element is highlighted. Example: 38 * <p>The Ramones started up in March 1974 (see <ref target="http://mpdl .mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml#xpointer((id('page6')/tei[1]/text[1]/body[1]/chap[1]/p[1]/s[1]/range(1.22, 1.34))">page 6, sentence 1, character 22 to 32</ref>).</p>38 * <p>The Ramones started up in March 1974 (see <ref target="http://mpdl-proto.mpiwg-berlin.mpg.de/tei/en/ramones_2004.xml#xpointer((id('page6')/tei[1]/text[1]/body[1]/chap[1]/p[1]/s[1]/range(1.22, 1.34))">page 6, sentence 1, character 22 to 32</ref>).</p> 39 39 40 40 External user annotations of documents are stored relative to document pages by mapping XPointer page points/ranges to an internal identifier as a combination of document identifier, page number, element xpath expression, and a point/range expression. Example: 41 * before the first sentence on page 6: / music/ramones/ramones_2004.xml, page6, /tei[1]/text[1]/body[1]/chap[1]/p[1]/s[1], point(.0)42 * after the first sentence on page 6: / music/ramones/ramones_2004.xml, page6, /tei[1]/text[1]/body[1]/chap[1]/p[1]/s[1], point(.1)43 * from character 22 to 34 in the first sentence of page 6: / music/ramones/ramones_2004.xml, page6, /tei[1]/text[1]/body[1]/chap[1]/p[1]/s[1], range(1.22, 1.34)41 * before the first sentence on page 6: /tei/en/ramones_2004.xml, page6, /tei[1]/text[1]/body[1]/chap[1]/p[1]/s[1], point(.0) 42 * after the first sentence on page 6: /tei/en/ramones_2004.xml, page6, /tei[1]/text[1]/body[1]/chap[1]/p[1]/s[1], point(.1) 43 * from character 22 to 34 in the first sentence of page 6: /tei/en/ramones_2004.xml, page6, /tei[1]/text[1]/body[1]/chap[1]/p[1]/s[1], range(1.22, 1.34) 44 44 45 45 === XLink === … … 52 52 53 53 * document identifier: a persistent identifier of a document 54 * http://mpdl .mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml54 * http://mpdl-proto.mpiwg-berlin.mpg.de/tei/en/ramones_2004.xml 55 55 * Advantages 56 56 * intuitive … … 60 60 * Disadvantages 61 61 * could be used once more (no id any more) 62 * http://mpdl .mpiwg-berlin.mpg.de/permanent/library/471122KK62 * http://mpdl-proto.mpiwg-berlin.mpg.de/permanent/library/471122KK 63 63 * Advantages 64 64 * persistent id (could be used exactly one time) … … 68 68 * not easy to retrieve 69 69 * page number 70 * http://mpdl .mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml#xpointer((id('page6'))70 * http://mpdl-proto.mpiwg-berlin.mpg.de/tei/en/ramones_2004.xml#xpointer((id('page6')) 71 71 * Advantages 72 72 * compatible to XLink/XPointer … … 75 75 * Disadvantages 76 76 * if in XML document <pb/> elements are inserted or deleted afterwards many old XPointer links are broken 77 * http://mpdl .mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml?page=677 * http://mpdl-proto.mpiwg-berlin.mpg.de/tei/de/ramones_2004.xml?page=6 78 78 * Advantages 79 79 * well-nigh compatible to XLink/XPointer … … 131 131 === Selection / Solution === 132 132 * document identifier 133 * http://mpdl .mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml133 * http://mpdl-proto.mpiwg-berlin.mpg.de/tei/en/ramones_2004.xml 134 134 * Reasons 135 135 * could be mapped to the persistent identifier, intuitive, user friendly, REST like, compatible with XPointer 136 136 * page number 137 * http://mpdl .mpiwg-berlin.mpg.de/music/ramones/ramones_2004.xml#xpointer((id('page6'))137 * http://mpdl-proto.mpiwg-berlin.mpg.de/tei/en/ramones_2004.xml#xpointer((id('page6')) 138 138 * Reasons 139 139 * compatible with XPointer … … 160 160 * partly implemented 161 161 * XPointer URI's 162 * implementation of a REST like solution over controller.xql: not implemented yet162 * implementation of a REST like URI over controller.xql: partly implemented 163 163 * translation of the XPointer URI 164 164 * highlighting of the requested element or text portion in the element … … 166 166 * in .../interface/page-fragment.xql and .../page-query-result.xql 167 167 * TEI URI's 168 * support URI attributes (e.g. ref(target) ptr(target)) in Echo and TEI elements: not implemented yet168 * support URI attributes (e.g. ref(target) ptr(target)) in Echo and TEI elements: implemented 169 169 * user objects such as user queries 170 170 * insert/update/delete user objects: dynamic storing of user queries (with user login)