San11 Geschrieben 19. März 2009 Teilen Geschrieben 19. März 2009 Hallo zusammen, ich habe ein riesiges Problem, an dem ich verzweifle. Ich arbeite an einer XSLT-Transformation, die in X3D ausgeben soll, aber irgendwo befindet sich ein Fehler in der Transformation. Kann ggf. jemand den Fehler erkennen? Für Eure Hilfe bin ich sehr dankbar, ich habe wirklich schon alles probiert. Hier der XSLT-CODE: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output media-type="model/x3d+xml" doctype-system="http://www.web3d.org/specifications/x3d-3.2.dtd" method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" /> <xsl:template match="/"> <X3D profile="Immersive" version="3.0"> <Scene> <Transform> <PointLight on="true" location="-0.228412 0.514089 0" /> <xsl:apply-templates /> </Transform> </Scene> </X3D> </xsl:template> <xsl:template match="kopf"> <xsl:for-each select="kopf"> <Shape> <Appearance> <Material ambientIntensity="0.2" diffuseColor='0 0 0' emissiveColor='0 0 0' shininess="1.000000" specularColor='0.2 0.2 0.2' transparency="0.000000" /> </Appearance> <IndexedFaceSet solid="true" creaseAngle="1.57" coordIndex=" 0 12 1 -1 0 1 2 -1 0 2 3 -1 0 3 4 -1 0 4 5 -1 0 5 6 -1 0 6 7 -1 0 7 8 -1 0 8 9 -1 0 9 10 -1 0 10 11 -1 0 11 12 -1 ..... </IndexedFaceSet> </Shape> </xsl:for-each> </xsl:template> <xsl:template match="beinrechts"> <xsl:for-each select="beinrechts"> <Shape> <Appearance> <Material ambientIntensity="0.2" diffuseColor='1 1 1' emissiveColor='0 0 0' shininess="1.000000" specularColor='0.2 0.2 0.2' transparency="0.000000" /> </Appearance> <IndexedFaceSet solid="true" creaseAngle="1.57" coordIndex=" 0 2 13 -1 0 3 2 -1 0 4 3 -1 0 5 4 -1 0 6 5 -1 0 7 6 -1 0 8 7 -1 0 9 8 -1 0 10 9 -1 0 11 10 -1 0 12 11 -1 0 13 12 -1 1 25 14 -1 1 14 15 -1 1 15 16 -1 1 16 17 -1 1 17 18 -1 1 18 19 -1 1 19 20 -1 1 20 21 -1 1 21 22 -1 1 22 23 -1 1 23 24 -1 1 24 25 -1 25 13 2 14 -1 14 2 3 15 -1 15 3 4 16 -1 16 4 5 17 -1 17 5 6 18 -1 18 6 7 19 -1 19 7 8 20 -1 20 8 9 21 -1 21 9 10 22 -1 22 10 11 23 -1 23 11 12 24 -1 24 12 13 25 -1 " > <Coordinate point=" 0.169497 -1.49766 0.398629 0.0869187 -0.237779 0.619769 0.191635 -1.88129 0.541576 0.300922 -1.79619 0.538768 0.374993 -1.6311 0.49841 0.394001 -1.43025 0.431315 0.352854 -1.24746 0.355462 0.262577 -1.13171 0.291176 0.147358 -1.11401 0.255682 0.0380721 -1.19912 0.25849 -0.035999 -1.36421 0.298848 -0.0550078 -1.56506 0.365943 -0.0138606 -1.74785 0.441796 0.0764171 -1.8636 0.506082 0.109057 -0.621419 0.762716 0.218344 -0.536318 0.759908 0.292415 -0.371223 0.71955 0.311423 -0.170373 0.652455 0.270276 0.0124173 0.576603 0.179999 0.128166 0.512317 0.0647803 0.145862 0.476822 -0.0445059 0.0607598 0.47963 -0.118577 -0.104334 0.519989 -0.137586 -0.305185 0.587083 -0.0964386 -0.487974 0.662936 -0.00616094 -0.603724 0.727222 " /> </IndexedFaceSet> </Shape> </xsl:for-each> </xsl:template> <xsl:template match="schwanzfeder"> <xsl:for-each select="schwanzfeder"> <Shape> <Appearance> <Material ambientIntensity="0.2" diffuseColor='1 1 1' emissiveColor='0 0 0' shininess="1.000000" specularColor='0.2 0.2 0.2' transparency="0.000000" /> </Appearance> <IndexedFaceSet solid="false" creaseAngle="1.57" coordIndex=" 0 1 2 3 4 5 6 7 8 9 10 11 -1 " > <Coordinate point=" -1.22287 0 0.869439 -2.44296 0 -0.898803 -2.37223 0 -0.279918 -2.72588 0 0.14446 -2.35454 0 0.58652 -2.74356 0 0.922486 -2.40759 0 1.34686 -3.00879 0 1.73588 -2.53137 0 2.10721 -2.6021 0 2.67305 -2.12467 0 2.72609 -1.22287 0 1.85965 " /> </IndexedFaceSet> </Shape> </xsl:for-each> </xsl:template> </xsl:stylesheet> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 19. März 2009 Teilen Geschrieben 19. März 2009 aber irgendwo befindet sich ein Fehler in der Transformation.Und der äußert sich wie? ich habe wirklich schon alles probiert.Mehr als "alles" können wir auch nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
San11 Geschrieben 19. März 2009 Autor Teilen Geschrieben 19. März 2009 Und der äußert sich wie? Mehr als "alles" können wir auch nicht. Hallo Klotzkopp, danke für Deine schnelle Reaktion auf mein Problem. Ja ich hätte wirklich schreiben sollen, wie sich der Fehler genau darstellt, sorry deswegen. Also das Problem ist, dass die Transformation das Objekt eigentlich in X3D ausgeben soll, genau das passiert aber nicht, der Browser bleibt schwarz. --> die X3D-Datei alleine (wird korrekt dargestellt) die xml scheint --> valide <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <?xml-stylesheet href="rabe.xsl" type="text/xsl" ?> <!DOCTYPE rabe SYSTEM "rabe.dtd"> <rabe> <kopf> <auge1 /> <auge2 /> </kopf> <koerper> <fluegel1 /> <fluegel2 /> <beinlinks/> <beinrechts/> <schwanzfeder /> </koerper> </rabe> Die DTD ist auch ok: <!ELEMENT kopf (auge1, auge2)> <!ELEMENT auge1 (#PCDATA)> <!ELEMENT auge2 (#PCDATA)> <!ELEMENT koerper (fluegel1, fluegel2, beinlinks, beinrechts, schwanzfeder)> <!ELEMENT fluegel1 (#PCDATA)> <!ELEMENT fluegel2 (#PCDATA)> <!ELEMENT beinlinks (#PCDATA)> <!ELEMENT beinrechts (#PCDATA)> <!ELEMENT schwanzfeder (#PCDATA)> Demnach muss sich der Fehler voraussichtlich in der XSLT Datei befinden. Lieben Gruß Sandy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 19. März 2009 Teilen Geschrieben 19. März 2009 --> die X3D-Datei alleine (wird korrekt dargestellt)Was heißt denn "alleine"? Wie gehst du vor, dass es nicht korrekt dargestellt wird? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
San11 Geschrieben 20. März 2009 Autor Teilen Geschrieben 20. März 2009 Hallo Klotzkopp, sorry das ich mich jetzt erst wieder melde. Also Zu Deiner Nachfrage wegen dem Vorgehen, ich habe die X3D Datei separat gestartet, um zu sehen, ob sich ein Fehler im X3Dcode befindet, sie wird alklerdings korrekt dargestellt, ansonsten habe ich die XSLT Datei gestartet, die ja eigentlich dann dasselbe Ergebnis ausgeben sollte, sofern alle beteiligten Ressourcen valide sind, also die DTD,XML und die XSLT, aber leider führt die XSLT Datei nicht zur Ausgabe der X3D-Datei und da die XML und die DTD valide zu sein scheinen, gehe ich stark von einem Fehler im XSLT Code aus. Danke nochmal für Deine Mühe Lieben Gruß Sandy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 20. März 2009 Teilen Geschrieben 20. März 2009 Hallo Klotzkopp, sorry das ich mich jetzt erst wieder melde. Also Zu Deiner Nachfrage wegen dem Vorgehen, ich habe die X3D Datei separat gestartet, um zu sehen, ob sich ein Fehler im X3Dcode befindet, sie wird alklerdings korrekt dargestellt, Die X3D-Datei, die du mit dieser XSLT erzeugt hast? Oder woher kommt diese Datei? Und "gestartet" heißt was? ansonsten habe ich die XSLT Datei gestartet,Auch hier: Was meinst du mit "gestartet"? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
San11 Geschrieben 20. März 2009 Autor Teilen Geschrieben 20. März 2009 Hallo Klotzkopp, also die X3D Datei habe ich separat erstellt und für sich gestartet, bzw. in meinem Browser mit dem entsprechenden X3D-Plugin betrachtet, um zu prüfen ob sie soweit in Ordnung ist, danach habe ich mithilfe von XSLT eine Transformation kodiert, in der ich die X3D-Datei stückweise 1:1 auf der Basis der XML-Datei erzeuge, also Kopf,Auge1 und 2 usw. und eigentlich sollte ja dann am Schluß dieselbe X3D-Datei erscheinen und sich betrachten lassen, aber genau das passiert nicht. Ich habe zum "starten" der XSLT DATEI einfach alle Dateien, also XML,DTD,XSLT hochgeladen im selben Verzeichnis und dann die XSL - Datei aufgerufen, leider ohne Ergebnis. Sorry das ich mich teilweise etwas ungeschickt ausdrücke, diese Materie macht mir echt zu schaffen :upps Lieben Gruß Sandy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 23. März 2009 Teilen Geschrieben 23. März 2009 also die X3D Datei habe ich separat erstelltUnd wie hast du sie erstellt? Ich habe zum "starten" der XSLT DATEI einfach alle Dateien, also XML,DTD,XSLT hochgeladen im selben Verzeichnis und dann die XSL - Datei aufgerufen, leider ohne Ergebnis. Du scheinst zu erwarten, dass beim Aufruf der XSLT-Datei entweder der Webserver oder der Browser "weiß", dass er genau diese XML-Datei als Input benutzen soll, die gerade zufällig im selben Verzeichnis liegt. Ich glaube nicht, dass das klappt. Aber ich verschiebe den Thread besser zu den Webdesignern. Ich habe sowieso nicht verstanden, was das bei C++ soll Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.