Hat CMSimle XH eine Zukunft

A place for general not CMSimple related discussions
olape
Posts: 847
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by olape » Thu Jan 17, 2019 3:05 pm

cmb wrote:
Wed Jan 16, 2019 10:44 pm
Man könnte als Typ für lang einfach NMTOKEN wählen; dann ist es beliebig erweiterbar, und es liegt eben in der Verantwortlichkeit des Pluginentwicklers hier passende Sprachkürzel zu verwenden.
Muss ich mich zu belesen.
cmb wrote:
Wed Jan 16, 2019 10:44 pm
Warum nicht die erlaubten HTML-Elemente als XML-Elemente definieren? Das könnte man auch in der DTD ausdrücklich so spezifizieren:
CODE: ALLES AUSWÄHLEN

<! ELEMENT description(# PCDATA | br | ol | ul | li)* >
<b> und <i> (oder <strong> und <em>) fände ich auch noch ganz sinnvoll.
Werde ich so machen. Bei b un i, eigentlich wollte ich das vermeiden.
Weil, es hat nach wie vor Einfluss auf SEO und das möchte ich ungern unbeeinflusst in fremde Hände geben.
cmb wrote:
Wed Jan 16, 2019 10:44 pm
Vielleicht auch noch mal über Holgers Anregung nachdenken, alles in einer SQLite3-Datenbank zu speichern. Dann spielt die Datenmenge keine Rolle, und Binärdaten können auch direkt abgelegt werden (ohne Base64). Alternativ können Bilder natürlich auch mit einem eindeutigen generierten Dateinamen separat gespeichert werden (evtl. tut's schon ein SHA256 Hash), und in der CSV wird eben nur der Dateiname hinterlegt.
SQLite war sogar meine erste Überlegung. Dann ist aber mit einer Fertigstellung in absehbarer Zeit nicht zu rechnen.
Damit habe ich mich noch nie beschäftigt.
cmb wrote:
Wed Jan 16, 2019 10:44 pm
Und auf jeden Fall würde ich vorschlagen noch eine Versionierung des XML selbst vorzunehmen; vielleicht einfach ein Attribut version für <plugin>; oder vermutlich eher über die DTD (so wie es für HTML mal gedacht war). Das erlaubt spätere Erweiterungen, ohne dass unbedingt alle bestehenden XML-Dokumente nachgebessert werden müssen.
Auch dazu muss ich mich belesen.

Danke für die Hinweise

olape
Posts: 847
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by olape » Thu Jan 17, 2019 8:36 pm

cmb wrote:
Wed Jan 16, 2019 10:44 pm
Warum nicht die erlaubten HTML-Elemente als XML-Elemente definieren? Das könnte man auch in der DTD ausdrücklich so spezifizieren:

Code: Select all

<! ELEMENT description(# PCDATA | br | ol | ul | li)* >
<b> und <i> (oder <strong> und <em>) fände ich auch noch ganz sinnvoll.

Code: Select all

[17-Jan-2019 16:32:00 UTC] PHP Warning:  simplexml_load_string(): 		&lt;!ELEMENT description(# PCDATA | br | ol | ul | li | b | i)* &gt; in /home/xxx/tmp/xml.php on line 83
[17-Jan-2019 16:32:00 UTC] PHP Warning:  simplexml_load_string(): 		                      ^ in /home/xxx/tmp/xml.php on line 83
Ich habe es jetzt erst mal nur bei PCDATA belassen und fische alles ungewollten tags per php raus.

olape
Posts: 847
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by olape » Fri Jan 18, 2019 7:34 pm

So, wer noch mal helfen möchte zu testen.
http://test.penschke.net/tmp/xml.php

Neue Vorlage der xml gibt es hier:
vorlage.zip
Bitte auch mal Dinge tun, die so nicht gedacht sind!
Heisst also, mal leere Elemnte lassen, mal URLs reinschreiben, die 404 oder 403 bringen!
Solche Dinge halt.

Ich brauche natürlich vorher wieder die URL der xml.
Ist diese als Quelle eingetragen könnt ihr mal die Aktualisierung testen, wenn die xml, logo oder Screenshots geändert werden.
You do not have the required permissions to view the files attached to this post.

Holger
Site Admin
Posts: 3098
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by Holger » Fri Jan 18, 2019 8:04 pm

Mich stört etwas, dass ich bei der Beschreibung Entities eingeben muss (einfach nur wegen c&p).
Nun hab' ich simpleXML auch noch nicht wirklich Berührungspunkte gehabt, aber mir scheint da ist ein Fehler in der Definition:

Code: Select all

<! ELEMENT description(# PCDATA | br | ol | ul | li)* >
sollte das nicht

Code: Select all

<!ELEMENT description(#PCDATA | br | ol | ul | li)* >
also ohne Leerzeichen vor PCDATA sein? (Nur so'ne Idee...)

olape
Posts: 847
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by olape » Fri Jan 18, 2019 8:28 pm

Holger wrote:
Fri Jan 18, 2019 8:04 pm
Mich stört etwas, dass ich bei der Beschreibung Entities eingeben muss (einfach nur wegen c&p).
Nun hab' ich simpleXML auch noch nicht wirklich Berührungspunkte gehabt, aber mir scheint da ist ein Fehler in der Definition:

Code: Select all

<! ELEMENT description(# PCDATA | br | ol | ul | li)* >
sollte das nicht

Code: Select all

<!ELEMENT description(#PCDATA | br | ol | ul | li)* >
also ohne Leerzeichen vor PCDATA sein? (Nur so'ne Idee...)
Ja, das stört mich auch noch, aber ich glaube, ich habe alle Varianten getestet.
Alles was nicht Entitie war, ist raus geflogen.
Ich teste es aber nochmal.

Holger
Site Admin
Posts: 3098
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by Holger » Fri Jan 18, 2019 8:31 pm

olape wrote:
Fri Jan 18, 2019 8:28 pm
Ja, das stört mich auch noch, aber ich glaube, ich habe alle Varianten getestet.
Alles was nicht Entitie war, ist raus geflogen.
Seltsam. Normalerweise sollte die Definition passen :? .
Aber mach' dir damit jetzt erst einmal keinen Stress.

cmb
Posts: 13259
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by cmb » Fri Jan 18, 2019 10:22 pm

olape wrote:
Fri Jan 18, 2019 8:28 pm
Ja, das stört mich auch noch, aber ich glaube, ich habe alle Varianten getestet.
Alles was nicht Entitie war, ist raus geflogen.
Ich teste es aber nochmal.
SimpleXML validiert nicht; mit der DTD hat es also nichts zu tun. Das Problem ist, dass SimpleXML nicht wirklich mit Mixed-Content zurecht kommt. Folgendes geht gerade noch:

Code: Select all

<?php

$xml = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
 <description>
  foo <i>bar</i> baz
 </description>
</plugin>
XML;

$sxe = simplexml_load_string($xml);
echo $sxe->description;

// liefert:
// <description>
//   foo <i>bar</i> baz
//  </description>
Aber wollte man auf die Kinder von $sxe->description zugreifen, dann würden die reinen Textknoten nicht zurückgeliefert. Und riefe man SimpleXMLElement::__toString() auf, dann würden die Elementknoten verschluckt (das passiert wohl bei dir). Da bräuchte man also DOM, aber auch da gibt es kein fertiges DomNode->innerXML(). Auf StackOverflow findet man aber Beispiele, wie man das selbst schreiben kann. Siehe dazu auch dom_import_simplexml().
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 1683
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by lck » Sat Jan 19, 2019 10:56 am

olape wrote:
Fri Jan 18, 2019 7:34 pm
So, wer noch mal helfen möchte zu testen.
...
Bitte auch mal Dinge tun, die so nicht gedacht sind!
Beispiel für ein Plugin.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Holger
Site Admin
Posts: 3098
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by Holger » Sat Jan 19, 2019 11:21 am

cmb wrote:
Fri Jan 18, 2019 10:22 pm
SimpleXML validiert nicht; mit der DTD hat es also nichts zu tun. Das Problem ist, dass SimpleXML nicht wirklich mit Mixed-Content zurecht kommt. Folgendes geht gerade noch:
Okay, jetzt wird's aber aufwändiger als nötig...

Vermutlich wird's am Ende simpler sein ein kleines Tool für den interessierten Entwickler zur Verfügung zu stellen, dass per Formular das passende XML im Browser generiert.

frase
Posts: 2896
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Hat CMSimle XH eine Zukunft

Post by frase » Sat Jan 19, 2019 11:37 am

Holger wrote:
Sat Jan 19, 2019 11:21 am
Vermutlich wird's am Ende simpler sein ein kleines Tool für den interessierten Entwickler zur Verfügung zu stellen, dass per Formular das passende XML im Browser generiert.
:!: :!: :!:
+1

Post Reply