CINXE.COM

Tutorial: Indexfunktionen für Oxygen XML Frameworks — digiversity

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"><script type="text/javascript" src="https://web-static.archive.org/_static/js/bundle-playback.js?v=7YQSqjSh" charset="utf-8"></script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://digiversity.net/2013/tutorial-indexfunktionen-fuer-oxygen-xml-frameworks/","20201130142807","https://web.archive.org/","web","https://web-static.archive.org/_static/", "1606746487"); </script> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/banner-styles.css?v=p7PEIJWi" /> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title> Tutorial: Indexfunktionen für Oxygen XML Frameworks &mdash; digiversity </title> <meta name="generator" content="WordPress 4.9.16"/> <!-- leave this for stats please --> <link rel="Shortcut Icon" href="https://web.archive.org/web/20201130142807im_/https://digiversity.net/wp-content/themes/digiversity-theme/images/favicon.ico" type="image/x-icon"/> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="https://web.archive.org/web/20201130142807/https://digiversity.net/feed/"/> <link rel="alternate" type="text/xml" title="RSS .92" href="https://web.archive.org/web/20201130142807/https://digiversity.net/feed/rss/"/> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="https://web.archive.org/web/20201130142807/https://digiversity.net/feed/atom/"/> <link rel="pingback" href="https://digiversity.net/xmlrpc.php"/> <link rel="archives" title="Oktober 2015" href="https://digiversity.net/2015/10/"/> <link rel="archives" title="Dezember 2013" href="https://digiversity.net/2013/12/"/> <link rel="archives" title="Oktober 2013" href="https://digiversity.net/2013/10/"/> <link rel="archives" title="Juni 2013" href="https://digiversity.net/2013/06/"/> <link rel="archives" title="November 2012" href="https://digiversity.net/2012/11/"/> <link rel="archives" title="Oktober 2012" href="https://digiversity.net/2012/10/"/> <link rel="archives" title="April 2012" href="https://digiversity.net/2012/04/"/> <link rel="archives" title="Februar 2012" href="https://digiversity.net/2012/02/"/> <link rel="archives" title="Dezember 2011" href="https://digiversity.net/2011/12/"/> <link rel="archives" title="Juli 2011" href="https://digiversity.net/2011/07/"/> <link rel="archives" title="Juni 2011" href="https://digiversity.net/2011/06/"/> <link rel="archives" title="April 2011" href="https://digiversity.net/2011/04/"/> <link rel="archives" title="März 2011" href="https://digiversity.net/2011/03/"/> <link rel="archives" title="September 2010" href="https://digiversity.net/2010/09/"/> <link rel="archives" title="Juli 2010" href="https://digiversity.net/2010/07/"/> <link rel="archives" title="Juni 2010" href="https://digiversity.net/2010/06/"/> <link rel="archives" title="Mai 2010" href="https://digiversity.net/2010/05/"/> <link rel="archives" title="April 2010" href="https://digiversity.net/2010/04/"/> <link rel="archives" title="März 2010" href="https://digiversity.net/2010/03/"/> <link rel="archives" title="Februar 2010" href="https://digiversity.net/2010/02/"/> <link rel="archives" title="Januar 2010" href="https://digiversity.net/2010/01/"/> <link rel="archives" title="Dezember 2009" href="https://digiversity.net/2009/12/"/> <link rel="archives" title="November 2009" href="https://digiversity.net/2009/11/"/> <!-- BEGIN Metadata added by the Add-Meta-Tags WordPress plugin --> <meta name="robots" content="index,follow"/> <meta name="distribution" content="global"/> <meta name="language" content="de"/> <meta name="google-site-verification" content="4yRvG24yWyqeTedJ5OT_3WvAIogPGZ8Zx6cUPe43oDs"/> <meta name="description" content="Für Wissenschaftler/-innen ist bei der Transkription mit TEI-XML - neben anderem - die Möglichkeit interessant, Personen, Orte, Werke etc. mit einem zentralen Register zu verknüpfen. Dies geschieht über eine eindeutige Identifikationsnummer, die einer Person oder einem Ort etc. zugeordnet ist."/> <meta name="keywords" content="how to, tools, bbaw, ediarum, existdb, framework, javaoperations, oxygen xml, telota"/> <!-- END Metadata added by the Add-Meta-Tags WordPress plugin --> <link rel="dns-prefetch" href="//web.archive.org/web/20201130142807/https://s.w.org/"/> <link rel="alternate" type="application/rss+xml" title="digiversity » Tutorial: Indexfunktionen für Oxygen XML Frameworks Kommentar-Feed" href="https://web.archive.org/web/20201130142807/https://digiversity.net/2013/tutorial-indexfunktionen-fuer-oxygen-xml-frameworks/feed/"/> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/web.archive.org\/web\/20201130142807\/https:\/\/s.w.org\/images\/core\/emoji\/11\/72x72\/","ext":".png","svgUrl":"https:\/\/web.archive.org\/web\/20201130142807\/https:\/\/s.w.org\/images\/core\/emoji\/11\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/web.archive.org\/web\/20201130142807\/https:\/\/digiversity.net\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.16"}}; !function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55358,56760,9792,65039],[55358,56760,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel="stylesheet" id="cptch_stylesheet-css" href="https://web.archive.org/web/20201130142807cs_/https://digiversity.net/wp-content/plugins/captcha/css/front_end_style.css?ver=4.4.5" type="text/css" media="all"/> <link rel="stylesheet" id="dashicons-css" href="https://web.archive.org/web/20201130142807cs_/https://digiversity.net/wp-includes/css/dashicons.min.css?ver=4.9.16" type="text/css" media="all"/> <link rel="stylesheet" id="cptch_desktop_style-css" href="https://web.archive.org/web/20201130142807cs_/https://digiversity.net/wp-content/plugins/captcha/css/desktop_style.css?ver=4.4.5" type="text/css" media="all"/> <link rel="stylesheet" id="lightboxStyle-css" href="https://web.archive.org/web/20201130142807cs_/https://digiversity.net/wp-content/plugins/lightbox-plus/css/shadowed/colorbox.min.css?ver=2.7.2" type="text/css" media="screen"/> <script type="text/javascript" src="https://web.archive.org/web/20201130142807js_/https://digiversity.net/wp-includes/js/jquery/jquery.js?ver=1.12.4"></script> <script type="text/javascript" src="https://web.archive.org/web/20201130142807js_/https://digiversity.net/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1"></script> <link rel="https://api.w.org/" href="https://digiversity.net/wp-json/"/> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://digiversity.net/xmlrpc.php?rsd"/> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://digiversity.net/wp-includes/wlwmanifest.xml"/> <link rel="prev" title="Zusätzliche Javaoperationen für Oxygen XML Frameworks veröffentlicht" href="https://web.archive.org/web/20201130142807/https://digiversity.net/2013/zusaetzliche-javaoperationen-fuer-oxygen-xml-frameworks-veroeffentlicht/"/> <link rel="next" title="Perspectives of the further development of the Correspondence Metadata Interchange Format (CMIF)" href="https://web.archive.org/web/20201130142807/https://digiversity.net/2015/perspectives-of-the-further-development-of-the-correspondence-metadata-interchange-format-cmif/"/> <meta name="generator" content="WordPress 4.9.16"/> <link rel="canonical" href="https://web.archive.org/web/20201130142807/https://digiversity.net/2013/tutorial-indexfunktionen-fuer-oxygen-xml-frameworks/"/> <link rel="shortlink" href="https://web.archive.org/web/20201130142807/https://digiversity.net/?p=1056"/> <link rel="alternate" type="application/json+oembed" href="https://web.archive.org/web/20201130142807/https://digiversity.net/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdigiversity.net%2F2013%2Ftutorial-indexfunktionen-fuer-oxygen-xml-frameworks%2F"/> <link rel="alternate" type="text/xml+oembed" href="https://web.archive.org/web/20201130142807/https://digiversity.net/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdigiversity.net%2F2013%2Ftutorial-indexfunktionen-fuer-oxygen-xml-frameworks%2F&amp;format=xml"/> <style type="text/css" id="syntaxhighlighteranchor"></style> <style type="text/css" media="screen"> <!-- @import url( https://web.archive.org/web/20201130142807cs_/https://digiversity.net/wp-content/themes/digiversity-theme/style.css ); --> </style> </head> <body> <div id="container"> <div id="headerbg"></div> <div id="header"> <a id="logolink" href="https://web.archive.org/web/20201130142807/https://digiversity.net/"></a> <div class="headerleft"> <h1><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/"><span>digiversity</span></a></h1> <p>Webmagazin für Informationstechnologie in den Geisteswissenschaften</p> </div> <div class="headerright"> <ul> <li><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/">Startseite</a></li> <li class="page_item page-item-4 page_item_has_children"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/ueber/">Über das Webmagazin</a></li> <li class="page_item page-item-37"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/autoren/">Autoren</a></li> <li class="page_item page-item-23"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/links/">Links</a></li> <li><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/feed/">RSS</a></li> </ul> </div> </div> <div id="content"> <div id="contentleft"> <h1>Tutorial: Indexfunktionen für Oxygen XML Frameworks</h1> <div id="attachment_1068" style="width: 264px" class="wp-caption alignright"><a href="https://web.archive.org/web/20201130142807/http://digiversity.net/wp-content/uploads/2013/12/register_auswahldialog.jpg"><img class=" wp-image-1068 " title="Auswahl eines Registereintrags in ediarum" alt="Auswahl eines Registereintrags in ediarum" src="https://web.archive.org/web/20201130142807im_/http://digiversity.net/wp-content/uploads/2013/12/register_auswahldialog-300x189.jpg" width="254" height="160" srcset="https://web.archive.org/web/20201130142807im_/https://digiversity.net/wp-content/uploads/2013/12/register_auswahldialog-300x189.jpg 300w, https://web.archive.org/web/20201130142807im_/https://digiversity.net/wp-content/uploads/2013/12/register_auswahldialog.jpg 500w" sizes="(max-width: 254px) 100vw, 254px"/></a><p class="wp-caption-text">Bequeme Auswahl eines Registereintrags und mit dem nächsten Klick wird das entsprechende XML-Element samt ID eingefügt.</p></div> <p>Für Wissenschaftler/-innen ist bei der Transkription mit TEI-XML &#8211; neben anderem &#8211; die Möglichkeit interessant, Personen, Orte, Werke etc. mit einem zentralen Register zu verknüpfen. Dies geschieht über eine eindeutige Identifikationsnummer, die einer Person oder einem Ort etc. zugeordnet ist. Arbeitet man direkt im XML-Code muss man diese Nummer sich händisch raussuchen und dann in den Wert des entsprechenden Attributs kopieren. Das ist unpraktisch und zeitraubend.</p> <p>Im Rahmen der digitalen Arbeitsumgebung <a href="https://web.archive.org/web/20201130142807/http://www.bbaw.de/telota/software/ediarum">&#8222;ediarum&#8220;</a> hat <a href="https://web.archive.org/web/20201130142807/http://www.bbaw.de/telota">TELOTA</a> nun die Funktionalitäten von <a href="digiversity.net/2013/tutorial-wie-baue-ich-ein-oxygen-xml-framework">Oxygen XML Frameworks</a> so erweitert, dass die Wissenschaftler/-innen nun Textstellen in einem XML-Dokument schnell und bequem mit einem entsprechenden Indexeintrag verknüpfen können. Dafür wurden von TELOTA eigene Javaoperationen programmiert. Sowohl die JAR-Datei als auch der Sourcecode stehen ab sofort unter den Bedingungen der LGPL auf <a href="https://web.archive.org/web/20201130142807/https://github.com/telota/ediarum">github</a> zum Download zur Vefügung. Dieses Tutorial zeigt, wie Sie damit Indizierungsfunktionen in Oxygen XML Author integrieren können.<span id="more-1056"></span></p> <p><div class="scbb-content-box scbb-content-box-tutorialfacts"><strong>Empfohlene Voraussetzungen für dieses Tutorial<br/> </strong> <ul> <li>Basiert auf dem Tutorial: <a href="https://web.archive.org/web/20201130142807/http://digiversity.net/2013/tutorial-wie-baue-ich-ein-oxygen-xml-framework/">Wie baue ich ein eigenes Framework für Oxygen XML?</a></li> <li>Vorkenntnisse: XML, XPATH, CSS und ggf. XQuery</li> <li>Software: <a href="https://web.archive.org/web/20201130142807/http://www.oxygenxml.com/">Oxygen XML</a> und ergänzend die Javadatei <a href="https://web.archive.org/web/20201130142807/https://github.com/telota/ediarum/raw/master/oxygen_java/ediarum.jar">ediarum.jar</a> </li></ul></div></li> </ul> <h2></h2> <h2>Einbindung in das Oxygen-XML-Framework</h2> <div id="attachment_1072" style="width: 215px" class="wp-caption alignright"><a href="https://web.archive.org/web/20201130142807/http://digiversity.net/wp-content/uploads/2013/12/classpath_ediarumjar.jpg"><img class=" wp-image-1072" alt="Im Oxygen-XML-Framework den Klassenpfad zur ediarum.jar eintragen" src="https://web.archive.org/web/20201130142807im_/http://digiversity.net/wp-content/uploads/2013/12/classpath_ediarumjar-300x246.jpg" width="205" height="168" srcset="https://web.archive.org/web/20201130142807im_/https://digiversity.net/wp-content/uploads/2013/12/classpath_ediarumjar-300x246.jpg 300w, https://web.archive.org/web/20201130142807im_/https://digiversity.net/wp-content/uploads/2013/12/classpath_ediarumjar.jpg 780w" sizes="(max-width: 205px) 100vw, 205px"/></a><p class="wp-caption-text">Im Oxygen-XML-Framework den Klassenpfad zur ediarum.jar eintragen</p></div> <p>Wer die Indexfunktionen in seinen Oxygen XML Frameworks nutzen will, kann sich <a href="https://web.archive.org/web/20201130142807/https://github.com/telota/ediarum/raw/master/oxygen_java/ediarum.jar">auf github die Datei ediarum.jar herunterladen</a>. Sie muss auf der Festplatte innerhalb des entsprechenden Oxygen-Frameworksordner gespeichert (sofern das Framework extern gespeichert wurde, siehe Schritt 1 im <a href="https://web.archive.org/web/20201130142807/http://digiversity.net/2013/tutorial-wie-baue-ich-ein-oxygen-xml-framework/">Basis-Tutorial</a>) und dann in der Frameworkdefinition referenziert werden. Letzteres ist sehr einfach: in den Frameworksdefinitionen (&#8222;Einstellungen &gt; Dokumenttyp-Zuordnungen) muss unter &#8222;Klassen-Pfad&#8220; lediglich der Pfad zur JAR-Datei eingetragen werden. Kleiner Tipp: Mit der Editorvariable ${framework} wird direkt der aktuelle Frameworksordner angesprochen. Ist der Pfad zur Datei ediarum.jar korrekt angegeben, stehen ab sofort auch die Javaoperationen von ediarum beim Bauen von Aktionen zur Verfügung.</p> <h2>Zentrale Registerdatei</h2> <p>Alle fünf Indizierungsfunktionen, die mit ediarum.jar bereitgestellt werden, funktionieren nur in Zusammenarbeit mit einer (oder mehreren) <em>zentral(en)</em> Registerdatei(en). &#8222;Zentral&#8220; bedeutet in diesem Zusammenhang, dass alle Einträge eines Registers &#8211; beispielsweise des Personenregisters &#8211; in einer einzigen Datei aufgelistet werden müssen. Es gibt keine Vorgabe, wie die XML-Elemente heißen müssen. Sinnvoll ist vielleicht eine an XHTML angelehnte simple Struktur:</p> <pre class="brush: xml; title: ; notranslate" title="">&lt;ul&gt; &lt;li id=&quot;o322432112&quot;&gt; &lt;span&gt;Aare (Fluß, Schweiz)&lt;/span&gt; &lt;/li&gt; &lt;li id=&quot;o3242343&quot;&gt; &lt;span&gt;Aargau (Schweiz)&lt;/span&gt; &lt;/li&gt; &lt;li id=&quot;o3245345&quot;&gt; &lt;span&gt;Abbach (s. Regensburg, Bayern)&lt;/span&gt; &lt;/li&gt; &lt;/ul&gt;</pre> <p>Zu beachten ist hier einzig das zusätzliche span-Element innerhalb eines Listenpunktes. Aus eher historischen Gründen sind die Indexfunktionen so programmiert, dass als Text für die Auswahlliste immer ein Kindelement des Eintragselemtens (hier <code>li</code>) erwartet wird. Daher das eigentlich überflüssige span-Element (das im übrigen auch anders heißen kann).</p> <p>Möglicherweise steht man jetzt vor dem Problem, dass man für jeden Registereintrag eine eigene XML-Datei erstellt hat. Dann ist es notwendig, aus all diesen Dateien mit Hilfe einer Programmier- bzw. Skriptsprache automatisiert eine einzige Datei zu erstellen, die pro Eintrag zwei Informationen enthält: erstens einen Text, der in einer Auswahlliste angezeigt wird (z.B. der Personenname und die Lebensdaten) und zweitens die eindeutige Identifikationsnummer. Weitere Informationen, die evtl. im Register vorhanden sind, müssen nicht ausgewertet werden.</p> <p>In der für ediarum verwendeten Datenbanksoftware &#8222;eXistdb&#8220; ist so etwas sehr leicht möglich: man schreibt ein kurzes XQuery-Skript, das eine einfache XML-Liste aus den für den Verlinkungsvorgang relevanten Informationen zusammenstellt und in einer einzigen Datei abspeichert. Damit alles automatisch abläuft kann in eXistdb ein <a href="exist-db.org/exist/apps/doc/triggers.xml">&#8222;Trigger&#8220;</a> angelegt werden, der das eben beschriebene XQuery automatisch auslöst, sobald in der Collection mit den Registerdateien ein Dokument gespeichert wird. Dadurch ist die zentrale XML-Kurzliste stets aktuell. Ähnliche Lösungen sind mit anderen Programmiersprachen und Systemen aber selbstverständlich auch möglich.</p> <h2>Aktion erstellen</h2> <p>Jetzt ist alles vorbereitet und wir können die entsprechende Aktion im Oxygen XML Framework erstellen. Beim Anlegen einer neuen Aktion stehen uns nun die Javaoperationen von ediarum.jar zur Verfügung, die an dem Namen &#8222;org.bbaw.telota.ediarum&#8220; zu erkennen sind. Alle vier Registeroperationen dienen dazu, dass der Benutzer mit Hilfe einer Auswahlliste ein XML-Element in ein XML-Dokument einfügen kann, dass die entsprechende (korrekte) ID eines Registereintrags trägt. Allen Javaoperationen gemeinsam ist das Auswahlmenü; sie unterscheiden nur durch die Art- und Weise wie Elemente bzw. Attribute in das XML-Dokument eingefügt werden:</p> <h3>Insert Register Operation</h3> <p><em>org.bbaw.telota.ediarum.InsertRegisterOperation</em><br/> Fügt ein XML-Element mitsamt ID an oder um die <em>markierte</em> Stelle im XML-Dokument herum ein. Benutzen Sie diese Javaoperation, um den Bearbeitern Auszeichnungen von Personennamen, Ortsnamen etc. im Fließtext zu ermöglichen.</p> <h3>Insert Register At Operation</h3> <p><em>org.bbaw.telota.ediarum.InsertRegisterAtOperation</em><br/> Fügt ein XML-Element mit der entsprechenden ID an einer <em>per XPath definierten</em> Stelle im Dokument ein. Benutzen Sie diese Javaoperation, um bspw. im teiHeader den Autor des Manuskripts zu notieren.</p> <h3>Insert Register Attribute Operation</h3> <p><em>org.bbaw.telota.ediarum.InsertRegisterAttributeOperation</em><br/> Ersetzt bzw. fügt ein Attribut mit der ID des ausgewählten Eintrags in das <em>per XPath definierte</em> XML-Element ein. Benutzen Sie diese Javaoperation, um eine bereits vorhandene Auszeichnung zu verändern.</p> <h3>Insert Index Operation</h3> <p><em>org.bbaw.telota.ediarum.InsertIndexOperation</em><br/> Ein oder mehrere Element(e) mit der entsprechenden ID als Attribut werden um die im XML-Dokument <em>markierte</em> Stelle herum eingefügt. Es handelt sich hier <em>nicht</em> um eine simple &#8222;SurroundWithFragment&#8220;-Operation im Oxygen-XML-Framework. Im Gegenteil: es ist mit dieser Operation möglich, ein Set aus zwei <em>unterschiedlichen</em> XML-Elementen einzufügen, die &#8211; neben der ID des Registereintrags &#8211; beide eine weitere ID tragen, um auf das jeweils andere Element zu verweisen. Im Ergebnis würde das so aussehen:</p> <pre class="brush: xml; title: ; notranslate" title="">&lt;index spanTo=&quot;#gfq_j3f_ng&quot; indexName=&quot;orte&quot; corresp=&quot;#o12345&quot;&gt; &lt;term&gt;Name/Titel des Registereintrags&lt;/term&gt;&lt;/index&gt; Lorem ipsum dolor sit amet, consetetur sadipscing elitr&lt;anchor type=&quot;indexbereich&quot; xml:id=&quot;gfq_j3f_ng&quot;/&gt;</pre> <p>Benutzen Sie diese Operation, wenn Sie zwei verschiedene Elemente einfügen wollen, um außerhalb der XML-Baumstruktur einen Textbereich zu indizieren.</p> <h3>Parameter</h3> <p>Durch die Verwendung von Parametern können die mit ediarum.jar zur Verfügung gestellten Javaoperationen in ganz verschiedenen XML-Projekten eingesetzt werden. Alle zu einer Operation gehörenden Parameter können Sie in der Definition des Oxygen-XMLFrameworks sehen und direkt bearbeiten, sobald sie einer Aktion die entsprechende Javaoperation zugewiesen haben.</p> <div class="scbb-content-box scbb-content-box-gray">Die ausführliche Dokumentation mit allen zu setzenden Parametern finden Sie auf github.com im <a href="https://web.archive.org/web/20201130142807/https://github.com/telota/ediarum/wiki/Dokumentation-ediarum.jar-%28deutsch%29">Projektwiki von ediarum</a>. </div> <h2>Link per CSS anzeigen</h2> <p>Eine so eingefügte Verknüpfung kann man mit Hilfe von CSS im Oxygen XML Author als Link gestalten, so dass die Bearbeiter Indizierungen mit einem Klick überprüfen können. Dafür wird die Oxygen-CSS-Eigenschaft <code>link</code> verwendet. In ihr kann die URL zur zentralen Registerdatei mit dem Attributwert als &#8222;Fragementidentifier&#8220; (alles hinter der Raute &#8222;#&#8220;) zusammen gefügt werden:</p> <pre class="brush: css; title: ; notranslate" title=""> persName:before { content: url('symbol.png'); link: &quot;http://example.edu/register/personen.xml#&quot; attr(key); padding-right: 0.3em; } </pre> <p>In Oxygen XML Author wird dann das per <code>background-image</code> eingefügte Symbol mit der URL unterlegt. Bei einem Klick darauf öffnet sich die verlinkte Registerdatei im Author und springt direkt zum Eintrag, der die ID trägt, die durch den Fragmentidentifier übergeben wurde. Voraussetzung für letzteres ist allerdings, dass die aufgerufene XML-Registerdatei über ein Schema verfügt, in dem das Attribut @id der Datentype xs:id zugewiesen wurde.</p> <div class="scbb-content-box scbb-content-box-tutorialfacts"><strong>Download</strong> <p>Die für die Verwendung in einem Oxygen-XML-Framework vorgesehene Datei <a href="https://web.archive.org/web/20201130142807/https://github.com/telota/ediarum/raw/master/oxygen_java/ediarum.jar">ediarum.jar können Sie sich hier herunterladen</a>. Bitte beachten Sie die Hinweise zur Einbindung in das Framework weiter oben im Tutorial. Auf github finden Sie außerdem den <a href="https://web.archive.org/web/20201130142807/https://github.com/telota/ediarum/tree/master/oxygen_java">Quellcode der Datei</a>. TELOTA stellt ediarum.jar und seine Quelldateien unter den Bedingungen der <a href="https://web.archive.org/web/20201130142807/https://www.gnu.org/licenses/lgpl.html">LGPL</a> zur freien Verfügung bereit.</p></div> <div style="clear:both;"></div> <div class="postinfo"> Veröffentlicht von Stefan Dumont am 16. Dezember 2013 | abgelegt unter <a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/how-to/" rel="category tag">How To</a>, <a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/tools/" rel="category tag">Tools</a>&nbsp; </div> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://digiversity.net/2013/tutorial-indexfunktionen-fuer-oxygen-xml-frameworks/" dc:identifier="https://digiversity.net/2013/tutorial-indexfunktionen-fuer-oxygen-xml-frameworks/" dc:title="Tutorial: Indexfunktionen für Oxygen XML Frameworks" trackback:ping="https://digiversity.net/2013/tutorial-indexfunktionen-fuer-oxygen-xml-frameworks/trackback/" /> </rdf:RDF> --> <h3>Kommentare</h3> <!-- You can start editing here. --> <div id="commentblock"> <p id="comments"><b>2 Kommentare zu &#8220;Tutorial: Indexfunktionen für Oxygen XML Frameworks&#8221;</b></p> <ol class="commentlist"> <li class="alt" id="comment-9222"> <a href="https://web.archive.org/web/20201130142807/http://digiversity.net/2013/zusaetzliche-javaoperationen-fuer-oxygen-xml-frameworks-veroeffentlicht/" rel="external nofollow" class="url">Zusätzliche Javaoperationen für Oxygen XML Frameworks veröffentlicht &mdash; digiversity</a> am Dezember 16th, 2013 10:44 <div class="commenttext"> <p>[&#8230;] und können unter diesen Bedingungen genutzt werden. Wie man die Indexfunktionen implementiert wird in  einem neuen Tutorial auf digiversity Schritt für Schritt erklärt. Informationen zu weiteren Funktionen sind außerdem [&#8230;]</p> </div> </li> <li class="" id="comment-10252"> Winnie Scholz am Juni 4th, 2014 22:17 <div class="commenttext"> <p>Hallo Stefan Dumont,</p> <p>ich bin begeistert, deine Anleitungen gefunden und gelesen zu haben! Sie haben meinem Grundverständnis zum Thema Oxygen und Dokumententypvorlagen sehr auf die Sprünge geholfen.<br/> Leider habe ich bisher keine Anleitung gefunden, die ebenso anschaulich erklärt, wie man eine Javaoperation selbst entwickelt &#8211; von klein auf.<br/> Hast du dazu ebenfalls eine kleine Anleitung parat?<br/> Das würde mir sehr helfen und mich sehr freuen!</p> <p>Bitte melde dich doch diesbezüglich.</p> <p>Mit freundlichen Grüßen<br/> Winnie</p> </div> </li> </ol> </div> <!-- begin r_sidebar --> <div id="r_sidebar"> <ul> <li id="Search"> <form method="get" id="search_form" action="https://web.archive.org/web/20201130142807/https://digiversity.net/"> <input type="text" class="search_input" value="Suchbegriff eingeben &amp; Enter drücken" name="s" id="s" onfocus="if (this.value == 'Suchbegriff eingeben &amp; Enter drücken') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Suchbegriff eingeben &amp; Enter drücken';}"/> <input type="hidden" id="searchsubmit" value="Search"/></form><br/> </li> </ul> <ul id="r_sidebarwidgeted"> <li id="categories-3" class="widget widget_categories"><h2 class="widgettitle">Kategorien</h2> <ul> <li class="cat-item cat-item-1"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/allgemein/">Allgemein</a> </li> <li class="cat-item cat-item-3"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/buchtipp/" title="Literatur zu den &quot;Digitalen Geisteswissenschaften&quot;">Buchtipp</a> </li> <li class="cat-item cat-item-4"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/how-to/">How To</a> </li> <li class="cat-item cat-item-5"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/in-eigener-sache/" title="Informationen der Redaktion von digiversity.net">In eigener Sache</a> </li> <li class="cat-item cat-item-6"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/informationsdesign/" title="Aufbereitung und Design von geisteswissenschaftlichen Inhalten">Informationsdesign</a> </li> <li class="cat-item cat-item-7"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/linktipp/" title="Kurz und knackig: Links zu Blogs, Projekten, Tools etc.">Linktipp</a> </li> <li class="cat-item cat-item-8"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/neu-im-web/" title="Vorstellung von brandneuen Projekten aus dem Bereich der digitalen Geisteswissenschaften">Neu im Web</a> </li> <li class="cat-item cat-item-9"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/open-access/">Open Access</a> </li> <li class="cat-item cat-item-10"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/projekte/" title="Projekte in den digitalten Geisteswissenschaften">Projekte</a> </li> <li class="cat-item cat-item-11"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/publizieren-im-web/">Publizieren im Web</a> </li> <li class="cat-item cat-item-13"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/technologien/" title="Vorstellung von Software, Programmiersprachen, Tools etc.">Technologien</a> </li> <li class="cat-item cat-item-14"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/tools/">Tools</a> </li> <li class="cat-item cat-item-120"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/typografie/">Typografie</a> </li> <li class="cat-item cat-item-15"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/veranstaltungen/" title="Ankündigungen und Nachbesprechung von Veranstaltungen">Veranstaltungen</a> </li> <li class="cat-item cat-item-16"><a href="https://web.archive.org/web/20201130142807/https://digiversity.net/category/wissenschaft-in-der-wikipedia/" title="Mitarbeit von Wissenschaftlern in der Wikipedia, Wissenschaftsdarstellung in der Online-Enzyklopädie, Wissenschaftliche Untersuchungen der Wikipedia">Wissenschaft in der Wikipedia</a> </li> </ul> </li> <li id="text-4" class="widget widget_text"> <div class="textwidget"> <div id="publisher"> <h2>Herausgeber</h2> <ul> <li> <a href="https://web.archive.org/web/20201130142807/http://www.igl.uni-mainz.de/"><img src="https://web.archive.org/web/20201130142807im_/http://digiversity.net/wp-content/themes/digiversity-theme/images/igl_logo.jpg" alt="Das Logo des Instituts für Geschichtliche Landeskunde zeigt sechs verschiedenfarbige Silhouetten historischer Gebäude"/></a></li> <li> <a href="https://web.archive.org/web/20201130142807/http://www.digitale-akademie.de/"><img src="https://web.archive.org/web/20201130142807im_/http://digiversity.net/wp-content/themes/digiversity-theme/images/adw_logo.jpg" alt="Das Logo der Akademie der Wissenschaften zeigt einen Säulenpavillion"/></a></li> </ul> </div></div> </li> <li id="rss-3" class="widget widget_rss"><h2 class="widgettitle"><a class="rsswidget" href="https://web.archive.org/web/20201130142807/http://dhd-blog.org/?feed=rss2"><img class="rss-widget-icon" style="border:0" width="14" height="14" src="https://web.archive.org/web/20201130142807im_/https://digiversity.net/wp-includes/images/rss.png" alt="RSS"/></a> <a class="rsswidget" href="https://web.archive.org/web/20201130142807/https://dhd-blog.org/">DHd-Blog</a></h2> <ul><li><a class="rsswidget" href="https://web.archive.org/web/20201130142807/https://dhd-blog.org/?p=14696">Virtuelles DH-Kolloquium an der BBAW, 4.12.2020, Alexander Geyken &amp; Julia Naji: „Dynamische Formate im DWDS“</a></li><li><a class="rsswidget" href="https://web.archive.org/web/20201130142807/https://dhd-blog.org/?p=14692">Stellenangebot: Programmsachbearbeiter/in (m/w/d) bei der Kulturstiftung des Bundes</a></li><li><a class="rsswidget" href="https://web.archive.org/web/20201130142807/https://dhd-blog.org/?p=14666">Warum die Universität der Plattformen das Ende der Universität bedeutet</a></li></ul></li> <li id="linkcat-2" class="widget widget_links"><h2 class="widgettitle">Blogroll</h2> <ul class="xoxo blogroll"> <li><a href="https://web.archive.org/web/20201130142807/http://www.designtagebuch.de/" target="_blank">Design Tagebuch</a></li> <li><a href="https://web.archive.org/web/20201130142807/http://www.dhd-blog.org/" title="Digital Humanities im deutschsprachigen Raum" target="_blank">DHd-Blog</a></li> <li><a href="https://web.archive.org/web/20201130142807/http://www.iuwis.de/" target="_blank">IUWIS</a></li> <li><a href="https://web.archive.org/web/20201130142807/http://www.smashingmagazine.com/">Smashing Magazine</a></li> <li><a href="https://web.archive.org/web/20201130142807/http://weblog.histnet.ch/">weblog.histnet.ch</a></li> <li><a href="https://web.archive.org/web/20201130142807/http://www.wisspub.net/">WissPub.net</a></li> </ul> </li> </ul> </div> <!-- end r_sidebar --> </div> <!-- The main column ends --> <!-- begin footer --> <div style="clear:both;"></div> <div id="footer"> <p>&copy; 2011-2013 <a href="https://web.archive.org/web/20201130142807/https://digiversity.net/">digiversity</a> &bull; <a href="https://web.archive.org/web/20201130142807/http://digiversity.net/ueber/impressum/" title="Informationen zum Seitenbetreiber">Impressum</a>&bull; <a href="https://web.archive.org/web/20201130142807/http://digiversity.net/ueber/datenschutz/" title="Datenschutzerklärung">Datenschutz</a></p> </div> <!-- Lightbox Plus Colorbox v2.7.2/1.5.9 - 2013.01.24 - Message: 0--> <script type="text/javascript"> jQuery(document).ready(function($){ $("a[rel*=lightbox]").colorbox({speed:350,initialWidth:"300",initialHeight:"100",opacity:0.8,loop:false,scrolling:false,escKey:false,arrowKey:false,top:false,right:false,bottom:false,left:false}); }); </script> <script type="text/javascript" src="https://web.archive.org/web/20201130142807js_/https://digiversity.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter2/scripts/shCore.js?ver=2.1.364"></script> <script type="text/javascript" src="https://web.archive.org/web/20201130142807js_/https://digiversity.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter2/scripts/shBrushXml.js?ver=2.1.364"></script> <script type="text/javascript" src="https://web.archive.org/web/20201130142807js_/https://digiversity.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter2/scripts/shBrushCss.js?ver=2.1.364"></script> <script type="text/javascript"> (function(){ var corecss = document.createElement('link'); var themecss = document.createElement('link'); var corecssurl = "https://web.archive.org/web/20201130142807/https://digiversity.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter2/styles/shCore.css?ver=2.1.364"; if ( corecss.setAttribute ) { corecss.setAttribute( "rel", "stylesheet" ); corecss.setAttribute( "type", "text/css" ); corecss.setAttribute( "href", corecssurl ); } else { corecss.rel = "stylesheet"; corecss.href = corecssurl; } document.getElementsByTagName("head")[0].insertBefore( corecss, document.getElementById("syntaxhighlighteranchor") ); var themecssurl = "https://web.archive.org/web/20201130142807/https://digiversity.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter2/styles/shThemeDefault.css?ver=2.1.364"; if ( themecss.setAttribute ) { themecss.setAttribute( "rel", "stylesheet" ); themecss.setAttribute( "type", "text/css" ); themecss.setAttribute( "href", themecssurl ); } else { themecss.rel = "stylesheet"; themecss.href = themecssurl; } //document.getElementById("syntaxhighlighteranchor").appendChild(themecss); document.getElementsByTagName("head")[0].insertBefore( themecss, document.getElementById("syntaxhighlighteranchor") ); })(); SyntaxHighlighter.config.clipboardSwf = 'https://web.archive.org/web/20201130142807/https://digiversity.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter2/scripts/clipboard.swf'; SyntaxHighlighter.config.strings.expandSource = 'Quelltext aufklappen'; SyntaxHighlighter.config.strings.viewSource = 'Quelltext anzeigen'; SyntaxHighlighter.config.strings.copyToClipboard = 'In die Zwischenablage kopieren'; SyntaxHighlighter.config.strings.copyToClipboardConfirmation = 'Der Quelltext wurde in die Zwischenablage kopiert'; SyntaxHighlighter.config.strings.print = 'Drucken'; SyntaxHighlighter.config.strings.help = '?'; SyntaxHighlighter.config.strings.alert = 'SyntaxHighlighter\n\n'; SyntaxHighlighter.config.strings.noBrush = 'Keine Syntax-Datei vorhanden für: '; SyntaxHighlighter.config.strings.brushNotHtmlScript = 'Die Syntax-Datei ist nicht für die „htmlscript” Option konfiguriert: '; SyntaxHighlighter.defaults['pad-line-numbers'] = false; SyntaxHighlighter.all(); </script> <link rel="stylesheet" id="scbb_custom_style-css" href="https://web.archive.org/web/20201130142807cs_/https://digiversity.net/wp-content/plugins/standout-color-boxes-and-buttons/css/custom.css?ver=0.7.0_11302020142807" type="text/css" media="all"/> <link rel="stylesheet" id="scbb_style-css" href="https://web.archive.org/web/20201130142807cs_/https://digiversity.net/wp-content/plugins/standout-color-boxes-and-buttons/css/scbb.css?ver=0.7.0_12202017175626" type="text/css" media="all"/> <script type="text/javascript" src="https://web.archive.org/web/20201130142807js_/https://digiversity.net/wp-content/plugins/easy-twitter-feed-widget/js/twitter-widgets.js?ver=1.0"></script> <script type="text/javascript" src="https://web.archive.org/web/20201130142807js_/https://digiversity.net/wp-content/plugins/lightbox-plus/js/jquery.colorbox.1.5.9-min.js?ver=1.5.9"></script> <script type="text/javascript" src="https://web.archive.org/web/20201130142807js_/https://digiversity.net/wp-includes/js/wp-embed.min.js?ver=4.9.16"></script> <!--stats_footer_test--><script src="https://web.archive.org/web/20201130142807js_/https://stats.wordpress.com/e-202049.js" type="text/javascript"></script> <script type="text/javascript"> st_go({blog:'12067200',v:'ext',post:'1056'}); var load_cmc = function(){linktracker_init(12067200,1056,2);}; if ( typeof addLoadEvent != 'undefined' ) addLoadEvent(load_cmc); else load_cmc(); </script> </div> <!-- Piwik --> <script type="text/javascript"> var pkBaseURL = (("https:" == document.location.protocol) ? "https://web.archive.org/web/20201130142807/https://stats.regionalgeschichte.net/" : "https://web.archive.org/web/20201130142807/http://stats.regionalgeschichte.net/"); document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E")); </script><script type="text/javascript"> try { var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 4); piwikTracker.trackPageView(); piwikTracker.enableLinkTracking(); } catch( err ) {} </script><noscript><p><img src="https://web.archive.org/web/20201130142807im_/http://stats.regionalgeschichte.net/piwik.php?idsite=4" style="border:0" alt=""/></p></noscript> <!-- End Piwik Tracking Code --> </body> </html><!-- FILE ARCHIVED ON 14:28:07 Nov 30, 2020 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 06:03:48 Mar 10, 2025. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.576 exclusion.robots: 0.027 exclusion.robots.policy: 0.016 esindex: 0.011 cdx.remote: 6.172 LoadShardBlock: 177.405 (3) PetaboxLoader3.datanode: 105.469 (4) load_resource: 107.448 PetaboxLoader3.resolve: 55.507 -->

Pages: 1 2 3 4 5 6 7 8 9 10