2016-06-29 17 views
0

Ich schreibe einige XPath-Abfragen für einige XML-Dateien. Die DTDs dieser Dateien sind jedoch nicht verfügbar, obwohl ich einige grundlegende Ideen über die Struktur der XML-Dateien habe.Ist für das Schreiben von XPath-Abfragen DTD erforderlich?

Ich frage mich sollten wir davon ausgehen, dass die DTDs immer verfügbar sind, wenn XPath Abfragen schreiben?

(Ich bin neu in XPath, bitte korrigieren Sie mich, wenn ich nicht die richtige Frage stelle).

+0

Also gehst du gerade in völliger Dunkelheit und schreibst Vermutungen und hoffst, dass es funktioniert? – Andrejs

+0

Nein, eine DTD zum Schreiben von XPath ist nicht erforderlich. –

+1

Ich schreibe sie die ganze Zeit, und ich habe noch nie gesehen oder hatte eine DTD in Bezug auf eine der Dateien, die ich erhalte. (Viele haben XSDs, aber keine hat eine DTD.) Was lässt Sie denken, dass Sie einen brauchen würden? –

Antwort

2

Der Zugriff auf eine DTD wird Ihre Fähigkeit verbessern, die erwartete oder beabsichtigte Struktur der Daten zu verstehen (wenn Sie jedoch nicht wissen, dass alle Daten DTD-gültig sind, können die Daten a andere Struktur in der Tat).

Wenn Sie eine DTD haben oder nicht, wird es keinen Unterschied machen, ob ein XQuery-, XSLT- oder anderer XPath-Prozessor Ihre Abfragen verarbeiten kann. (Einige XQuery-Prozessoren können ein XSD-Schema erwarten oder erfordern, einige XQuery-Prozessoren und einige XSLT 2.0- oder 3.0-Prozessoren nutzen einen, falls verfügbar, aber ich kenne keinen XPath-Prozessor irgendeiner Art, der eine DTD erwartet, benötigt oder verwendet.)

+0

Sehr nützliche Antwort! Danke vielmals. Ich frage mich, ob Sie irgendwelche Referenzen (Papiere/Dokumente/Webseite/...) kann ich zitieren? – JackWM

+0

Zitieren für was? Versuchen Sie, einen Streit mit einem Kollegen zu gewinnen, der sich nicht dafür einsetzen will? Oder versuchen Sie eine Fußnote in eine wissenschaftliche Arbeit oder einen technischen Bericht aufzunehmen? Und welchen Punkt möchten Sie unterstützen? Die Behauptung, dass Dokumentgrammatiken helfen können, die erwartete Struktur der Daten zu vermitteln? Ich kenne keine; Der Punkt folgt direkt aus der Funktion der Dokumentgrammatiken. Die Behauptung, dass XQuery-Prozessoren keinen Zugriff auf DTDs benötigen? Entspricht den relevanten Spezifikationen (siehe http://www.w3.org/TR/). –