Search the FirstSpirit Knowledge Base
Hallo,
ich soll aus Seiten u.a. mit einer DOM-Tabelle eine XML-Datei machen (das sind spezielle Seiten mit wenig zugelassenen Absätzen).
Ich will nun über die "CMS_Funktion tabelle" gehen. Das scheint auch so weit zu klappen.
Die einzelnen Werte der Zellen (innerhalb von "CELLSPEC") wollte ich in einen <![CDATA[ .... ]]> augeben. Beim Speichern bekomme ich die Meldung "tag 'CELLSPEC' not closed".
Eine Möglichkeit die ich gefunden habe ist über eine Formatvorlage zu gehen. Innerhalb von CellSPAC rufe ich
$CMS_RENDER(template:"sssssssssss",f_content:#content)$
auf. Und in dem Tamplate baue ich das "CDATA" drumherum. Das funktioniert.
Geht dass auch einfacher indem das <![CDATA[ .... ]]> "irgedwie im CELLSPEC als "nicht zu interpretieren" markiert wird?
Geht dass auch einfacher indem das <![CDATA[ .... ]]> "irgedwie im CELLSPEC als "nicht zu interpretieren" markiert wird?
Es sollte reichen, die spitzen Klammern durch Entitäten zu ersetzen:
<CELLSPEC name="BEZEICHNER"><![CDATA[...]]></CELLSPEC>
Hallo Herr Jodeleit,
im ersten Versuch klappt das schon.
Allerdings haben wir in dem Text der ausgegeben werden soll unter anderem auch ein "&" (z.B. in Standard & Poor‘s) stehen. Dann kommt es mit Ihrem zu einem Fehler (mit "<" statt "<" kommt der fehler nicht).
Grüße aus Dresden
Andreas
Eventuell hilft es, Quelltext(-Fragment) zu posten. Ein Ersetzen aller spitzen Klammern und Kaufmanns-Und-Zeichen durch die entsprechenden Entitäten müsste zu gültigem XML führen.
--Peter
Mit dem erstezne klappt das dann. Nur steht dann halt auch ein "&" statt einem "&" in der XML-Datei. Dass muss dann beim Import wieder umgewandelt werden. und der "<![CDATA ..." sieht dann so aus: "<![CDATA ...".
Mir ist das relativ egal, aber es soll ja auch relativ einfach in die Zielanwendung importiert bzw. ausgewertet werden können.
Nur steht dann halt auch ein "&" statt einem "&" in der XML-Datei.
Im Template meinst du? In der Ausgabe steht wieder ein "&"... (das macht der XML-Parser ja transparent).
In der Ansicht der XML-Datei schon, aber nicht im Quelltext.
Wie gesagt ich habe keine Ahnung wie die XML-Datei weiter verarbeitet wird, da dies nicht in unserem haus geschieht.
Leider weiss ich nicht, was du mit Quelltext meinst. Ich kann nur sagen, was FirstSpirit macht. Und das schreibt "<![CDATA[ Standard & Poor‘s ]]>" wenn im Template "<CELLSPEC ...><![CDATA[ Standard < Poor's ]]></CELLSPEC>" steht.
Ich vermute aber, das der Text "Standard & Poor's" aus einer Komponente kommt und daher durch eine Ersetzungsregel das "&" wieder in eine Entität umwandelt. D.h. du müsstest das wieder rückgängig machen. Z.B. $CMS_VALUE(hurz.replaceAll("<", "&"))$.
Eine Frage: Wäre es nicht einfacher, das statt dem CDATA in die Ausgabe einen normalen Textknoten zu schreiben?
Da hab ich wohl noch etwas falsch eingestellt.
Bei mir steht im Quelltext (in der generierten Datei)
<![CDATA[Standard & Poor's]]>