[GastForen Programme Print/Bildbearbeitung Adobe InDesign XML transformieren um Zeichenformate zuweisen zu können

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

XML transformieren um Zeichenformate zuweisen zu können

Imion
Beiträge gesamt: 141

22. Apr 2008, 08:24
Beitrag # 1 von 6
Bewertung:
(1718 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen zusammen,

ich habe in meinen XML Daten Texte, welche mit <B>Text</B> <I>Text</I> ausgezeichnet sind.

Diese verwende ich dazu, den Text an entsprechender Stelle mittels Zeichenformat Fett oder Kursiv zu stellen.

Nun habe ich auch den Fall, dass beide Tags in Verbindung miteinander kommen, also <B><I>Text</I></B>. Hier wird dann nur eines der beiden Formate angewendet.

Ich habe mir nun gedacht, dass man vielleicht per XSLT die beiden Tags, wenn sie in Verbindung erscheinen zusammen transformieren könnte. Nun ist die Frage, geht das? Und wenn ja wie? Ich bin mit XSLT nicht so firm, und würde mich freuen, wenn mir jemand einen Tip geben könnte wie man da ran gehen müsste.

Gruß, Andreas
X

XML transformieren um Zeichenformate zuweisen zu können

Martin Fischer
  
Beiträge gesamt: 12714

22. Apr 2008, 08:42
Beitrag # 2 von 6
Beitrag ID: #347322
Bewertung:
(1710 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

zu XSLT kann ich nichts sagen.
Aber könnte man aus <B><I>Text</I></B> nicht auch <BI>Text</BI> machen und dem BI ein drittes Zeichenformat 'Bold-Italic' zuweisen?

Überschneidungen müßten allerdings entsprechend aufgelöst werden:

<B><I>Text</I>Text</B> -> <BI>Text</BI><B>Text</B>


als Antwort auf: [#347319]

XML transformieren um Zeichenformate zuweisen zu können

Imion
Beiträge gesamt: 141

22. Apr 2008, 08:55
Beitrag # 3 von 6
Beitrag ID: #347324
Bewertung:
(1695 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

genau das möchte ich gerne machen, beim Import der XML Datei.


als Antwort auf: [#347322]

XML transformieren um Zeichenformate zuweisen zu können

zaphodbeeblebroxx
Beiträge gesamt: 408

22. Apr 2008, 11:30
Beitrag # 4 von 6
Beitrag ID: #347352
Bewertung:
(1646 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Hallo Andreas,

du könntest bei der Bearbeitung der XML-Knoten bei deiner XSLT etwas wie folgt verwenden:

Code
<xsl:template match="B/I"> 
<BI><xsl:apply-templates/></BI>
</xsl:template>


Damit kannst Du den XML-Knoten bei dem "Italic" innerhalb des "Bold"-Tags vorkommt in "<BI>" = BoldItalic umschreiben. in InDesign benötigst Du noch das entsprechende Zeichenformat für BoldItalic.

Für spezielle Fragen zum Thema XSLT kann ich Dir das "Entwicklerforum" empfehlen:

http://entwickler-forum.de/forumdisplay.php?f=369


als Antwort auf: [#347324]

XML transformieren um Zeichenformate zuweisen zu können

Imion
Beiträge gesamt: 141

22. Apr 2008, 15:44
Beitrag # 5 von 6
Beitrag ID: #347422
Bewertung:
(1606 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Matthias,

da ich auch Fälle hab wo der Text so aussieht: <B>Text<U>noch mehr Text</U></B>

musste ich ein tiefer in die Trickkiste greifen. So funktioniert das Skript im XML-Spy


Code
<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="B">
<B>
<xsl:apply-templates select="@*"></xsl:apply-templates>
</B>
</xsl:template>
<xsl:template match="U">
<xsl:choose>
<xsl:when test="count(parent::B[1]) = 1">
<BU><xsl:apply-templates select="@*"></xsl:apply-templates></BU>
</xsl:when>
<xsl:otherwise>
<U><xsl:apply-templates select="@*"></xsl:apply-templates></U>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="I">
<xsl:choose>
<xsl:when test="count(parent::B[1]) = 1">
<BI><xsl:apply-templates select="@*"></xsl:apply-templates></BI>
</xsl:when>
<xsl:otherwise>
<I><xsl:apply-templates select="@*"></xsl:apply-templates></I>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>


Allerdings sagt mir InDesign nun, dass die Daten nicht in die Ausgabe geschrieben werden konnten. Weiß jemand woran das liegt?


als Antwort auf: [#347352]
(Dieser Beitrag wurde von Imion am 22. Apr 2008, 15:46 geändert)

XML transformieren um Zeichenformate zuweisen zu können

zaphodbeeblebroxx
Beiträge gesamt: 408

23. Apr 2008, 10:26
Beitrag # 6 von 6
Beitrag ID: #347545
Bewertung:
(1560 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Hallo Andreas,

zu der Fehlermeldung: Machst Du die Transformation beim XML-Import in InDesign oder vorher in XML-Spy?


als Antwort auf: [#347422]
X