Révision 3222
tmp/org.txm.groovy.core/src/groovy/org/txm/macro/table/Table2XMLMacro.groovy (revision 3222) | ||
---|---|---|
56 | 56 |
|
57 | 57 |
@Field @Option(name="structureTitleColumnList", usage="structure textual content columns", widget="String", required=false, def="Titre propre,Date de diffusion") |
58 | 58 |
def structureTitleColumnList; |
59 |
|
|
60 |
@Field @Option(name="structureSortColumnList", usage="structure textual content columns", widget="String", required=false, def="antract_debut,Identifiant de la notice") |
|
61 |
def structureSortColumnList; |
|
59 | 62 |
|
60 | 63 |
@Field @Option(name="typesSeparator", usage="Columns types", widget="Separator", required=false, def="Columns types") |
61 | 64 |
def typesSeparator |
... | ... | |
86 | 89 |
structureContentColumnList.remove("") |
87 | 90 |
structureTitleColumnList = structureTitleColumnList.split(",") as List |
88 | 91 |
structureTitleColumnList.remove("") |
89 |
structureTitleColumnList |
|
92 |
structureSortColumnList = structureSortColumnList.split(",") as List |
|
93 |
structureSortColumnList.remove("") |
|
90 | 94 |
dateColumnTypeList = dateColumnTypeList.split(",") as List |
91 | 95 |
dateColumnTypeList.remove("") |
92 | 96 |
prefixesColumnTypeList = prefixesColumnTypeList.split(",") as List |
... | ... | |
136 | 140 |
def ok = true |
137 | 141 |
def hash = ["selection":[textIDColumn, textJoinColumn], "textMetadataColumnList":textMetadataColumnList, |
138 | 142 |
"textContentColumnList":textContentColumnList, "structureMetadataColumnList":structureMetadataColumnList, |
139 |
"structureContentColumnList":structureContentColumnList, "structureTitleColumnList":structureTitleColumnList] |
|
143 |
"structureContentColumnList":structureContentColumnList, "structureTitleColumnList":structureTitleColumnList, |
|
144 |
"structureSortColumnList":structureSortColumnList] |
|
140 | 145 |
for (def key : hash.keySet()) { |
141 | 146 |
for (def m : hash[key]) { |
142 | 147 |
|
... | ... | |
208 | 213 |
} |
209 | 214 |
outputDirectory.mkdir() |
210 | 215 |
|
216 |
for (def id : texts.keySet()) { |
|
217 |
def toWrite = texts[id] |
|
218 |
def text = toWrite[0] |
|
219 |
toWrite.remove(0) |
|
220 |
toWrite = toWrite.sort{x,y-> |
|
221 |
for (def att : structureSortColumnList) { |
|
222 |
def ret = x.get(att).compareTo(y.get(att)) |
|
223 |
if (ret != 0) { |
|
224 |
return ret |
|
225 |
} |
|
226 |
} |
|
227 |
return 0; |
|
228 |
} |
|
229 |
toWrite.add(0, text) |
|
230 |
texts[id] = toWrite |
|
231 |
|
|
232 |
} |
|
233 |
|
|
211 | 234 |
def metadata = new File(outputDirectory, "metadata.csv") |
212 | 235 |
metadata.delete() |
213 | 236 |
metadata << "id text-order\n" |
... | ... | |
370 | 393 |
def value = record.get(att).replaceAll(" ++", " ") |
371 | 394 |
if (value.length() > 1) { |
372 | 395 |
|
373 |
|
|
374 | 396 |
writer.writeStartElement("list") |
375 | 397 |
writer.writeAttribute("type", "ordered") |
376 | 398 |
writer.writeCharacters("\n") |
... | ... | |
474 | 496 |
found = true |
475 | 497 |
writer.writeCharacters("\t") |
476 | 498 |
writer.writeStartElement("item") |
477 |
writer.writeAttribute("type", matches[0][1]) |
|
499 |
|
|
478 | 500 |
// writer.writeStartElement("p") |
479 | 501 |
matches = (desc =~ /(?s)([A-Z]{3}):? *([^;\n]+?) +[;\n]/) |
502 |
writer.writeAttribute("type", matches[0][1]) |
|
480 | 503 |
|
481 | 504 |
writer.writeStartElement("span") |
482 | 505 |
writer.writeCharacters(matches[0][1]+" ") |
Formats disponibles : Unified diff