XIP Article: Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
==Artikel==
+
=<code><article></code>, <code><resource></code>, <code><media></code>=
Für die drei Artikeltypen steht jeweils ein eigener XML-Tag zur Verfügung, über den die Daten angelegt, bzw. aktualisiert werden. Die Regeln für den Import der eigentlichen Inhaltsfelder ist danach für alle Artikeltypen identisch.
+
===Beschreibung===
 +
Für die drei Artikeltypen des IES (Artikel, Medien-Artikel und Resource-Artikel) steht jeweils ein eigenes XML-Element zur Verfügung, über den die Daten definiert werden.
  
Die unterschiedlichen Inhaltsfelder werden in Contenttypen unterschieden. Alle Contenttypen werden über einen eigenen XML-Tag beschrieben. Die Typen sind analog zu den Typen aus InfoSite. Neben dem Attribut <code>name</code> wird auch das Attribut <code>locale</code> für alle Tags unterstützt. Die Tags im einzelnen sind:
+
* <article> - Definiert einen Artikel
 +
* <resource> - Definiert einen Resource-Artikel
 +
* <media> - Definiert einen Medien-Artikel
  
;<code>text</code>
+
===Erlaubte übergerodnete XML-Elemente===
:Import einfacher Textinhalte
+
<code><xip></code>, <code><articlepool></code>
:<code><text name="sp_headline">Die Rubrikseite</text></code>
+
===Attribute===
:<code><text name="sp_intro" locale="de">Links auf alle anderen importierten Seiten</text></code>
+
{| class="prettytable sortable"
 +
|- class="hintergrundfarbe1"
 +
! Name || XML-Element || Beschreibung
 +
|-
 +
| <code>parent</code>
 +
| <code><article></code>, <code><resource></code>, <code><media></code>
 +
| Anchor des Artikel-Pools für diesen Artikel. Die Angabe eines Parents ist nicht nötig, wenn die XML-Datei in einem Verzeichnis liegt, das als Pool definiert wurde (siehe [[XIP Format#XIP-INF_Verzeichnis|XIP-INF]]). Elemente können auch ohne Angabe eines Parents importiert werden, wenn mit dem Parameter <code>ies.xip.import.root</code> ein Parent definiert wurde.
 +
|-
 +
| <code>anchor</code>
 +
| <code><article></code>, <code><resource></code>, <code><media></code>
 +
| Der Anchor des Elementes
 +
|-
 +
| <code>name</code>
 +
| <code><article></code>, <code><resource></code>, <code><media></code>
 +
| Name des Artikels
 +
|-
 +
| <code>filename</code>
 +
| <code><article></code>
 +
| Dateiname des Artikels (ohne Suffix, wenn ein Template mit Suffix verwendet wird)
 +
|-
 +
| <code>original-filename</code>
 +
| <code><article></code>
 +
| Originaler Dateiname des Artikels (ohne Suffix, wenn ein Template mit Suffix verwendet wird). <code>original-filename</code> ist zu <code>filename</code> unterschiedlich, wenn in dem vergebenen Dateinamen Sonderzeichen enthalten sind.
 +
|-
 +
| <code>template</code>
 +
| <code><article></code>, <code><resource></code>
 +
| Anchor des Template für den Artikel
 +
|}
  
;<code>date</code>
+
===Unterelemente===
:Import Long-Werte als Typ Date
+
====<code><comment></code>====
:<code><date name="sp_date">1165408738935</date></code>
+
=====Beschreibung=====
 
+
Kommentare zu dem Artikel
;<code>number</code>
+
=====Attribute=====
:Import Zahlen als Typ Number
+
keine
:<code><number name="sp_number" locale="de_DE">123</number></code>
+
====<code><publication-state></code>====
 
+
=====Beschreibung=====
;<code>mail</code>
+
Publikations-Definitionen zu einem Artikel. Für jeden Publikationsbereich wird ein <code><publication-state></code>-XML-Element verwendet.
:Import von Text-Feldern vom Typ Mail. Inhalte werden nicht validiert und können über "<code>.mail</code>" ausgegeben werden.
+
=====Attribute=====
:<code><mail name="sp_mail">Email: support@sitepark.com</mail></code>
+
{| class="prettytable sortable"
 
+
|- class="hintergrundfarbe1"
;<code>email</code>
+
! Name || Beschreibung
:Import von Text-Feldern vom Typ Email. Inhalte können validiert werden. Dieser Typ wird in der Regel vom Newsletter oder ähnlichen Modulen verwendet und kann über "<code>.email</code>" ausgegeben werden.
+
|-
:<code><text name="sp_mail">Email vom Sitepark Support</text></code>
+
| <code>anchor</code>
:<code><email name="sp_mail">support@sitepark.com</email></code>
+
| Anchor des Publikationsbereiches, für den der Status definiert ist
 
+
|-
;<code>query</code>
+
| <code>status</code>
:Import von Queries.
+
| Status der Publikation. <code>1</code> bedeutet der Artikel ist publiziert bzw. soll publiziert werden, <code></code> bedeutet der Artikel ist nicht publiziert bzw. soll depubliziert werden.
:<code><query name="sp_query">parent = !{myparent}</query></code>
+
|}
 
+
====Weitere Elemente====
;<code>url</code>
+
Alle weiteren möglichen Unterelemente sind unter [[XIP Content]] beschrieben.
:Import manuell eingegebener URLs
+
=====Sonderfälle=====
:<code><text name="external">www.google.de</text></code>
+
* Um die Binäredaten eines Medien-Artikels zu definieren, wird das <code>name</code>-Attribut des <code><binary></code>-XML-Elementes nicht mit angegeben. In allen anderen Fällen ist die Angabe eines <code>name</code>-Attributes verpflichtend.
:<code><url name="external">http://www.google.de</url></code>
+
* Ein Resource-Artikel kann als 'Externe URL' definiert werden. (Im Template kann dann mit <code>.url</code> auf die definierte URL zugegriffen werden. Dazu muss mit dem <code><url></code>-XML-Element und dem Feldnamen <code>external</code> die URL definiert werden
 
 
;<code>link, navlink, systemlink</code>
 
:Import von Links zu anderen Artikeln (können bereits bestehen, oder werden ebenfalls importiert) Die Verknüpfung erfolgt über einen Anker. Wenn der angegebene Anker (noch) nicht verfügbar ist, wird dieses Feld nicht importiert.
 
<source lang="xml">
 
<systemlink name="sp_link" anchor="article.x"/>
 
<link name="sp_simplelink" anchor="article.y"/>
 
</source>
 
 
 
;<code>list und item</code>
 
:Mit diesen XML-Tags werden Listen erstellt. Über Listen werden vom System Iterate-Felder angelegt, die entsprechend der Inhalte gefüllt sind. Mehrere "<code>item</code>"-Blöcke untereinander erstellen mehrere Iterate-Blöcke.
 
<source lang="xml">
 
<!-- ein Iterator (hier für Texte und Links) -->
 
<list name="sp_main_iterate">
 
  <item>
 
    <!-- Einfache Inhaltsfelder -->
 
    <text name="sp_subheadline">Content:</text>
 
    <text name="sp_part">Link auf die Rubrikseite</text>
 
 
 
    <!-- Link auf einen anderen Artikel -->
 
    <link name="sp_link" anchor="article.rubric"/>
 
  </item>
 
</list>
 
</source>
 
 
 
;<code>binary</code>
 
:Mit diesem Tag werden Upload-Felder definiert. Dies ermöglicht das Einbinden von Medien in Artikel, oder das Anlegen von Medienartikeln. Das Attribut "<code>url</code>" gibt an, wo sich die zu importierende Datei befindet. Hier ist die Angabe eines relativen oder absoluten Pfades ebenso wie die Angabe einer externen URL möglich:
 
<source lang="xml">
 
  <binary name="sp_externalmedia_1" url="file://../media/a.gif"/>
 
  <binary name="sp_externalmedia_1" url="file://./image.gif"/>
 
  <binary name="sp_externalmedia_2" url="file:///tmp/level_1/media/b.gif"/>
 
  <binary name="sp_externalmedia_3" url="http://www.sitepark.com/btn_ies.gif"/>
 
</source>
 
 
 
;<code>publication-state</code>
 
:Dieser Tag dient zur Steuerung der Publikation des Artikels. Die Angabe kann sowohl über die Publisher-ID, als auch über den entsprechenden Anker vorgenommen werden. Es sind hier nur die Publikationsbereiche anzugeben, in denen der Artikel publiziert werden soll. Alle übrigen Publikationsbereiche können weggelassen werden. Alternativ kann auch der Status auf 0 gesetzt werden. Beachten Sie, dass die Rechte des Import-Nutzer ausreichen.
 
<source lang="xml">
 
<publication-state publisher-id="pub1" status="1"/>
 
<publication-state publisher-id="pub2" status="0"/>
 
<publication-state anchor="preview" status="1"/>
 
</source>
 
 
 
;<code>calendar</code>
 
:Dieser Tag dient zur Beschreibung von Terminen. Auch Angaben zur Freischaltung erfolgen über diesen Tag. Zu beachten ist, dass die Zeiten als Long-Werte (Millisekunden seit 00:00:00 Uhr 01.01.1970) angegeben werden müssen.
 
 
 
Details zu Terminen werden über den <code>entry</code>-Tag beschrieben. Folgende Attribute sind hier möglich:
 
;<code>from</code>
 
:Long Wert für den Beginn des Termins
 
;<code>to</code>
 
:Long Wert für das Ende des Termins
 
;<code>type</code>
 
:Typ des Termins (<code>day, daily, weekly, monthlyByDay, monthlyByOccurrence, yearlyByDay, yearlyByOccurrence, yearlyByMonth</code>)
 
;<code>interval</code>
 
:Wiederholungsintervall des Termins (z.B. jeden 2-ten Tag)
 
;<code>all-day</code>
 
:Ganztägiger Termin (<code>true</code>, <code>false</code>)
 
;<code>repetition-count</code>
 
:Anzahl der Wiederholungen
 
;<code>repetition-date</code>
 
:Long Wert für das Ende der Wiederholungen
 
;<code>dow</code>
 
:Tage der Woche, an denen der Termin stattfindet (<code>sun,mon,tue,wed,thu,fri,sat</code>)
 
;<code>dom</code>
 
:Zahl für den Tag des Monats
 
;<code>doy</code>
 
:Zahl für den Tag des Jahres
 
;<code>oom</code>
 
:Zahl für das Vorkommen in der Woche (z.B. 1. Freitag im Monat)
 
;<code>moy</code>
 
:Zahl für den Monat des Jahres (0=Januar, 11=Dezember)
 
 
 
Ein Wiederhol-Termin könnte z.B: durch folgenden XML-Code beschrieben werden:
 
<source lang="xml">
 
<calendar name="sp_date">
 
  <entry from="1208296800000" to="1208296800000"
 
    type="weekly"
 
    interval="0"
 
    all-day="true"
 
    repetition-date="1208383200000"
 
    dow="wed,thu"/>
 
</calendar>
 
</source>
 
 
 
Um einen Artikel von Zeitpunkt A bis zum Zeitpunkt B in den Publikationsbereichen "<code>www</code>" und "<code>preview</code>" freizugeben, ist folgender XML-Code zu generieren:
 
<source lang="xml">
 
<calendar name="publicationFrom">
 
  <entry from="978351240000" to="978351240000"/>
 
  <publish-task template="my.template.anchor">
 
    <publisher anchor="www"/>
 
    <publisher anchor="preview"/>
 
  </publish-task>
 
</calendar>
 
<calendar name="publicationTo">
 
  <entry from="1355353140000" to="1355353140000"/>
 
  <depublish-task template-id="1010100000026042-6000">
 
    <publisher publisher-id="pub1"/>
 
    <publisher anchor="preview"/>
 
  </depublish-task>
 
</calendar>
 
</source>
 
 
 
;<code>linktree</code> (ab Version 2.0.1)
 
:Import vom LinkTrees wie z.B. Sitemaps.
 
 
 
Folgende Attribute sind hier möglich:
 
;<code>name</code>
 
:Name des Feldes
 
;<code>parentlink</code>
 
:Name des Links, der auf einen, in der zu erstellenden Struktur, übergeordneten Artikel verweist.
 
;<code>rootelement-anchor</code>
 
:Anchor des Root-Elements des Baums. Ist kein Root-Element angegeben, wird der dazugehörige Artikel als Root-Element verwendet.
 
;<code>attributes</code>
 
:Eine Kommaseparierte Liste von Attributen, die der Artikel enthalten und auf dessen Änderungen er reagieren soll.
 
;<code>localelink</code>
 
:Mit diesem Attribut kann angegeben werden, ob ein Linktree sprachabhängig aufgebaut werden soll. Wird localelink auf true gesetzt, wird die Sprache des Publikationsbereichs für den Tree verwendet. Die Parentlinks, die den Baum ergeben, müssen dann mit einer Sprache definiert werden.
 
;<code>sortkeys</code>
 
:Attribute des Artikels, nach denen der Baum sortiert werden soll. Jede Ebene des Baums wird für sich sortiert.
 
;<code>sortsequences</code>
 
:Für jedes Sortierkriterium muss eine Sortierreihenfolge festgelegt werden, mit der bestimmt wird, ob mit dem Sortierkriterium aufsteigend (<code>desc</code>), absteigend (<code>asc</code>) oder zufällig (<code>random</code>) sortiert wird.
 
;<code>sorttypes</code>
 
:Für jedes Sortierkriterium kann ein Sortiertyp festgelegt werden, der bestimmt, wie sortiert wird. Dabei ist eine Sortierung von Zeichenketten (<code>text</code>) oder eine Sortierung von Zahlen (<code>number</code>) möglich.
 
 
 
Beispiel für einen LinkTree import:
 
 
<source lang="xml">
 
<source lang="xml">
<linktree
+
<url name="external">http://www.sitepark.com</url>
  name="sp_sitemap" parentlink="sp_parent.link" rootelement-anchor="information.sg.homepage"
 
  localelink="true" attributes="sp_title,sp_tooltip,sp_menuSperre,sp_parent.link,editor_template"
 
  sortkeys="name"/>
 
 
</source>
 
</source>
 
+
===Beispiel für einen Artikel===
===Eigene Seiten===
 
Um einen Artikel zu importieren muss eine XML-Datei erstellt werden, die das Root-Element "<code>article</code>" verwendet. Attribute des Tags erlauben die Beschreibung des Artikels. Alle Angaben neben Systemwerten werden über den oben beschriebenen Tag vorgenommen.
 
;<code>anchor</code>
 
:Anker des Artikels. Dient beim wiederholten Import als Primärschlüssel dieser Daten ([[String]]).
 
;<code>name</code>
 
:Name des Artikels.
 
;<code>parent</code>
 
:Anker des Parentpools. Die Angabe muss über einen Anker erfolgen ([[String]]).
 
;<code>template</code>
 
:Anker des Templates, welches diesem Artikel zugewiesen werden soll. Die Angabe muss über einen Anker erfolgen ([[String]]).
 
;<code>filename</code>
 
:Der Dateiname des Artikels. Fehlt dieses Attribut, so wird der Dateiname automatisch vergeben ([[String]]).
 
 
 
Hier ein vollständiges Beispiel eines Artikels:
 
 
<source lang="xml">
 
<source lang="xml">
<!--
+
<article anchor="article.example.xip.1" name="Example 1" parent="pool.tutorial.xip" template="tpl.content" filename="article.example">
Einen Artikel anlegen:
 
  
<article   legt einen Artikel an
+
   <!-- Kommantarfeld des Artikels -->
<media      legt ein Medium an
+
  <comment>Beispiel für einen Kommentar</comment>
<resource  legt einen Resource-Artikel an
 
  
anchor      Anker des Artikels (dient beim wiederholten Import als Primärschlüssel)
+
   <publication-state anchor="www" status="1" />
name        Name des Artikels
+
  <publication-state anchor="preview" status="1" />
parent      Anker des Parentpools (Angabe muss über einen Anker erfolgen)
 
template    Anker des verwendeten Templates (Angabe muss über einen Anker erfolgen)
 
filename   Dateiname des Artikels (nur für den Typ <article)
 
-->
 
<article
 
  anchor="article.america"
 
  name="The World according to America"
 
  parent="import.pool.1"
 
  template="tpl.content"
 
  filename="article.america">
 
  
    <!-- Kommantarfeld des Artikels -->
+
  <!-- Einfache Inhaltsfelder -->
    <comment>kann: Ein kleiner Kommentar</comment>
+
  <text name="sp_headline">The World According To America</text>
 
+
  <text name="sp_intro">
    <!-- Publikationsstatus des Artikels -->
 
    <publication-state publisher-id="pub1" status="1" />
 
    <publication-state publisher-id="pub2" status="1" />
 
 
 
    <!-- Einfache Inhaltsfelder -->
 
    <text name="sp_headline">The World According To America</text>
 
    <text name="sp_intro">
 
 
       Kleine Zeichnung zum amerikanischen Verständnis der Welt.
 
       Kleine Zeichnung zum amerikanischen Verständnis der Welt.
    </text>
+
  </text>
  
    <!-- Beispiel für einer Checkbox true/false -->
+
  <!-- Beispiel für einer Checkbox true/false -->
    <text name="sp_textHTML">true</text>
+
  <text name="sp_textHTML">true</text>
  
    <!-- Beispiel für eine Selectbox -->
+
  <!-- Beispiel für eine Selectbox -->
    <text name="sp_select">left</text>
+
  <text name="sp_select">left</text>
  
    <!-- ein Iterator (hier für Texte und Links) -->
+
  <!-- ein Iterator (hier für Texte und Links) -->
    <list name="sp_main_iterate">
+
  <list name="sp_main_iterate">
        <item>
+
      <item>
            <!-- Einfache Inhaltsfelder -->
+
        <!-- Einfache Inhaltsfelder -->
            <text name="sp_subheadline">The World:</text>
+
        <text name="sp_subheadline">The World:</text>
            <text name="sp_part">
+
        <text name="sp_part">
              Hier kommt die Grafik und ein Link auf die Rubrikseite
+
            Hier kommt die Grafik und ein Link auf die Rubrikseite
            </text>
+
        </text>
  
            <!-- Systemlink auf einen anderen Artikel -->
+
        <!-- Systemlink auf einen anderen Artikel -->
            <systemlink name="sp_mon_link" anchor="article.rubric"/>
+
        <systemlink name="sp_mon_link" anchor="article.rubric"/>
  
            <!-- Navlink auf einen anderen Artikel -->
+
        <!-- Navlink auf einen anderen Artikel -->
            <systemlink name="sp_nav_link" anchor="article.content.2"/>
+
        <systemlink name="sp_nav_link" anchor="article.content.2"/>
  
            <!-- Link auf einen anderen Artikel -->
+
        <!-- Link auf einen anderen Artikel -->
            <link name="sp_link" anchor="article.rubric"/>
+
        <link name="sp_link" anchor="article.rubric"/>
            <text name="sp_link">link auf article.rubric</text>
+
        <text name="sp_link">link auf article.rubric</text>
  
            <!-- Link auf ein Medium -->
+
        <!-- Link auf ein Medium -->
            <systemlink name="sp_image" anchor="image.america"/>
+
        <systemlink name="sp_image" anchor="image.america"/>
  
            <!-- Externe URL und Linktext -->
+
        <!-- Externe URL und Linktext -->
            <text name="sp_external">www.google.de</text>
+
        <text name="sp_external">www.google.de</text>
            <url name="sp_external">http://www.google.de</url>
+
        <url name="sp_external">http://www.google.de</url>
        </item>
+
      </item>
    </list>
+
  </list>
  
    <!--  
+
  <!--  
 
       ein Upload-Feld (das Medium wird beim Import von der angegebenen URL
 
       ein Upload-Feld (das Medium wird beim Import von der angegebenen URL
 
       (extern oder relativ) geladen)
 
       (extern oder relativ) geladen)
    -->
+
  -->
    <binary name="sp_externalmedia" url="http://www.sitepark.com/btn_ies.gif"/>
+
  <binary name="sp_externalmedia" url="http://www.sitepark.com/btn_ies.gif"/>
 +
 
 
</article>
 
</article>
 
</source>
 
</source>
  
===Medien===
+
===Beispiel für einen Medien-Artikel===
Um ein Medium zu importieren, muss neben dem eigentlichen Medium eine XML-Datei erstellt werden, die das Root-Element "<code>media</code>" verwendet. In dieser Datei wird das Medium beschrieben und ein Anker zugewiesen. Alle Angaben neben Systemwerten werden über den oben beschriebenen Tag vorgenommen.
 
 
 
Hier ein vollständiges Beispiel eines Medienimports:
 
 
<source lang="xml">
 
<source lang="xml">
<!--
+
<media anchor="article.example.xip.2" name="Example 2" parent="pool.tutorial.xip">
Einen Artikel anlegen:
 
 
 
<article    legt einen Artikel an
 
<media      legt ein Medium an
 
<resource  legt einen Resource-Artikel an
 
 
 
anchor      Anker des Artikels (dient beim wiederholten Import als Primärschlüssel)
 
name        Name des Artikels
 
parent      Anker des Parentpools (Angabe muss über einen Anker erfolgen)
 
template    Anker des verwendeten Templates (Angabe muss über einen Anker erfolgen)
 
filename    Dateiname des Artikels (nur für den Typ <article)
 
-->
 
<media
 
  anchor="image.america"
 
  name="The World according to America (IMAGE)"
 
  parent="import.pool.media">
 
  
 
     <!-- Kommantarfeld des Artikels -->
 
     <!-- Kommantarfeld des Artikels -->
Zeile 280: Zeile 134:
  
 
     <!-- Publikationsstatus des Artikels -->
 
     <!-- Publikationsstatus des Artikels -->
     <publication-state publisher-id="pub1" status="1" />
+
     <publication-state anchor="www" status="1" />
     <publication-state publisher-id="pub2" status="1" />
+
     <publication-state anchor="preview" status="1" />
 +
 
 +
    <!-- Die Binäredaten des Mediums (kein name-Attribut) -->
 +
    <binary url="file://./logo.gif"/>
  
    <!--
 
      ein Upload-Feld (das Medium wird beim Import von der angegebenen URL
 
      (extern oder relativ) geladen)
 
    -->
 
    <binary url="file://./america.gif"/>
 
 
</media>
 
</media>
 
</source>
 
</source>
  
===Resourcen===
+
===Beispiel für einen Resource-Artikel===
Falls Resourceartikel importiert werden sollen, steht der Tag "<code>resource</code>" zur Verfügung. Die Beschreibung der Daten erfolgt analog zu den anderen Artikeltypen. Lediglich das Root-Element muss vom Typ "<code>resource</code>" sein.
 
 
 
Hier ein vollständiges Beispiel eines Medienimports:
 
 
<source lang="xml">
 
<source lang="xml">
<!--
+
<resource anchor="article.example.xip.3" name="Example 3" parent="pool.tutorial.xip" template="tpl.external">
Einen Artikel anlegen:
 
 
 
<article    legt einen Artikel an
 
<media      legt ein Medium an
 
<resource   legt einen Resource-Artikel an
 
 
 
anchor      Anker des Artikels (dient beim wiederholten Import als Primärschlüssel)
 
name        Name des Artikels
 
parent      Anker des Parentpools (Angabe muss über einen Anker erfolgen)
 
template    Anker des verwendeten Templates (Angabe muss über einen Anker erfolgen)
 
filename    Dateiname des Artikels (nur für den Typ <article>)
 
-->
 
<resource
 
  anchor="article.externe.url"
 
  name="Eine externe URL"
 
  parent="import.pool.1"
 
  template="tpl.external">
 
  
 
     <!-- Kommantarfeld des Artikels -->
 
     <!-- Kommantarfeld des Artikels -->
Zeile 327: Zeile 159:
 
       der richtigen URL
 
       der richtigen URL
 
     -->
 
     -->
     <text name="external">www.google.de</text>
+
     <text name="external">www.sitepark.com</text>
     <url name="external">http://www.google.de</url>
+
     <url name="external">http://www.sitepark.com</url>
  
 
</resource>
 
</resource>

Aktuelle Version vom 15. Juni 2009, 07:55 Uhr

<article>, <resource>, <media>

Beschreibung

Für die drei Artikeltypen des IES (Artikel, Medien-Artikel und Resource-Artikel) steht jeweils ein eigenes XML-Element zur Verfügung, über den die Daten definiert werden.

  • <article> - Definiert einen Artikel
  • <resource> - Definiert einen Resource-Artikel
  • <media> - Definiert einen Medien-Artikel

Erlaubte übergerodnete XML-Elemente

<xip>, <articlepool>

Attribute

Name XML-Element Beschreibung
parent <article>, <resource>, <media> Anchor des Artikel-Pools für diesen Artikel. Die Angabe eines Parents ist nicht nötig, wenn die XML-Datei in einem Verzeichnis liegt, das als Pool definiert wurde (siehe XIP-INF). Elemente können auch ohne Angabe eines Parents importiert werden, wenn mit dem Parameter ies.xip.import.root ein Parent definiert wurde.
anchor <article>, <resource>, <media> Der Anchor des Elementes
name <article>, <resource>, <media> Name des Artikels
filename <article> Dateiname des Artikels (ohne Suffix, wenn ein Template mit Suffix verwendet wird)
original-filename <article> Originaler Dateiname des Artikels (ohne Suffix, wenn ein Template mit Suffix verwendet wird). original-filename ist zu filename unterschiedlich, wenn in dem vergebenen Dateinamen Sonderzeichen enthalten sind.
template <article>, <resource> Anchor des Template für den Artikel

Unterelemente

<comment>

Beschreibung

Kommentare zu dem Artikel

Attribute

keine

<publication-state>

Beschreibung

Publikations-Definitionen zu einem Artikel. Für jeden Publikationsbereich wird ein <publication-state>-XML-Element verwendet.

Attribute
Name Beschreibung
anchor Anchor des Publikationsbereiches, für den der Status definiert ist
status Status der Publikation. 1 bedeutet der Artikel ist publiziert bzw. soll publiziert werden, bedeutet der Artikel ist nicht publiziert bzw. soll depubliziert werden.

Weitere Elemente

Alle weiteren möglichen Unterelemente sind unter XIP Content beschrieben.

Sonderfälle
  • Um die Binäredaten eines Medien-Artikels zu definieren, wird das name-Attribut des <binary>-XML-Elementes nicht mit angegeben. In allen anderen Fällen ist die Angabe eines name-Attributes verpflichtend.
  • Ein Resource-Artikel kann als 'Externe URL' definiert werden. (Im Template kann dann mit .url auf die definierte URL zugegriffen werden. Dazu muss mit dem <url>-XML-Element und dem Feldnamen external die URL definiert werden
<url name="external">http://www.sitepark.com</url>

Beispiel für einen Artikel

<article anchor="article.example.xip.1" name="Example 1" parent="pool.tutorial.xip" template="tpl.content" filename="article.example">

   <!-- Kommantarfeld des Artikels -->
   <comment>Beispiel für einen Kommentar</comment>

   <publication-state anchor="www" status="1" />
   <publication-state anchor="preview" status="1" />

   <!-- Einfache Inhaltsfelder -->
   <text name="sp_headline">The World According To America</text>
   <text name="sp_intro">
      Kleine Zeichnung zum amerikanischen Verständnis der Welt.
   </text>

   <!-- Beispiel für einer Checkbox true/false -->
   <text name="sp_textHTML">true</text>

   <!-- Beispiel für eine Selectbox -->
   <text name="sp_select">left</text>

   <!-- ein Iterator (hier für Texte und Links) -->
   <list name="sp_main_iterate">
      <item>
         <!-- Einfache Inhaltsfelder -->
         <text name="sp_subheadline">The World:</text>
         <text name="sp_part">
            Hier kommt die Grafik und ein Link auf die Rubrikseite
         </text>

         <!-- Systemlink auf einen anderen Artikel -->
         <systemlink name="sp_mon_link" anchor="article.rubric"/>

         <!-- Navlink auf einen anderen Artikel -->
         <systemlink name="sp_nav_link" anchor="article.content.2"/>

         <!-- Link auf einen anderen Artikel -->
         <link name="sp_link" anchor="article.rubric"/>
         <text name="sp_link">link auf article.rubric</text>

         <!-- Link auf ein Medium -->
         <systemlink name="sp_image" anchor="image.america"/>

         <!-- Externe URL und Linktext -->
         <text name="sp_external">www.google.de</text>
         <url name="sp_external">http://www.google.de</url>
      </item>
   </list>

   <!-- 
      ein Upload-Feld (das Medium wird beim Import von der angegebenen URL
      (extern oder relativ) geladen)
   -->
   <binary name="sp_externalmedia" url="http://www.sitepark.com/btn_ies.gif"/>

</article>

Beispiel für einen Medien-Artikel

<media anchor="article.example.xip.2" name="Example 2" parent="pool.tutorial.xip">

    <!-- Kommantarfeld des Artikels -->
    <comment>kann: Ein kleiner Kommentar</comment>

    <!-- Publikationsstatus des Artikels -->
    <publication-state anchor="www" status="1" />
    <publication-state anchor="preview" status="1" />

    <!-- Die Binäredaten des Mediums (kein name-Attribut) -->
    <binary url="file://./logo.gif"/>

</media>

Beispiel für einen Resource-Artikel

<resource anchor="article.example.xip.3" name="Example 3" parent="pool.tutorial.xip" template="tpl.external">

    <!-- Kommantarfeld des Artikels -->
    <comment>kann: Ein kleiner Kommentar</comment>

    <!-- Publikationsstatus des Artikels -->
    <publication-state publisher-id="pub1" status="1" />
    <publication-state publisher-id="pub2" status="1" />

    <!--
      Externe URL und Linktext.
      name "external" sorgt bei Resource-Artikeln automatisch für die Ausgabe
      der richtigen URL
    -->
    <text name="external">www.sitepark.com</text>
    <url name="external">http://www.sitepark.com</url>

</resource>