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