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