A place for general not CMSimple related discussions
-
olape
- Posts: 2756
- Joined: Fri Mar 13, 2015 8:47 am
-
Contact:
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
Gruß Olaf,
Plugins for CMSimple_XH
Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.
-
olape
- Posts: 2756
- Joined: Fri Mar 13, 2015 8:47 am
-
Contact:
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(): <!ELEMENT description(# PCDATA | br | ol | ul | li | b | i)* > 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.
Gruß Olaf,
Plugins for CMSimple_XH
Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.
-
olape
- Posts: 2756
- Joined: Fri Mar 13, 2015 8:47 am
-
Contact:
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.
Gruß Olaf,
Plugins for CMSimple_XH
Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.
-
Holger
- Site Admin
- Posts: 3470
- Joined: Mon May 19, 2008 7:10 pm
- Location: Hessen, Germany
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: 2756
- Joined: Fri Mar 13, 2015 8:47 am
-
Contact:
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.
Gruß Olaf,
Plugins for CMSimple_XH
Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.
-
Holger
- Site Admin
- Posts: 3470
- Joined: Mon May 19, 2008 7:10 pm
- Location: Hessen, Germany
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: 14225
- Joined: Tue Jun 21, 2011 11:04 am
- Location: Bingen, RLP, DE
-
Contact:
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().
-
lck
- Posts: 2973
- Joined: Wed Mar 23, 2011 11:43 am
-
Contact:
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.
-
Holger
- Site Admin
- Posts: 3470
- Joined: Mon May 19, 2008 7:10 pm
- Location: Hessen, Germany
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: 5085
- Joined: Thu Apr 21, 2016 6:32 am
- Location: Saxony
-
Contact:
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