2010-06-09 7 views

Antwort

13

Während XQuery kann für einfache Transformationen verwendet werden, fehlt es die Leistung und Sofistiation von XSLT (insbesondere Vorlagen und die <xsl:apply-templates> Anweisung).

XSLT ist eine Sprache, die speziell für die Verarbeitung von Baumstrukturen entwickelt wurde. Es ist immer noch am besten, dies zu tun.

In Fällen, in denen auf eine XML-Datenbank zugegriffen wird, wäre es eine gute Entscheidung, (die Effizienz von) XQuery zu verwenden, um die notwendigen XML-Knoten zu extrahieren und dann die Transformation mit XSLT durchzuführen. Einige XSLT 2.x/XQuery-Prozessoren erlauben dies (über Erweiterungen) schon jetzt. Die nächste Welle von XSLT 2.x/XQuery 1.x-Spezifikationen wird diese Interoperabilität höchstwahrscheinlich zu einem offiziellen Merkmal dieser Sprachen machen.

-4

Es hängt davon ab, welche Art von "Transformation" Sie benötigen, XQuery ermöglicht Ihnen Abfragen auf Ihre XML-Daten, ein bisschen wie SQL.

XSLT ermöglicht Ihnen, einen Stil auf XML anzuwenden, wie CSS mit HTML.

+8

Ich stimme überhaupt nicht mit der Aussage "XSLT ermöglicht es Ihnen, einen Stil auf XML anwenden, wie CSS mit HTML.". XSLT ist nicht zu XML was CSS zu HTML ist. CSS teilt einem Prozessor mit, wie der HTML-Code angezeigt werden soll. XSLT wird verwendet, um die Daten in etwas anderes zu transformieren. Sie können XSLT verwenden, um XML in HTML umzuwandeln, damit ein Prozessor weiß, wie die Daten angezeigt werden sollen, aber wie der Prozessor das resultierende HTML anzeigt, hat nichts mit XSLT zu tun. –

+0

XSLT ist weitaus komplexer als CSS. Mit XSLT können Sie Elemente und Attribute zu oder von der Ausgabedatei hinzufügen/entfernen. Sie können Elemente auch neu anordnen und sortieren, Tests durchführen und Entscheidungen treffen, welche Elemente versteckt und angezeigt werden sollen und vieles mehr. – Premraj

0

Wenn Sie die Wikipedia Entry betrachten, haben sie einen Abschnitt, der die beiden vergleicht.

Aus meiner Sicht sehe ich XSLT als eine programmierbare Präsentationsebene für Daten.

Verwandte Themen