Schleifen in X3D / X3DOM

Wie kann ich eine Schleife um ein -Element bauen, so dass ich nicht 100-mal die Anweisung schreiben muss?
Ziel ist eine Szene mit 100 Würfeln zu bauen, die zufällig im Raum verstreut sind.

Moin,

Wie kann ich eine Schleife um ein -Element bauen, so dass
ich nicht 100-mal die Anweisung schreiben muss?

Mit einer Programmiersprache, die den X3D-Code erzeugt.

Da X3D eine auf XML-basierende Sprache ist, ist sie nur eine Auszeichnungssprache und keine Programmiersprache und kennt daher so Dinge wie Schleifen nicht.

Ziel ist eine Szene mit 100 Würfeln zu bauen, die zufällig im
Raum verstreut sind.

Den X3D-Code per Programm/Script erzeugen scheint mir hier die einzige Lösung.

Liebe Grüße,
-Efchen

Hi,

Für zufällige Koordinaten wirst Du ein Skript brauchen.
Vielleicht hilft Dir dieses Beispiel weiter: http://www.web3d.org/x3d/content/examples/Basic/cour…

Gruß,
KHK

OT: XML kennt per se keine Semantik
Hi,

Vorsicht mit der Begründung:

Da X3D eine auf XML-basierende Sprache ist, ist sie nur eine
Auszeichnungssprache und keine Programmiersprache und kennt
daher so Dinge wie Schleifen nicht.

„Auszeichnungs-“ und „Programmiersprache“ sind keine Gegensätze. Auch ein C-Programm ist letztlich nichts als ausgezeichneter Text, wobei die Auszeichnung zu einem großen Teil implizit ist.

XML legt nur fest, wie Auszeichnungen auszusehen haben. Die mit den Auszeichnungen verknüpfte Semantik ist nicht Teil von XML.

Deshalb kann man selbstverständlich auch XML-konforme Programmiersprachen entwickeln.

Gruß,
KHK

Moin,

Vorsicht mit der Begründung:

Ich sehe da keine Bedenken.

„Auszeichnungs-“ und „Programmiersprache“ sind keine
Gegensätze.

Für mich schon.

Auch ein C-Programm ist letztlich nichts als
ausgezeichneter Text, wobei die Auszeichnung zu einem großen
Teil implizit ist.

Aber die Syntax von C dient doch nicht dazu, dem Inhalt eine logische Bedeutung zu geben, das ist nicht der Sinn und Zweck einer Programmiersprache.

XML legt nur fest, wie Auszeichnungen auszusehen haben. Die
mit den Auszeichnungen verknüpfte Semantik ist nicht Teil von
XML.

Die ist sicher nicht in der Spezifikation von XML festgelegt, aber die Tags, die ich festlege, die haben alle eine Bedeutung.

Deshalb kann man selbstverständlich auch XML-konforme
Programmiersprachen entwickeln.

Hmmm…vermutlich hast Du recht. Aber hat das schon jemand gemacht? Hast Du Beispiele? Warum sollte man eine Programmiersprache auf XML-Basis entwickeln wollen? Nur weil man etwas machen kann, ist es noch nicht sinnvoll. Siehe Tabellen-Layout :wink:

Liebe Grüße,
-Efchen

XML ist eine Datenhaltung in Nodes ,
wo bitte schön Programmiere ich da etwas ?
Ich weise noch mal darauf hin das wir immer noch Bücher schreiben und eine logische datenhaltung aufbauen , damit programmieren wir aber nicht das buch , das buch ist und bleibt ein satz von Daten. Wir können einen Leserobotter Programmieren. Aber das wird der Datenhaltung keine Programmierfähigkeit hinzufügen. Es sind halt nur Daten .

Programmierung hat hier aber wirklich nichts mit einer tiefen Datenstructur zu tun.

Viel spass mein sinnfreiem fachsimpeln.

Moin,

es war vermutlich so gemeint, dass man anstelle die Programmiersprache so aufbaut:

Hello, world!

Wenn man das weiter spinnt, könnte daraus eine auf XML basierende Programmiersprache werden. Oder nicht?
Aber ich kenne sowas nicht und ich wüsste auch nicht, warum man das so tun sollte - wie ich schrieb.

