Révision 3718

TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZDefaultPagerStep.groovy (revision 3718)
348 348
				ignoreUnmanagedTags = false
349 349
			}
350 350
			String noteContent = ""
351
			String noteType = ""
352
			String rend = ""
351
			String noteType = null
352
			String rend = null
353
			String type = null
353 354
			goToText();
354 355

  
355 356
			String localname = ""
......
359 360

  
360 361
			for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) {
361 362
				rend = "";
363
				type = "";
362 364
				switch (event) {
363 365
					case XMLStreamConstants.START_ELEMENT:
364 366
						localname = parser.getLocalName()
......
382 384
						}
383 385

  
384 386
						rend = getAttributeValue(parser, null, "rend")
387
						type = getAttributeValue(parser, null, "type")
385 388
					//if (rend == null) rend = localname;
386 389

  
387 390
						switch (localname) {
......
438 441
									writeMediaAccess(parser.getAttributeValue(null,"time"), corpus, txtname)
439 442
								}
440 443
								break;
444
							case "q":
445
								pagedWriter.writeStartElement("q", ["class":rend, "type":type!=null?type:localname])
446
								break;
441 447
							case "p":
442 448
							case "ab":
443 449
							case "l":
444 450
							//case "lg":
445 451
								pagedWriter.write("\n")
446
								pagedWriter.writeStartElement("p", ["class":rend, "type":localname])
452
								pagedWriter.writeStartElement("p", ["class":rend, "type":type!=null?type:localname])
447 453
								break;
448 454
							case "sp":
449
								pagedWriter.writeStartElement("p", ["class":"turn", "type":localname])
455
								pagedWriter.writeStartElement("p", ["class":rend, "type":type!=null?type:localname])
450 456

  
451 457
								if (parser.getAttributeValue(null,"speaker") != null) {
452 458
									pagedWriter.writeStartElement("span")
......
459 465
							case "cb":
460 466
								pagedWriter.write("\n")
461 467
								pagedWriter.writeElement("span", ["class":"txmeditioncb", "align":"center"], getAttributeValue(parser, null,"n")) // element ignored in the END_ELEMENT event
468
								//pagedWriter.writeElement("span", ["class":rend, "type":type!=null?type:localname, "align":"center"], getAttributeValue(parser, null,"n")) // element ignored in the END_ELEMENT event
462 469
								break;
463 470
							case "lb":
464
								pagedWriter.writeEmptyElement("br", ["class":rend])
471
								pagedWriter.writeEmptyElement("br", ["class":rend, "type":type!=null?type:localname])
465 472
								break;
466 473
							case "body":
474
							case "front":
475
							case "back":
467 476
							case "div":
468 477
							case "div1":
469 478
							case "div2":
470 479
							case "div3":
471 480
							case "div4":
472 481
							case "div5":
473
								pagedWriter.writeStartElement("div", ["class":rend, "type":localname])
482
								pagedWriter.writeStartElement("div", ["class":rend, "type":type!=null?type:localname])
474 483
								pagedWriter.write("\n");
475 484
								break;
476 485
							case "head":
477 486
								pagedWriter.write("\n")
478
								pagedWriter.writeStartElement("h2", ["class":rend])
487
								pagedWriter.writeStartElement("h2", ["class":rend, "type":type!=null?type:localname])
479 488
								break;
480 489
							case "graphic":
481 490
								pagedWriter.write("\n");
482 491
								String url = getAttributeValue(parser, null, "url")
483 492
								if (url != null) {
484 493
									// TEI <graphic rend="left-image" url="image.png"/> -> <center class="left-image"><img href="image.png"/></center> + <moncorpus>.css avec rule ".left-image"
485
									pagedWriter.writeStartElement("center", ["class":rend]) // css -> .<rend> { ... } styles OR
494
									pagedWriter.writeStartElement("center", ["class":rend, "type":type!=null?type:localname]) // css -> .<rend> { ... } styles OR
486 495
									pagedWriter.writeEmptyElement("img", ["src":url, "align":"middle"])
487 496
									pagedWriter.writeEndElement() // center
488 497
								}
......
491 500
								if ("unordered" == rend || "bulleted" == rend) {
492 501
									pagedWriter.writeStartElement("ul", ["class":rend])
493 502
								} else if ("ordered" == rend || "numbered" == rend) {
494
									pagedWriter.writeStartElement("ol", ["class":rend])
503
									pagedWriter.writeStartElement("ol", ["class":rend], "type":type!=null?type:localname)
495 504
								} else {
496
									pagedWriter.writeStartElement("ul", ["class":rend])
505
									pagedWriter.writeStartElement("ul", ["class":rend], "type":type!=null?type:localname)
497 506
								}
498 507
								break
499 508
							case "item":
500 509
								pagedWriter.writeStartElement("li", ["class":rend])
501 510
								break;
511
							case "del":
512
								pagedWriter.writeStartElement("strike", ["class":rend])
513
								pagedWriter.write("\n");
514
								break;
502 515
							case "hi":
503 516
							case "emph":
504 517
								if ("i".equals(rend) || "italic".equals(rend)) {
......
532 545
								}
533 546
								break;
534 547
							case "ref":
535
								pagedWriter.writeStartElement("a")
536
								pagedWriter.writeAttribute("href", getAttributeValue(parser, null, "target"))
537
								pagedWriter.writeAttribute("target", "_blank")
538
								pagedWriter.writeAttribute("class", rend)
548
								pagedWriter.writeStartElement("a", ["href":getAttributeValue(parser, null, "target"), "class":rend, "target": "_blank", "type":type!=null?type:localname])
539 549
								break;
540 550
							case "form":
541 551
								wordvalue=""
......
543 553
								break;
544 554
							case "ana":
545 555
								flaginterp=true;
546
								anaType = getAttributeValue(parser, null, "type").substring(1)
556
								anaType = type.substring(1)
547 557
								anaResp = getAttributeValue(parser, null, "resp").substring(1)
548 558
								anaValue.setLength(0)
549 559
								break;
......
569 579
								if (noteElements.contains(localname)) {
570 580
									flagNote = true;
571 581
									noteContent = ""
572
									noteType = getAttributeValue(parser, null, "type")
582
									noteType = type
573 583
								} else if (allTags && !flagW && localname != paginationElement) {
574 584
									pagedWriter.writeStartElement("span", ["class":localname])
575 585
								} else if (ignoreUnmanagedTags && !flagW && localname != paginationElement) {
......
602 612
								pagedWriter.writeEmptyElement("br")
603 613
								break;
604 614
							case "p":
615
							case "q":
605 616
							case "ab":
606 617
							case "l":
607 618
							case "sp":
......
613 624
								break;
614 625
							case "lb":
615 626
								break;
616

  
617 627
							case "body":
628
							case "front":
629
							case "back":
618 630
							case "div":
619 631
							case "div1":
620 632
							case "div2":
......
638 650
								pagedWriter.writeEndElement() // li
639 651
								pagedWriter.write("\n")
640 652
								break;
653
							case "del":
641 654
							case "hi":
655
							case "emph":
642 656
								pagedWriter.writeEndElement() // b
643 657
								break;
644
							case "emph":
645
								pagedWriter.writeEndElement() // i
646
								break;
647 658
							case "table":
648 659
								pagedWriter.writeEndElement() // table
649 660
								pagedWriter.write("\n");
......
711 722
									flagNote = false;
712 723
									if (noteContent.length() > 0) {
713 724
										notes << noteContent;
714
										pagedWriter.writeStartElement("a", ["class": "note", "href":"#note_"+notes.size(), "name":"noteref_"+notes.size(), "title":noteContent, "type":noteType]);
725
										String tmp = noteContent.trim().replaceAll("  ", " ")
726
										if (tmp.startsWith("<") && tmp.endsWith(">")) {
727
											tmp = tmp.replaceAll("<[^>]+>", "")
728
										}
729
										pagedWriter.writeStartElement("a", ["class": rend, "href":"#note_"+notes.size(), "name":"noteref_"+notes.size(), "title":tmp, "type":noteType!=null?noteType:localname]);
715 730
										pagedWriter.writeStartElement("sup")
716 731
										pagedWriter.writeCharacters(""+notes.size())
717 732
										pagedWriter.writeEndElement() // </sub>

Formats disponibles : Unified diff