Mercurial > hg > mpdl-group
annotate software/mpdl-services-new/mpiwg-mpdl-cms/src/de/mpg/mpiwg/berlin/mpdl/cms/transform/PageTransformer.java @ 25:e9fe3186670c default tip
letzter Stand eingecheckt
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 21 May 2013 10:19:32 +0200 |
parents | |
children |
rev | line source |
---|---|
25
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1 package de.mpg.mpiwg.berlin.mpdl.cms.transform; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3 import java.io.IOException; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 import java.io.StringReader; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 import java.io.StringWriter; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 import java.net.URL; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 import javax.xml.transform.stream.StreamSource; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 import de.mpg.mpiwg.berlin.mpdl.cms.document.MetadataRecord; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 import de.mpg.mpiwg.berlin.mpdl.exception.ApplicationException; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 import net.sf.saxon.s9api.Processor; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 import net.sf.saxon.s9api.QName; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15 import net.sf.saxon.s9api.SaxonApiException; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16 import net.sf.saxon.s9api.Serializer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17 import net.sf.saxon.s9api.XdmAtomicValue; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18 import net.sf.saxon.s9api.XdmValue; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 import net.sf.saxon.s9api.XsltCompiler; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 import net.sf.saxon.s9api.XsltExecutable; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 import net.sf.saxon.s9api.XsltTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23 public class PageTransformer { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24 private int counter = 0; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25 private Processor processor; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26 private XsltCompiler xsltCompiler; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
27 private XsltTransformer pageTeiTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
28 private XsltTransformer pageEchoTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
29 private XsltTransformer pageArchimedesTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
30 private XsltTransformer pageXhtmlTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
31 private XsltTransformer pageXmlTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
32 private String displayWordOptions; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
33 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
34 public PageTransformer() throws ApplicationException { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
35 init(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
36 } |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
38 public void setDisplayWordOptions(String displayWordOptions) { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
39 this.displayWordOptions = displayWordOptions; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
40 } |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
42 private void init() throws ApplicationException { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
43 try { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
44 processor = new Processor(false); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
45 xsltCompiler = processor.newXsltCompiler(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
46 URL getFragmentXslUrl = PageTransformer.class.getResource("pageTei.xsl"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
47 StreamSource xslStreamSource = new StreamSource(getFragmentXslUrl.openStream()); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
48 XsltExecutable xsltExecutable = xsltCompiler.compile(xslStreamSource); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
49 pageTeiTransformer = xsltExecutable.load(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
50 getFragmentXslUrl = PageTransformer.class.getResource("pageEcho.xsl"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
51 xslStreamSource = new StreamSource(getFragmentXslUrl.openStream()); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 xsltExecutable = xsltCompiler.compile(xslStreamSource); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
53 pageEchoTransformer = xsltExecutable.load(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
54 getFragmentXslUrl = PageTransformer.class.getResource("pageArchimedes.xsl"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
55 xslStreamSource = new StreamSource(getFragmentXslUrl.openStream()); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
56 xsltExecutable = xsltCompiler.compile(xslStreamSource); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
57 pageArchimedesTransformer = xsltExecutable.load(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
58 getFragmentXslUrl = PageTransformer.class.getResource("pageXhtml.xsl"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
59 xslStreamSource = new StreamSource(getFragmentXslUrl.openStream()); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
60 xsltExecutable = xsltCompiler.compile(xslStreamSource); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
61 pageXhtmlTransformer = xsltExecutable.load(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
62 getFragmentXslUrl = PageTransformer.class.getResource("pageXml.xsl"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
63 xslStreamSource = new StreamSource(getFragmentXslUrl.openStream()); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
64 xsltExecutable = xsltCompiler.compile(xslStreamSource); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
65 pageXmlTransformer = xsltExecutable.load(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
66 } catch (SaxonApiException e) { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
67 throw new ApplicationException(e); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
68 } catch (IOException e) { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
69 throw new ApplicationException(e); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
70 } |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
71 } |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
72 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
73 public String transform(String inputStr, MetadataRecord mdRecord, int page, String outputFormat) throws ApplicationException { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
74 String pageFragment = null; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
75 String schemaName = mdRecord.getSchemaName(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
76 if (schemaName != null) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
77 schemaName = schemaName.toLowerCase(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
78 try { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
79 XsltTransformer transformer = null; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
80 if (schemaName != null && schemaName.equals("tei") && outputFormat.equals("html")) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
81 transformer = pageTeiTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
82 else if (schemaName != null && schemaName.equals("echo") && outputFormat.equals("html")) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
83 transformer = pageEchoTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
84 else if (schemaName != null && schemaName.equals("archimedes") && outputFormat.equals("html")) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
85 transformer = pageArchimedesTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
86 else if (schemaName != null && (schemaName.equals("html") || schemaName.equals("xhtml")) && outputFormat.equals("html")) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
87 transformer = pageXhtmlTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
88 else if (outputFormat.equals("xmlDisplay")) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
89 transformer = pageXmlTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
90 else |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
91 transformer = pageTeiTransformer; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
92 StringReader inputStrReader = new StringReader(inputStr); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
93 StreamSource xmlDoc = new StreamSource(inputStrReader); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
94 Serializer serializer = new Serializer(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
95 serializer.setOutputWriter(new StringWriter()); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
96 serializer.setOutputProperty(Serializer.Property.SAXON_STYLESHEET_VERSION, "2.0"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
97 serializer.setOutputProperty(Serializer.Property.METHOD, "xml"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
98 serializer.setOutputProperty(Serializer.Property.MEDIA_TYPE, "text/html"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
99 serializer.setOutputProperty(Serializer.Property.INDENT, "no"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
100 serializer.setOutputProperty(Serializer.Property.OMIT_XML_DECLARATION, "yes"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
101 serializer.setOutputProperty(Serializer.Property.ENCODING, "utf-8"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
102 transformer.setSource(xmlDoc); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
103 transformer.setDestination(serializer); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
104 String displayWordOptionsStr = ""; // default: empty: display all word parts (dictionaryPart, orig reg, norm) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
105 if (displayWordOptions != null) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
106 displayWordOptionsStr = displayWordOptions; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
107 QName displayWordOptionsQName = new QName("displayWordOptions"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
108 XdmValue displayWordOptionsXdmValue = new XdmAtomicValue(displayWordOptionsStr); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
109 transformer.setParameter(displayWordOptionsQName, displayWordOptionsXdmValue); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
110 String echoFiguresDir = mdRecord.getEchoFiguresDir(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
111 QName echoFiguresDirQName = new QName("echoFiguresDir"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
112 XdmValue echoFiguresDirXdmValue = new XdmAtomicValue(echoFiguresDir); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
113 transformer.setParameter(echoFiguresDirQName, echoFiguresDirXdmValue); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
114 String echoPageImgDir = mdRecord.getEchoPageImageDir(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
115 QName echoPageImgDirQName = new QName("echoPageImgDir"); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
116 XdmValue echoPageImgDirXdmValue = new XdmAtomicValue(echoPageImgDir); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
117 transformer.setParameter(echoPageImgDirQName, echoPageImgDirXdmValue); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
118 transformer.transform(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
119 pageFragment = serializer.getOutputDestination().toString(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
120 } catch (Exception e) { |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
121 throw new ApplicationException(e); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
122 } |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
123 counter++; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
124 if (counter == 100) |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
125 init(); |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
126 return pageFragment; |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
127 } |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
128 |
e9fe3186670c
letzter Stand eingecheckt
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
129 } |