* -------------------------------- Opac abfragen und erhaltenes Dom-Dokument in JDom-Dokument umwandeln --------------------------------
*/
Node myHitlist = myOpac.retrievePicaNode(myQuery, 1);
/* Opac-Beautifier aufrufen */
myHitlist = this.coc.executeBeautifier(myHitlist);
Document myJdomDoc = new DOMBuilder().build(myHitlist.getOwnerDocument());
Element myFirstHit = myJdomDoc.getRootElement().getChild("record");
/* von dem Treffer den Dokumententyp ermitteln */
this.gattung = getGattung(myFirstHit);
myLogger.debug("Gattung: " + this.gattung);
/*
* -------------------------------- wenn der Treffer ein Volume eines Multivolume-Bandes ist, dann das Sammelwerk überordnen
* --------------------------------
*/
// if (isMultivolume()) {
if (getOpacDocType().isMultiVolume()) {
/* Sammelband-PPN ermitteln */
String multiVolumePpn = getPpnFromParent(myFirstHit, "036D", "9");
if (multiVolumePpn != "") {
/* Sammelband aus dem Opac holen */
myQuery = new Query(multiVolumePpn, "12");
/* wenn ein Treffer des Parents im Opac gefunden wurde */
if (myOpac.getNumberOfHits(myQuery) == 1) {
Node myParentHitlist = myOpac.retrievePicaNode(myQuery, 1);
/* Opac-Beautifier aufrufen */
myParentHitlist = this.coc.executeBeautifier(myParentHitlist);
/* Konvertierung in jdom-Elemente */
Document myJdomDocMultivolumeband = new DOMBuilder().build(myParentHitlist.getOwnerDocument());
/* Testausgabe */
// XMLOutputter outputter = new XMLOutputter();
// FileOutputStream output = new
// FileOutputStream("D:/fileParent.xml");
// outputter.output(myJdomDocMultivolumeband.getRootElement(),
// output);
/* dem Rootelement den Volume-Treffer hinzufügen */
myFirstHit.getParent().removeContent(myFirstHit);
myJdomDocMultivolumeband.getRootElement().addContent(myFirstHit);
/* Testausgabe */
// output = new FileOutputStream("D:/fileFull.xml");
// outputter.output(myJdomDocMultivolumeband.getRootElement(),
// output);
myJdomDoc = myJdomDocMultivolumeband;
myFirstHit = myJdomDoc.getRootElement().getChild("record");
/* die Jdom-Element wieder zurück zu Dom konvertieren */
DOMOutputter doutputter = new DOMOutputter();
myHitlist = doutputter.output(myJdomDocMultivolumeband);
/*
* dabei aber nicht das Document, sondern das erste Kind nehmen
*/
myHitlist = myHitlist.getFirstChild();
}
}
}
/*
* -------------------------------- wenn der Treffer ein Contained Work ist, dann übergeordnetes Werk --------------------------------
*/
// if (isContainedWork()) {
if (getOpacDocType().isContainedWork()) {
/* PPN des übergeordneten Werkes ermitteln */
String ueberGeordnetePpn = getPpnFromParent(myFirstHit, "021A", "9");
if (ueberGeordnetePpn != "") {
/* Sammelband aus dem Opac holen */
myQuery = new Query(ueberGeordnetePpn, "12");
/* wenn ein Treffer des Parents im Opac gefunden wurde */
if (myOpac.getNumberOfHits(myQuery) == 1) {
Node myParentHitlist = myOpac.retrievePicaNode(myQuery, 1);
/* Opac-Beautifier aufrufen */
myParentHitlist = this.coc.executeBeautifier(myParentHitlist);
/* Konvertierung in jdom-Elemente */
Document myJdomDocParent = new DOMBuilder().build(myParentHitlist.getOwnerDocument());
Element myFirstHitParent = myJdomDocParent.getRootElement().getChild("record");
/* Testausgabe */
// XMLOutputter outputter = new XMLOutputter();
// FileOutputStream output = new
// FileOutputStream("D:/fileParent.xml");