Schönes Wochenende,
-Efchen

Hi,

Auch ein C-Programm ist letztlich nichts als
ausgezeichneter Text, wobei die Auszeichnung zu einem großen
Teil implizit ist.

Aber die Syntax von C dient doch nicht dazu, dem Inhalt eine
logische Bedeutung zu geben, das ist nicht der Sinn und Zweck
einer Programmiersprache.

Mit der Syntax von C ist doch eine logische Bedeutung verknüpft. Die Entscheidung, ob eine Zeichenfolge ein while-Schleife oder eine if-Abfrage darstellt oder überhaupt kein C-Code ist, erfolgt ausschließlich auf der syntaktischen Ebene. Die Semantik einer Programmiersprache wird (mindestens teilweise) auf die Syntax abgebildet. Erst auf der höheren Ebene, auf der es darum geht, ob ein Programm Quadratwurzeln berechnet oder Tetris spielt, spielt die Syntax keine Rolle mehr. (Die verwendete Programmiersprache aber auch nicht.)

XML legt nur fest, wie Auszeichnungen auszusehen haben. Die
mit den Auszeichnungen verknüpfte Semantik ist nicht Teil von
XML.

Die ist sicher nicht in der Spezifikation von XML festgelegt,
aber die Tags, die ich festlege, die haben alle eine
Bedeutung.

Richtig, die gibst Du ihnen. Und dabei bist Du im wesentlichen frei. Du kannst einen Zustand, aber auch einen Prozess im Sinn haben. Du kannst festlegen, ob die Reihenfolge der Knoten eine Bedeutung hat (räumliche Nähe, zeitliche Abfolge, …) oder nicht.
Du kannst also auch Tags der folgenden Art festlegen:

und dann einen XML-Prozessor entwicklen, der die Tags entsprechend interpretiert.

Deshalb kann man selbstverständlich auch XML-konforme
Programmiersprachen entwickeln.

Hmmm…vermutlich hast Du recht. Aber hat das schon jemand
gemacht? Hast Du Beispiele?

Wie wär’s mit XSLT? :smile:

Warum sollte man eine
Programmiersprache auf XML-Basis entwickeln wollen?

Zum Beispiel, weil man sich in einer stark XML-haltigen Umgebung bewegt und auf diese Weise Daten und Programme mit den gleichen Werkzeugen verarbeiten kann. Ich sage wohlgemerkt nicht, dass das immer und überall sinnvoll ist. Es kann es aber sein. Ich mache in meinen Job u.a. sowas.

Nur weil man etwas machen kann, ist es noch nicht sinnvoll. Siehe
Tabellen-Layout :wink:

Das ist wahr. Andererseits: nur weil etwas in einem Kontext nicht sinnvoll ist, ist es nicht allgemein sinnlos. Wenn einem kein CSS zur Verfügung steht (z.B. Display mit rudimentären HTML-Fähigkeiten in einer CAM-Umgebung), sind Tabellen-Layouts gar nicht mehr sooo schrecklich.

Gruß,
KHK

Das klar , nur es ist halt die Sprache die dahinter steckt, in diesem fall ja der parser . Und nur weil ich jetzt { gegen tags mit namen tausche wird da noch keine programmiersprache aus der datenhaltung (programm code speichern) .
ob nun als text oder binär , die sprache nennt sich nicht XML sondern aus dem XML ein code erzeugt . Das wäre dann eigentlich nur der unterschied des aussehens im textfile , aber ob nun CSV oder XML oder XHTML . bzw ersetzen von Klammern Verzweigungen und zuweisungen durch tags, eigentlich kann ich mit allen möglichen zeichen irgendwie was festhalten , ergo ist eine textdatei und ihr zeichensatz keine programmiersprache an sich , somit ist auch XML keine programmiersprache an sich sondern eine datenhaltung eines programmcodes.

also ob ich mit 0 und 1 oder zeichen den code hinbau , solange er richtig geparsst wird ist doch alles in ordnung , bei XML wäre das eben erst durch den XML parser , dann durch den codeparser .