changed nano size XML implementation
and implemented clean XML versioning for new features
This commit is contained in:
@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Dokumentation Opencaching XML-Interface Version 1.1</title>
|
||||
<title>Dokumentation Opencaching XML-Interface Version 1.2</title>
|
||||
<meta name="vs_showGrid" content="True">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Dokumentation Opencaching XML-Interface Version 1.1</h1>
|
||||
<h1>Dokumentation Opencaching XML-Interface Version 1.2</h1>
|
||||
<p>
|
||||
Das XML-Interface dient zum automatisierten abfragen aller Caches, Logeinträge,
|
||||
Benutzer und/oder Bilder. Dieses Interface ist nicht für Endbenutzer gedacht,
|
||||
@ -17,6 +17,12 @@
|
||||
please contact us at <a href="mailto:contact@opencaching.de">contact@opencaching.de</a>
|
||||
and tell us about the application you are going to develop; then we may translate it.</em>
|
||||
</p>
|
||||
<h2>Änderungen in Version 1.2</h2>
|
||||
<ul>
|
||||
<li>neues Attribut <em>ispublishdate</em> bei cache.datecreated</li>
|
||||
<li>Ausgabe von Nano-Cachgrößen</li>
|
||||
</ul>
|
||||
<p>Der XML-Doctype lautet in allen Versionen "oc11xml".</p>
|
||||
<h2>Ausgabeformat</h2>
|
||||
<p>
|
||||
Die Ausgabe ist eine oder mehrere xml,zip,gz oder bz2-Dateien. Es stehen 2
|
||||
@ -106,7 +112,6 @@
|
||||
verfügbar]]></status><br>
|
||||
<country id="DE"><![CDATA[Deutschland]]></country><br>
|
||||
<size id="2"><![CDATA[mikro]]></size><br>
|
||||
<size2 id="2"><![CDATA[mikro]]></size><br>
|
||||
<desclanguages>DE</desclanguages><br>
|
||||
<difficulty>4</difficulty><br>
|
||||
<terrain>2</terrain><BR>
|
||||
@ -119,9 +124,8 @@
|
||||
<attribute id="6"><![CDATA[ Nur bei Opencaching]]></attribute><br>
|
||||
</attributes><br>
|
||||
</cache></P>
|
||||
<p><em>datecreated</em> will show date of listing creation for caches created with OC software versions 1 to 2
|
||||
and date of publication – indicated by <em>ispublishdate="1"</em> – from OC version 3.</p>
|
||||
<p><em>size</em> field will return nano cache size as 'other size', while <em>size2</em> supports the new 'nano' cache size.</p>
|
||||
<p><em>datecreated</em> ist bei mit OC Version 1 und 2 angelegten Caches das Datum, an dem das Listing angelegt wurde, bei mit Version 3 angelegten Caches das Veröffentlichungsdatum. Ab Interface Version 1.2 zeigt das Attribut <em>ispublishdate="1"</em> an, dass es sich um das Veröffentlichungsdatum handelt.</p>
|
||||
<p>Ab XML-Version 1.2 werden im <em>size</em>-Feld auch Nano-Größen zurückgeliefert. In älteren Interface-Versionen wird stattdessen "micro" ausgegeben.</p>
|
||||
<h3>cachedesc (Cachebeschreibungen)</h3>
|
||||
<p>
|
||||
<cachedesc><br>
|
||||
@ -237,20 +241,21 @@
|
||||
<p>Paramter uuid ... wie cacheid, ausser dass statt der cacheid die UUID des Caches verwendet wird.</p>
|
||||
<h3>Beispiele</h3>
|
||||
<p>1. Alle Daten inkrementell abrufen<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&user=1&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1</a></p>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=<date>&user=1&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1</a></p>
|
||||
<p>2. Alle Daten von Deutschland inkrementell abrufen<br/>
|
||||
<A>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&country=DE&picturefromcachelog=1</a></p>
|
||||
<A>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=<date>&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&country=DE&picturefromcachelog=1</a></p>
|
||||
<p>3. Alle Caches ohne Logs von Deutschland inkrementell abrufen<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&cache=1&cachedesc=1&picture=1&removedobject=1&country=DE</a></p>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=<date>&cache=1&cachedesc=1&picture=1&removedobject=1&country=DE</a></p>
|
||||
<p>4. Alle Daten im Umkreis von 100 km abrufen<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&lat=48&lon=9&distance=100&picturefromcachelog=1</a></p>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=<date>&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&lat=48&lon=9&distance=100&picturefromcachelog=1</a></p>
|
||||
<p>5. Alle Bilder abrufen<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&picture=1</a></p>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=<date>&picture=1</a></p>
|
||||
<p>6. Alle Bilder von Caches abrufen die in Deutschland versteckt sind<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&picture=1&country=DE</a></p>
|
||||
<a>http://www.opencaching.de/xml/ocxml2.php?modifiedsince=<date>&picture=1&country=DE</a></p>
|
||||
<p>7. Alle Bilder von Caches und deren Logs abrufen die in Deutschland versteckt
|
||||
sind<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&picture=1&country=DE</a>&picturefromcachelog=1</p>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=<date>&picture=1&country=DE</a>&picturefromcachelog=1</p>
|
||||
<p>Mit ocxml11.php kann stattdessen die Interface-Version 1.1 verwendet werden.</p>
|
||||
<p>Diese Anfragen werden mit einem kurzen XML-Stream beantwortet, der die
|
||||
XML-Session-Id zurückgibt. Mit dieser Id können dann die Daten abgerufen
|
||||
werden.</p>
|
||||
@ -266,21 +271,21 @@
|
||||
Summe der Datensätze ist in diesem Beispiel 1205 - es werden also 3 Aufrufe
|
||||
benötigt (500, 500, 205 Datensätze).</p>
|
||||
<p>Die Daten können dann mit folgender Anfrage abgerufen werden:<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?sessionid=12345&file=1</a><br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?sessionid=12345&file=2</a><br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?sessionid=12345&file=3</a></p>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?sessionid=12345&file=1</a><br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?sessionid=12345&file=2</a><br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?sessionid=12345&file=3</a></p>
|
||||
<h3>Alle Ergebnisse mit einem Aufruf abfragen</h3>
|
||||
<p>Um alle Ergebnisse in einer Datei abzurufen muss bei dem Aufruf der Paramter
|
||||
session auf 0 gesetzt werden.</p>
|
||||
<p>Beispeil:<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&user=1&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&session=0</a></p>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=<date>&user=1&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&session=0</a></p>
|
||||
<h3>Dateikomprimierung einstellen</h3>
|
||||
<p>Dei Dateikomprimierung kann mit dem Paramter zip eingestellt weren. Mögliche
|
||||
Werte sind 0, zip, bzip2, gzip. Null bedeutet hier keine Kompression. Wird
|
||||
keine Kompression angegeben, wird zip verwendet.</p>
|
||||
<p>Beispeil:<br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&user=1&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&session=0&zip=bzip2</a><br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml11.php?sessionid=12345&file=1&zip=gzip</a></p>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=<date>&user=1&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&session=0&zip=bzip2</a><br/>
|
||||
<a>http://www.opencaching.de/xml/ocxml12.php?sessionid=12345&file=1&zip=gzip</a></p>
|
||||
<h3>XML-Optionen</h3>
|
||||
<p>Die folgenden XML-Optionen müssen bei jedem Aufruf übergeben
|
||||
werden.</p>
|
||||
@ -294,8 +299,8 @@
|
||||
charset ... (Default) iso-8859-1 / utf-8<br />
|
||||
attrlist ... (Default) 0 = keine Attributliste übertragen / 1 = Attributliste übertragen</p>
|
||||
<h4><a>Beispiele</a></h4>
|
||||
<p>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=20060320000000&user=1&cache=1&cachelog=1&cachedesc=1&picture=1&removedobject=1&session=1&charset=utf-8&cdata=1&xmldecl=0&ocxmltag=0&doctype=0<br/>
|
||||
http://www.opencaching.de/xml/ocxml11.php?sessionid=4711&file=1&charset=utf-8&cdata=1&xmldecl=0&ocxmltag=0&doctype=0</p>
|
||||
<p>http://www.opencaching.de/xml/ocxml12.php?modifiedsince=20060320000000&user=1&cache=1&cachelog=1&cachedesc=1&picture=1&removedobject=1&session=1&charset=utf-8&cdata=1&xmldecl=0&ocxmltag=0&doctype=0<br/>
|
||||
http://www.opencaching.de/xml/ocxml12.php?sessionid=4711&file=1&charset=utf-8&cdata=1&xmldecl=0&ocxmltag=0&doctype=0</p>
|
||||
<h3>Sonstige Anmerkungen</h3>
|
||||
<ul>
|
||||
<li>
|
||||
@ -311,7 +316,7 @@
|
||||
<br/>
|
||||
<span><span class="d"><!DOCTYPE oc11xml<I>...</I>></span> <br/></span>
|
||||
<span class="m"><</span><span class="t">oc11xml</span><span class="t">
|
||||
version</span><span class="m">="</span>1.1<span class="m">"</span><span class="t">
|
||||
version</span><span class="m">="</span>1.2<span class="m">"</span><span class="t">
|
||||
date</span><span class="m">="</span><strong>2006-03-10 18:37:34</strong><span class="m">"</span><span class="t"> since</span><span class="m">="</span>2006-03-08
|
||||
22:02:42<span class="m">"</span><span class="m">></span><br /><br />
|
||||
</li>
|
||||
@ -321,7 +326,7 @@
|
||||
<h3>Ressourcen</h3>
|
||||
<ul>
|
||||
<li>Das XML-Dokument enthält folgende DTD (Document Type Definition):
|
||||
http://www.opencaching.de/xml/ocxml11.dtd</li>
|
||||
http://www.opencaching.de/xml/ocxml11.dtd (Version 1.1) bzw. http://www.opencaching.de/xml/ocxml12.dtd (Version 1.2)</li>
|
||||
<li>Der Quellcode ist hier erhältlich: <a href="https://github.com/OpencachingDeutschland/oc-server3/tree/stable/htdocs/xml">
|
||||
https://github.com/OpencachingDeutschland/oc-server3/tree/stable/htdocs/xml</a></li>
|
||||
<li>Eine Referenzimplementierung kann hier heruntergeladen werden:
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
<!ELEMENT attrlist (attr*)>
|
||||
<!ELEMENT user (id, username, pmr, datecreated, lastmodified)>
|
||||
<!ELEMENT cache (id, userid, name, longitude, latitude, type, status, country, size, size2, desclanguages, difficulty, terrain, rating, waypoints, datehidden, datecreated, lastmodified)>
|
||||
<!ELEMENT cache (id, userid, name, longitude, latitude, type, status, country, size, desclanguages, difficulty, terrain, rating, waypoints, datehidden, datecreated, lastmodified)>
|
||||
<!ELEMENT cachedesc (id, cacheid, language, shortdesc, desc, hint, lastmodified)>
|
||||
<!ELEMENT cachelog (id, cacheid, userid, logtype, date, text, datecreated, lastmodified)>
|
||||
<!ELEMENT picture (id, url, title, object, attributes, datecreated, lastmodified)>
|
||||
@ -20,9 +20,6 @@
|
||||
node CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT datecreated (#PCDATA)>
|
||||
<!ATTLIST datecreated
|
||||
ispublishdate CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT lastmodified (#PCDATA)>
|
||||
|
||||
<!-- attrlist -->
|
||||
|
@ -11,6 +11,12 @@
|
||||
***************************************************************************/
|
||||
|
||||
/* begin configuration */
|
||||
|
||||
if (!isset($ocxmlversion))
|
||||
{
|
||||
$ocxmlversion = 11;
|
||||
$doctype = "oc11xml";
|
||||
}
|
||||
|
||||
$opt['rootpath'] = '../';
|
||||
require($opt['rootpath'] . 'lib/common.inc.php');
|
||||
@ -295,6 +301,7 @@
|
||||
function outputXmlFile($sessionid, $filenr, $bXmlDecl, $bOcXmlTag, $bDocType, $ziptype)
|
||||
{
|
||||
global $zip_basedir, $zip_wwwdir, $sDateformat, $sDateshort, $t1, $t2, $t3, $safemode_zip, $safemode_zip, $sCharset, $bAttrlist, $absolute_server_URI;
|
||||
global $ocxmlversion;
|
||||
// alle records aus tmpxml_* übertragen
|
||||
|
||||
if (!mb_ereg_match('^[0-9]{1,11}', $sessionid))
|
||||
@ -387,12 +394,13 @@ function outputXmlFile($sessionid, $filenr, $bXmlDecl, $bOcXmlTag, $bDocType, $z
|
||||
else if ($sCharset == 'utf-8')
|
||||
fwrite($f, '<?xml version="1.0" encoding="UTF-8" standalone="no" ?>' . "\n");
|
||||
}
|
||||
if ($bDocType == '1') fwrite($f, '<!DOCTYPE oc11xml PUBLIC "-//Opencaching Network//DTD OCXml V 1.1//EN" "http://www.opencaching.de/xml/ocxml11.dtd">' . "\n");
|
||||
|
||||
if ($bDocType == '1') fwrite($f, '<!DOCTYPE oc11xml PUBLIC "-//Opencaching Network//DTD OCXml V 1.' . ($ocxmlversion % 10) . '//EN" "http://www.opencaching.de/xml/ocxml' . $ocxmlversion . '.dtd">' . "\n");
|
||||
if ($bOcXmlTag == '1')
|
||||
{
|
||||
$rs = sql('SELECT `date_created`, `modified_since` FROM `xmlsession` WHERE `id`=&1', $sessionid);
|
||||
$r = sql_fetch_array($rs);
|
||||
fwrite($f, '<oc11xml version="1.1" date="' . date($sDateformat, strtotime($r['date_created'])) . '" since="' . date($sDateformat, strtotime($r['modified_since'])) . '">' . "\n");
|
||||
fwrite($f, '<oc11xml version="1.' . ($ocxmlversion % 10) . '" date="' . date($sDateformat, strtotime($r['date_created'])) . '" since="' . date($sDateformat, strtotime($r['modified_since'])) . '">' . "\n");
|
||||
mysql_free_result($rs);
|
||||
}
|
||||
|
||||
@ -440,12 +448,8 @@ function outputXmlFile($sessionid, $filenr, $bXmlDecl, $bOcXmlTag, $bDocType, $z
|
||||
{
|
||||
$bAllowView = ($r['allow_user_view'] == 1);
|
||||
|
||||
// To avoid breaking existing XML clients, the new nano size is returned as other in "size" field
|
||||
// and as nano in new "size2" field.
|
||||
if ($r['size'] > 7)
|
||||
$size1_id = 1;
|
||||
else
|
||||
$size1_id = $r['size'];
|
||||
if ($r['size'] == 8 && $ocxmlversion < 12)
|
||||
$r['size'] = 2; // return as micro in old interface version
|
||||
|
||||
fwrite($f, $t1 . '<cache>' . "\n");
|
||||
|
||||
@ -457,15 +461,16 @@ function outputXmlFile($sessionid, $filenr, $bXmlDecl, $bOcXmlTag, $bDocType, $z
|
||||
fwrite($f, $t2 . '<type id="' . $r['type'] . '" short="' . xmlentities($cachetypes[$r['type']]['short']) . '">' . xmlcdata($cachetypes[$r['type']]['de']) . '</type>' . "\n");
|
||||
fwrite($f, $t2 . '<status id="' . $r['status'] . '">' . xmlcdata($cachestatus[$r['status']]['de']) . '</status>' . "\n");
|
||||
fwrite($f, $t2 . '<country id="' . $r['country'] . '">' . xmlcdata($counties[$r['country']]['de']) . '</country>' . "\n");
|
||||
fwrite($f, $t2 . '<size id="' . $size1_id . '">' . xmlcdata($cachesizes[$size1_id]['de']) . '</size>' . "\n");
|
||||
fwrite($f, $t2 . '<size2 id="' . $r['size'] . '">' . xmlcdata($cachesizes[$r['size']]['de']) . '</size2>' . "\n");
|
||||
fwrite($f, $t2 . '<size id="' . $r['size'] . '">' . xmlcdata($cachesizes[$r['size']]['de']) . '</size>' . "\n");
|
||||
fwrite($f, $t2 . '<desclanguages>' . $r['desclanguages'] . '</desclanguages>' . "\n");
|
||||
fwrite($f, $t2 . '<difficulty>' . sprintf('%01.1f', $r['difficulty'] / 2) . '</difficulty>' . "\n");
|
||||
fwrite($f, $t2 . '<terrain>' . sprintf('%01.1f', $r['terrain'] / 2) . '</terrain>' . "\n");
|
||||
fwrite($f, $t2 . '<rating waylength="' . $r['way_length'] . '" needtime="' . $r['search_time'] . '" />' . "\n");
|
||||
fwrite($f, $t2 . '<waypoints gccom="' . xmlentities($r['wp_gc']) . '" nccom="' . xmlentities($r['wp_nc']) . '" oc="' . xmlentities($r['wp_oc']) . '" />' . "\n");
|
||||
fwrite($f, $t2 . '<datehidden>' . date($sDateformat, strtotime($r['date_hidden'])) . '</datehidden>' . "\n");
|
||||
fwrite($f, $t2 . '<datecreated ispublishdate="' . $r['is_publishdate'] . '">' . date($sDateformat, strtotime($r['date_created'])) . '</datecreated>' . "\n");
|
||||
if ($ocxmlversion >= 12) $pd = ' ispublishdate="' . $r['is_publishdate'] . '"';
|
||||
else $pd = "";
|
||||
fwrite($f, $t2 . '<datecreated' . $pd . '>' . date($sDateformat, strtotime($r['date_created'])) . '</datecreated>' . "\n");
|
||||
fwrite($f, $t2 . '<lastmodified>' . date($sDateformat, strtotime($r['last_modified'])) . '</lastmodified>' . "\n");
|
||||
|
||||
$rsAttributes = sql("SELECT `cache_attrib`.`id`, `cache_attrib`.`name` FROM `caches_attributes` INNER JOIN `cache_attrib` ON `caches_attributes`.`attrib_id`=`cache_attrib`.`id` WHERE `caches_attributes`.`cache_id`='&1'", $r['id']);
|
||||
|
129
htdocs/xml/ocxml12.dtd
Normal file
129
htdocs/xml/ocxml12.dtd
Normal file
@ -0,0 +1,129 @@
|
||||
<!ELEMENT oc11xml (attrlist*, user*, cache*, cachedesc*, cachelog*, picture*, removedobject*)>
|
||||
<!ATTLIST oc11xml
|
||||
version CDATA #REQUIRED
|
||||
date CDATA #REQUIRED
|
||||
since CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT attrlist (attr*)>
|
||||
<!ELEMENT user (id, username, pmr, datecreated, lastmodified)>
|
||||
<!ELEMENT cache (id, userid, name, longitude, latitude, type, status, country, size, desclanguages, difficulty, terrain, rating, waypoints, datehidden, datecreated, lastmodified)>
|
||||
<!ELEMENT cachedesc (id, cacheid, language, shortdesc, desc, hint, lastmodified)>
|
||||
<!ELEMENT cachelog (id, cacheid, userid, logtype, date, text, datecreated, lastmodified)>
|
||||
<!ELEMENT picture (id, url, title, object, attributes, datecreated, lastmodified)>
|
||||
<!ELEMENT removedobject (id, object, removeddate)>
|
||||
|
||||
<!-- common elements -->
|
||||
<!ELEMENT id (#PCDATA)>
|
||||
<!ATTLIST id
|
||||
id CDATA #IMPLIED
|
||||
node CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT datecreated (#PCDATA)>
|
||||
<!ATTLIST datecreated
|
||||
ispublishdate CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT lastmodified (#PCDATA)>
|
||||
|
||||
<!-- attrlist -->
|
||||
<!ELEMENT attr (#PCDATA)>
|
||||
<!ATTLIST attr
|
||||
id CDATA #REQUIRED
|
||||
icon_large CDATA #REQUIRED
|
||||
icon_no CDATA #REQUIRED
|
||||
icon_undef CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- user -->
|
||||
<!ELEMENT username (#PCDATA)>
|
||||
<!ELEMENT pmr (#PCDATA)>
|
||||
|
||||
<!-- cache -->
|
||||
<!ELEMENT userid (#PCDATA)>
|
||||
<!ATTLIST userid
|
||||
id CDATA #IMPLIED
|
||||
uuid CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT name (#PCDATA)>
|
||||
<!ELEMENT latitude (#PCDATA)>
|
||||
<!ELEMENT longitude (#PCDATA)>
|
||||
<!ELEMENT type (#PCDATA)>
|
||||
<!ATTLIST type
|
||||
id CDATA #REQUIRED
|
||||
short CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT status (#PCDATA)>
|
||||
<!ATTLIST status
|
||||
id CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT country (#PCDATA)>
|
||||
<!ATTLIST country
|
||||
id CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT size (#PCDATA)>
|
||||
<!ATTLIST size
|
||||
id CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT desclanguages (#PCDATA)>
|
||||
<!ELEMENT difficulty (#PCDATA)>
|
||||
<!ELEMENT terrain (#PCDATA)>
|
||||
<!ELEMENT rating (#PCDATA)>
|
||||
<!ATTLIST rating
|
||||
waylength CDATA #REQUIRED
|
||||
needtime CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT waypoints (#PCDATA)>
|
||||
<!ATTLIST waypoints
|
||||
gccom CDATA #IMPLIED
|
||||
nccom CDATA #IMPLIED
|
||||
oc CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT datehidden (#PCDATA)>
|
||||
|
||||
<!-- cachedesc -->
|
||||
<!ELEMENT cacheid (#PCDATA)>
|
||||
<!ATTLIST cacheid
|
||||
id CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT language (#PCDATA)>
|
||||
<!ATTLIST language
|
||||
id CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT shortdesc (#PCDATA)>
|
||||
<!ELEMENT desc (#PCDATA)>
|
||||
<!ATTLIST desc
|
||||
html CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT hint (#PCDATA)>
|
||||
|
||||
<!-- cachelog -->
|
||||
|
||||
<!-- cacheid see cachedesc -->
|
||||
<!-- userid see cache -->
|
||||
<!ELEMENT logtype (#PCDATA)>
|
||||
<!ATTLIST logtype
|
||||
id CDATA #REQUIRED
|
||||
recommended CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT date (#PCDATA)>
|
||||
<!ELEMENT text (#PCDATA)>
|
||||
|
||||
<!-- picture -->
|
||||
<!ELEMENT url (#PCDATA)>
|
||||
<!ELEMENT title (#PCDATA)>
|
||||
<!ELEMENT object (#PCDATA)>
|
||||
<!ATTLIST object
|
||||
id CDATA #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
typename CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT attributes (#PCDATA)>
|
||||
<!ATTLIST attributes
|
||||
spoiler CDATA #IMPLIED
|
||||
display CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- removedobject -->
|
||||
|
||||
<!-- object see picture -->
|
||||
<!ELEMENT removeddate (#PCDATA)>
|
14
htdocs/xml/ocxml12.php
Normal file
14
htdocs/xml/ocxml12.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
./xml/ocxml12.php
|
||||
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
$ocxmlversion = 12;
|
||||
include("ocxml11.php");
|
||||
|
||||
?>
|
Reference in New Issue
Block a user