Mercurial > hg > mpdl-group
annotate software/mpdl-services/mpiwg-mpdl-xml/src/de/mpg/mpiwg/berlin/mpdl/xml/test/TestLocal.java @ 23:e845310098ba
diverse Korrekturen
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 27 Nov 2012 12:35:19 +0100 |
parents | dc5e9fcb3fdc |
children |
rev | line source |
---|---|
18 | 1 package de.mpg.mpiwg.berlin.mpdl.xml.test; |
2 | |
23
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
3 import java.io.File; |
18 | 4 import java.net.URL; |
5 | |
23
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
6 import org.apache.commons.io.FileUtils; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
7 |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
8 import net.sf.saxon.s9api.Axis; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
9 import net.sf.saxon.s9api.QName; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
10 import net.sf.saxon.s9api.XdmNode; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
11 import net.sf.saxon.s9api.XdmSequenceIterator; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
12 |
18 | 13 import de.mpg.mpiwg.berlin.mpdl.exception.ApplicationException; |
23
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
14 import de.mpg.mpiwg.berlin.mpdl.xml.transform.BasicTransformer; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
15 import de.mpg.mpiwg.berlin.mpdl.xml.xquery.Hits; |
18 | 16 import de.mpg.mpiwg.berlin.mpdl.xml.xquery.XQueryEvaluator; |
17 | |
18 public class TestLocal { | |
19 private XQueryEvaluator xQueryEvaluator; | |
20 | |
21 public TestLocal() { | |
22 init(); | |
23 } | |
24 | |
25 public static void main(String[] args) throws ApplicationException { | |
26 try { | |
27 TestLocal test = new TestLocal(); | |
28 test.xqueries(); | |
23
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
29 // test.testTransform(); |
18 | 30 } catch (Exception e) { |
31 e.printStackTrace(); | |
32 } | |
33 } | |
34 | |
35 private void init() { | |
36 xQueryEvaluator = new XQueryEvaluator(); | |
37 } | |
38 | |
23
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
39 private void testTransform() throws ApplicationException { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
40 try { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
41 BasicTransformer basicTransformer = new BasicTransformer(); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
42 String srcUrl = "file:/Users/jwillenborg/tmp/blablabla/Benedetti_1585.xml"; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
43 String xslUrl = "file:/Users/jwillenborg/tmp/blablabla/replaceAnchors.xsl"; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
44 String result = basicTransformer.transform(srcUrl, xslUrl, null, null); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
45 File outFile = new File("/Users/jwillenborg/tmp/blablabla/Benedetti_1585-New.xml"); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
46 FileUtils.writeStringToFile(outFile, result, "utf-8"); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
47 } catch (Exception e) { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
48 throw new ApplicationException(e); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
49 } |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
50 } |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
51 |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
52 private void test() throws ApplicationException { |
18 | 53 String result = null; |
54 try { | |
23
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
55 URL srcUrl = new URL("http://mpdl-system.mpiwg-berlin.mpg.de/mpdl/getDoc?doc=/tei/de/dt-ptolemaeus-tei-merge2.xml"); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
56 srcUrl = new URL("file:/Users/jwillenborg/tmp/errorFile.xml"); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
57 XdmNode docNode = xQueryEvaluator.parse(srcUrl); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
58 String docType = getNodeType(docNode); |
18 | 59 String bla = ""; |
60 } catch (Exception e) { | |
61 throw new ApplicationException(e); | |
62 } | |
63 } | |
23
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
64 |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
65 private void xqueries() throws ApplicationException { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
66 String result = null; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
67 try { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
68 // URL srcUrl = new URL("http://mpdl-system.mpiwg-berlin.mpg.de/mpdl/getDoc?doc=/tei/de/dt-ptolemaeus-tei-merge2.xml"); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
69 URL srcUrl = new URL("file:/Users/jwillenborg/test/dt-ptolemaeus-tei-merge2.xml"); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
70 Hits hits = xQueryEvaluator.evaluate(srcUrl, "//*[@xml:id != '1']", 0, 9); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
71 String bla = ""; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
72 } catch (Exception e) { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
73 throw new ApplicationException(e); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
74 } |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
75 } |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
76 |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
77 private String getNodeType(XdmNode node) { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
78 String nodeType = null; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
79 XdmSequenceIterator iter = node.axisIterator(Axis.CHILD); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
80 if (iter != null) { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
81 while (iter.hasNext()) { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
82 XdmNode firstChild = (XdmNode) iter.next(); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
83 if (firstChild != null) { |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
84 QName nodeQName = firstChild.getNodeName(); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
85 nodeType = nodeQName.getLocalName(); |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
86 } |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
87 } |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
88 } |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
89 return nodeType; |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
90 } |
e845310098ba
diverse Korrekturen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
18
diff
changeset
|
91 |
18 | 92 } |