{"id":55001058,"date":"2016-10-01T00:00:00","date_gmt":"2020-05-22T15:25:20","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1058"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"XMLExport_CDATA","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/","title":{"rendered":"XML-Export: CDATA"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg09.met.vgwort.de\/na\/85a7836241964146b624e3a0d766bc1d\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>In der vorherigen Ausgabe haben wir uns ausf&uuml;hrlich mit dem Export von Tabellendaten in XML-Dokumente besch&auml;ftigt. Dabei haben wir zum Formen der Ausgabe auch Gebrauch von .xslt-Dateien gemacht, die Anweisungen zur Aufbereitung der Inhalte enthalten. In den Beitr&auml;gen haben wir uns noch keine Gedanken um den Export von Inhalten aus Text- oder Memofeldern gemacht, die als CDATA markiert werden sollen. Was CDATA &uuml;berhaupt ist und wie Sie Ihre Daten als solche markieren, zeigt dieser Beitrag.<\/b><\/p>\n<p>Die beiden Beitr&auml;ge, in denen wir uns um den Export von Daten aus Access-Tabellen in XML-Dateien gek&uuml;mmert haben, hei&szlig;en <b>XML-Export ohne VBA <\/b>(<b>www.access-im-unternehmen.de\/1045<\/b>) und <b>XML-Export mit VBA <\/b>(<b>www.access-im-unternehmen.de\/1046<\/b>). Hier haben wir beispielsweise die Tabelle <b>tblKategorien<\/b>, deren Werte aus den Feldern <b>Beschreibung <\/b>(<b>Memo<\/b>) und <b>Abbildung <\/b>(<b>OLE-Objekt<\/b>) gegebenenfalls einfach in herk&ouml;mmliche XML-Elemente geschrieben wurden &#8211; also etwa so:<\/p>\n<pre>&lt;xml version=\"1.0\" encoding=\"UTF-8\"&gt;\r\n&lt;dataroot xmlns:od=\"urn:schemas-microsoft-com:officedata\" \r\n                           generated=\"2016-09-04T17:33:45\"&gt;\r\n   &lt;tblKategorien&gt;\r\n     &lt;KategorieID&gt;1&lt;\/KategorieID&gt;\r\n     &lt;Kategoriename&gt;Getr&auml;nke&lt;\/Kategoriename&gt;\r\n     &lt;Beschreibung&gt;Alkoholfreie Getr&auml;nke, Kaffee, Tee, \r\n                                        Bier&lt;\/Beschreibung&gt;\r\n   &lt;\/tblKategorien&gt;\r\n   ...\r\n&lt;\/dataroot&gt;<\/pre>\n<p>Unser Ziel ist aber nun, den Inhalt des Feldes <b>Beschreibung <\/b>wie folgt im XML-Dokument zu speichern:<\/p>\n<pre>&lt;Beschreibung&gt;&lt;![CDATA[Alkoholfreie Getr&auml;nke, Kaffee, Tee, Bier]]&gt;&lt;\/Beschreibung&gt;<\/pre>\n<p>Innerhalb des Beschreibung-Elements sollen also noch ein &ouml;ffnendes <b>&lt;![CDATA[ <\/b>und ein schlie&szlig;endes <b>]]&gt; <\/b>um den Inhalt herum eingef&uuml;gt werden.<\/p>\n<p>Was aber ist <b>CDATA<\/b> &uuml;berhaupt und was ist unser Nutzen, wenn wir den Inhalt des Elements damit einfassen Gelegentlich kommt es vor, dass die in der Datenbank enthaltenen Zeichenketten auch Zeichen wie das Kleiner(<)- oder Gr&ouml;&szlig;er-Zeichen(>) enthalten. Solange sich dieses in einem Feld einer Access-Tabelle befindet, machen diese keinen &auml;rger. Wenn Sie einen solchen Inhalt aber in ein XML-Dokument exportieren, dann w&uuml;rde dies als Element-Markup interpretiert werden. Wie Sie wissen, werden das Gr&ouml;&szlig;er- und das Kleiner-Zeichen ja zum Markieren des Beginns und des Endes eines XML-Elements verwendet (<b><Beschreibung>&#8230;<\/Beschreibung><\/b>).<\/p>\n<p>Taucht dann innerhalb dieser Markierungen im Inhalt eines dieser Zeichen auf, wird es nicht als Zeichen, sondern als neues Elementmarkup ausgewertet. Im folgenden Beispiel war jemand faul und hat statt des Wortes <b>kleiner <\/b>das Kleiner-Zeichen verwendet:<\/p>\n<pre>&lt;b&gt;Die Anzahl der Artikel dieser Kategorie ist &lt; als die der &uuml;brigen Kategorien.<\/pre>\n<p>Soll dies nun in ein XML-Dokument exportiert werden, wird Folgendes daraus:<\/p>\n<pre>&lt;b&gt;&lt;Bes&lt;\/b&gt;chreibung&gt;Die Anzahl der Artikel dieser Kategorie ist &lt; als die der &uuml;brigen Kategorien.&lt;\/Beschreibung&gt;<\/pre>\n<p>Das Kleiner-Zeichen wird also automatisch durch <b>&lt; <\/b>ersetzt, eine sogenannte HTML-Entit&auml;t. Wenn das nicht geschehen w&uuml;rde, weil wir das XML-Dokument beispielsweise nicht &uuml;ber den eingebauten XML-Export erstellen, sondern per VBA, erhielten wir die folgende Zeile:<\/p>\n<pre>&lt;b&gt;&lt;Bes&lt;\/b&gt;chreibung&gt;Die Anzahl der Artikel dieser Kategorie ist &lt; als die der &uuml;brigen Kategorien.&lt;\/Beschreibung&gt;<\/pre>\n<p>W&uuml;rden Sie diese Datei in einem XML-Editor &ouml;ffnen, w&uuml;rde diese beispielsweise die Fehlermeldungen aus Bild 1 liefern. Das hei&szlig;t also, dass wir entweder mit der Darstellung mit den Entit&auml;ten wie eben <b>&lt; <\/b>f&uuml;r das Kleiner-Zeichen leben m&uuml;ssen oder aber den Inhalt als <b>CDATA<\/b>-Block ausgeben.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_05\/pic_1058_001.png\" alt=\"Fehlermeldungen beim Anzeigen einer XML-Datei mit unzul&auml;ssigen Markupzeichen\" width=\"649,4275\" height=\"410,7416\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Fehlermeldungen beim Anzeigen einer XML-Datei mit unzul&auml;ssigen Markupzeichen<\/span><\/b><\/p>\n<h2>Anwendungsf&auml;lle f&uuml;r CDATA<\/h2>\n<p>W&auml;hrend es oft durch Zufall geschieht, dass ein Zeichen in einer Tabelle landet, das f&uuml;r die Ausgabe in ein XML-Dokument speziell behandelt werden muss, gibt es auch Anwendungsf&auml;lle, bei denen dies regelm&auml;&szlig;ig vorkommt. Wenn Sie etwa in einem Tabellenfeld den Inhalt eines XML-Dokuments selbst speichern und dieses als Teil eines XML-Dokuments exportieren wollen, sollten Sie dieses der Einfachheit halber einfach in einen <b>CDATA<\/b>-Block einfassen.<\/p>\n<h2>Ansatz mit Bordmitteln<\/h2>\n<p><!--30percent--><\/p>\n<p>Die beiden oben genannten Beitr&auml;ge haben die M&ouml;glichkeiten des XML-Exports direkt &uuml;ber die Benutzeroberfl&auml;che sowie per VBA vorgestellt. Den Weg &uuml;ber die Benutzeroberfl&auml;che lassen wir an dieser Stelle zun&auml;chst au&szlig;en vor, da wir davon ausgehen, dass XML-Exporte, wenn &uuml;berhaupt, auch regelm&auml;&szlig;ig stattfinden und dass die immer gleiche Abfolge von Schritten &uuml;ber den Export-Assistenten keine Dauerl&ouml;sung ist. Stattdessen schauen wir uns die kleine Routine aus Listing 1 an, die den Export und die Transformation in zwei Schritten vollzieht. Der erste Schritt verwendet die <b>ExportXML<\/b>-Methode des <b>Application<\/b>-Objekts, um die Tabelle <b>tblKategorien <\/b>in die Datei <b>Kategorien_Untransformiert.xml <\/b>des aktuellen Anwendungsordners zu exportieren.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>ExportUndXSLT()\r\n     <span style=\"color:blue;\">Dim <\/span>objUntransformiert<span style=\"color:blue;\"> As <\/span>MSXML2.DOMDocument\r\n     <span style=\"color:blue;\">Dim <\/span>objXSLT<span style=\"color:blue;\"> As <\/span>MSXML2.DOMDocument\r\n     <span style=\"color:blue;\">Dim <\/span>objTransformiert<span style=\"color:blue;\"> As <\/span>MSXML2.DOMDocument\r\n     Application.ExportXML acExportTable, \"tblKategorien\", CurrentProject.Path & \"\\Kategorien_Untransformiert.xml\"\r\n     <span style=\"color:blue;\">Set<\/span> objUntransformiert = <span style=\"color:blue;\">New<\/span> MSXML2.DOMDocument\r\n     objUntransformiert.Load CurrentProject.Path & \"\\Kategorien_Untransformiert.xml\"\r\n     <span style=\"color:blue;\">Set<\/span> objXSLT = <span style=\"color:blue;\">New<\/span> MSXML2.DOMDocument\r\n     objXSLT.Load CurrentProject.Path & \"\\Kategorien.xslt\"\r\n     <span style=\"color:blue;\">Set<\/span> objTransformiert = <span style=\"color:blue;\">New<\/span> MSXML2.DOMDocument\r\n     objUntransformiert.transformNodeToObject objXSLT, objTransformiert\r\n     objTransformiert.Save CurrentProject.Path & \"\\Kategorien_Transformiert.xml\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Export mit einer .xslt-Vorlage, welche ein Feld in einen CDATA-Block einfasst<\/span><\/b><\/p>\n<p>Dieses l&auml;dt die Routine dann in die Variable <b>objUntransformiert <\/b>und erstellt ein weiteres <b>DOMDocument<\/b>-Objekt, in das sie die <b>.xslt<\/b>-Datei  <b>Kategorien.xslt <\/b>mit den Informationen f&uuml;r die Transformation f&uuml;llt. F&uuml;r das <b>DOMDocument<\/b>-Objekt <b>objUntransformiert <\/b>f&uuml;hrt sie dann die Methode <b>transformNode <\/b>aus und &uuml;bergibt die <b>.xslt<\/b>-Datei als ersten und die Objektvariable <b>objTransformiert <\/b>als zweiten Parameter. Diese soll mit der transformierten Version des Dokuments aus <b>objUntransformiert <\/b>gef&uuml;llt und dann unter dem Namen <b>Kategorien_Transformiert.xml <\/b>gespeichert werden.<\/p>\n<p>Dazu schauen wir uns auch noch die <b>.xslt<\/b>-Datei an, die wie in Listing 2 aussieht. Die grundlegende Funktionsweise einer solchen Datei haben wir bereits im Beitrag <b>XML-Dokumente transformieren mit XSLT <\/b>(<b>www.access-im-unternehmen.de\/1047<\/b>) vorgestellt. Die hier verwendete Datei soll ein Root-Element namens <b>Bestellverwaltung <\/b>anlegen und darin die einzelnen <b>Kategorie<\/b>-Elemente, die im Dokument <b>Kategorien_Untransformiert.xml <\/b>noch <b>tblKategorien <\/b>hei&szlig;en. Besonderes Augenmerk legen wir dabei auf den Inhalt des Elements <b>Beschreibung<\/b>, das wir ja in einen <b>CDATA<\/b>-Block einfassen wollen. Das Element beginnt mit der folgenden Zeile, also dem Starttag:<\/p>\n<pre>&lt;xml version=\"1.0\" encoding=\"utf-8\"&gt;\r\n&lt;xsl:stylesheet version=\"1.0\"\r\n   xmlns:xsl=\"http:\/\/www.w3.org\/1999\/XSL\/Transform\"\r\n   xmlns=\"http:\/\/www.w3.org\/TR\/REC-html40\"&gt;\r\n   &lt;xsl:template match=\"dataroot\"&gt;\r\n     &lt;Bestellverwaltung&gt;\r\n       &lt;xsl:text&gt;&#xa;&lt;\/xsl:text&gt;\r\n       &lt;xsl:for-each select=\"tblKategorien\"&gt;\r\n         &lt;Kategorie&gt;\r\n           &lt;xsl:attribute name=\"KategorieID\"&gt;&lt;xsl:value-of select=\"KategorieID\"\/&gt;&lt;\/xsl:attribute&gt;\r\n           &lt;xsl:text&gt;&#xa;&lt;\/xsl:text&gt;\r\n           &lt;Kategoriename&gt;&lt;xsl:value-of select=\"Kategoriename\"\/&gt;&lt;\/Kategoriename&gt;\r\n           &lt;xsl:text&gt;&#xa;&lt;\/xsl:text&gt;\r\n           &lt;Beschreibung&gt;\r\n             &lt;xsl:text disable-output-escaping=\"yes\"&gt;&lt;![CDATA[&lt;\/xsl:text&gt;\r\n             &lt;xsl:value-of select=\"Beschreibung\"\/&gt;\r\n             &lt;xsl:text disable-output-escaping=\"yes\"&gt;]]&gt;&lt;\/xsl:text&gt;\r\n           &lt;\/Beschreibung&gt;\r\n           &lt;xsl:text&gt;&#xa;&lt;\/xsl:text&gt;\r\n         &lt;\/Kategorie&gt;\r\n         &lt;xsl:text&gt;&#xa;&lt;\/xsl:text&gt;\r\n       &lt;\/xsl:for-each&gt;\r\n     &lt;\/Bestellverwaltung&gt;\r\n   &lt;\/xsl:template&gt;\r\n&lt;\/xsl:stylesheet&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: .xslt-Datei, die den Inhalt des Feldes Beschreibung in einen CDATA-Block einfasst<\/span><\/b><\/p>\n<pre>&lt;Beschreibung&gt;<\/pre>\n<p>Dann folgt die Zeichenfolge <b>&lt;![CDATA[<\/b>, wobei wir f&uuml;r die Ausgabe dieses Ausdrucks als <b>xsl:text<\/b>-Element das Attribut <b>disable-output-escaping <\/b>auf <b>yes <\/b>einstellen und das Kleiner-Zeichen als HTML-Entit&auml;t, also <b>&lt;<\/b>, angeben:<\/p>\n<pre>&lt;xsl:text disable-output-escaping=\"yes\"&gt;&lt;![CDATA[&lt;\/xsl:text&gt;<\/pre>\n<p>Anschlie&szlig;end folgt der Inhalt des Elements <b>Beschreibung <\/b>des Ausgangsdokuments:<\/p>\n<pre>&lt;xsl:value-of select=\"Beschreibung\"\/&gt;<\/pre>\n<p>Die abschlie&szlig;enden Zeichen des <b>CDATA<\/b>-Blocks werden wieder mit der entsprechenden HTML-Entit&auml;t f&uuml;r das Gr&ouml;&szlig;er-Zeichen angegeben:<\/p>\n<pre>&lt;xsl:text disable-output-escaping=\"yes\"&gt;]]&gt;&lt;\/xsl:text&gt;<\/pre>\n<p>Den Abschluss bildet schlie&szlig;lich das schlie&szlig;ende <b>Beschreibung<\/b>-Tag:<\/p>\n<pre>&lt;\/Beschreibung&gt;<\/pre>\n<p>Das Ergebnis nach dem Erstellen und Transformieren entspricht allerdings nicht ganz unseren Erwartungen &#8211; hier nur das <b>Beschreibung<\/b>-Element:<\/p>\n<pre>&lt;Beschreibung&gt;&lt;![CDATA[&lt;Alkoholfreie Getr&auml;nke, Kaffee, Tee, Bier]]&gt;&lt;\/Beschreibung&gt;<\/pre>\n<p>Wir erhalten zwar einen <b>CDATA<\/b>-Block, aber in diesem Block wird das von uns testweise eingef&uuml;gte Kleiner-Zeichen immer noch als HTML-Entit&auml;t angezeigt <b>(&lt;<\/b>). Das war auch zu erwarten, denn schon das Ausgangsdokument enth&auml;lt das Zeichen in dieser Form im <b>Beschreibung<\/b>-Element:<\/p>\n<pre>&lt;Beschreibung&gt;&lt;Alkoholfreie Getr&auml;nke, Kaffee, Tee, Bier&lt;\/Beschreibung&gt;<\/pre>\n<p>Und wir haben zwar nun einen CDATA-Block erzeugt, aber damit werden nat&uuml;rlich die einmal als HTML-Entit&auml;ten exportierten Zeichen nicht wieder in die urspr&uuml;nglichen Zeichen umgewandelt.<\/p>\n<p>Ist unser Zwischenschritt des Exports unserer Daten in das Dokument <b>Kategorien_Untransformiert.xml <\/b>das Problem K&ouml;nnte dies &uuml;ber den Assistenten von Access besser gel&ouml;st werden Immerhin gibt man dort direkt im Assistenten die <b>.xslt<\/b>-Datei an. Um es kurz zu machen: Offensichtlich exportiert der Assistent die Daten auch zun&auml;chst in eine tempor&auml;re, untransformierte XML-Datei, die dann der Behandlung mit der <b>.xslt<\/b>-Datei unterzogen wird.<\/p>\n<p>Wir m&uuml;ssen also einen Weg finden, die Zeichen <b>< <\/b>und <b>> <\/b>im <b>CDATA<\/b>-Block der Zieldatei wiederherzustellen. Oder k&ouml;nnen wir das direkt bei der Transformation erledigen Die L&ouml;sung ist naheliegend. Wir haben ja bereits den Start und das Ende des <b>CDATA<\/b>-Blocks, also <b>&lt;![CDATA[<\/b> und <b>]]&gt;<\/b>, mit dem Attribut <b>disable-output-escaping <\/b>und dem Wert <b>yes <\/b>zum Zieldokument hinzugef&uuml;gt. Das m&uuml;ssen wir einfach nur ebenfalls mit dem <b>Beschreibung<\/b>-Element erledigen und die daf&uuml;r verantwortliche Zeile so &auml;ndern:<\/p>\n<pre>&lt;xsl:value-of disable-output-escaping=\"yes\" select=\"Beschreibung\"\/&gt;<\/pre>\n<p>Auf diese Weise landet nun auch unser Kleiner-Zeichen wie gew&uuml;nscht im <b>CDATA<\/b>-Block:<\/p>\n<pre>&lt;Beschreibung&gt;&lt;![CDATA[&lt;Alkoholfreie Getr&auml;nke, Kaffee, Tee, Bier]]&gt;&lt;\/Beschreibung&gt;<\/pre>\n<p>Damit k&ouml;nnten Sie also nun auch XML- oder HTML-Inhalte  in Tabellenfeldern speichern und diese dann innerhalb eines <b>CDATA<\/b>-Blocks im urspr&uuml;nglichen Zustand in eine XML-Datei exportieren.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>XMLExportCData.zip<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/4403C68A-5C46-413E-914B-D819D42A6EB5\/aiu_1058.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der vorherigen Ausgabe haben wir uns ausf&uuml;hrlich mit dem Export von Tabellendaten in XML-Dokumente besch&auml;ftigt. Dabei haben wir zum Formen der Ausgabe auch Gebrauch von .xslt-Dateien gemacht, die Anweisungen zur Aufbereitung der Inhalte enthalten. In den Beitr&auml;gen haben wir uns noch keine Gedanken um den Export von Inhalten aus Text- oder Memofeldern gemacht, die als CDATA markiert werden sollen. Was CDATA &uuml;berhaupt ist und wie Sie Ihre Daten als solche markieren, zeigt dieser Beitrag.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662016,66052016,44000026],"tags":[],"class_list":["post-55001058","post","type-post","status-publish","format-standard","hentry","category-662016","category-66052016","category-Interaktiv"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>XML-Export: CDATA - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"XML-Export: CDATA\" \/>\n<meta property=\"og:description\" content=\"In der vorherigen Ausgabe haben wir uns ausf&uuml;hrlich mit dem Export von Tabellendaten in XML-Dokumente besch&auml;ftigt. Dabei haben wir zum Formen der Ausgabe auch Gebrauch von .xslt-Dateien gemacht, die Anweisungen zur Aufbereitung der Inhalte enthalten. In den Beitr&auml;gen haben wir uns noch keine Gedanken um den Export von Inhalten aus Text- oder Memofeldern gemacht, die als CDATA markiert werden sollen. Was CDATA &uuml;berhaupt ist und wie Sie Ihre Daten als solche markieren, zeigt dieser Beitrag.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T15:25:20+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg09.met.vgwort.de\/na\/85a7836241964146b624e3a0d766bc1d\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"XML-Export: CDATA\",\"datePublished\":\"2020-05-22T15:25:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/\"},\"wordCount\":1221,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/85a7836241964146b624e3a0d766bc1d\",\"articleSection\":[\"2016\",\"5\\\/2016\",\"Interaktiv\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/\",\"name\":\"XML-Export: CDATA - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/85a7836241964146b624e3a0d766bc1d\",\"datePublished\":\"2020-05-22T15:25:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/85a7836241964146b624e3a0d766bc1d\",\"contentUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/85a7836241964146b624e3a0d766bc1d\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/XMLExport_CDATA\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"XML-Export: CDATA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"XML-Export: CDATA - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/","og_locale":"de_DE","og_type":"article","og_title":"XML-Export: CDATA","og_description":"In der vorherigen Ausgabe haben wir uns ausf&uuml;hrlich mit dem Export von Tabellendaten in XML-Dokumente besch&auml;ftigt. Dabei haben wir zum Formen der Ausgabe auch Gebrauch von .xslt-Dateien gemacht, die Anweisungen zur Aufbereitung der Inhalte enthalten. In den Beitr&auml;gen haben wir uns noch keine Gedanken um den Export von Inhalten aus Text- oder Memofeldern gemacht, die als CDATA markiert werden sollen. Was CDATA &uuml;berhaupt ist und wie Sie Ihre Daten als solche markieren, zeigt dieser Beitrag.","og_url":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T15:25:20+00:00","og_image":[{"url":"http:\/\/vg09.met.vgwort.de\/na\/85a7836241964146b624e3a0d766bc1d","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"XML-Export: CDATA","datePublished":"2020-05-22T15:25:20+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/"},"wordCount":1221,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/85a7836241964146b624e3a0d766bc1d","articleSection":["2016","5\/2016","Interaktiv"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/","url":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/","name":"XML-Export: CDATA - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/85a7836241964146b624e3a0d766bc1d","datePublished":"2020-05-22T15:25:20+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/#primaryimage","url":"http:\/\/vg09.met.vgwort.de\/na\/85a7836241964146b624e3a0d766bc1d","contentUrl":"http:\/\/vg09.met.vgwort.de\/na\/85a7836241964146b624e3a0d766bc1d"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/XMLExport_CDATA\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"XML-Export: CDATA"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001058"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001058\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001058"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}