2016-10-13 5 views
-1

Ich bin auf der Suche nach, wie wir das Symbol eines Namespace in Spring Bohne XML-Definitionen ermitteln sollten. Ich denke, sie sind im Spring-Schema-Ordner, aber ich kann es nicht finden. Zum Beispiel, was sind c:, p:, util:, .. in der XML-Bean-Konfiguration?Spring-Schema-Ordner & Spring XML-Namespaces

Wo finde ich die Schemas für jeden Namespace? Zum Beispiel, woher weiß ich, ob ich http://www.springframework.org/schema/p in xmlns:p="http://www.springframework.org/schema/p" verwenden soll, wo sind die anderen Namespaces und wie kann ich sie finden?

Antwort

0

Sie können das Symbol wählen (p, util, jee, beans, ...) selbst. Dies sind Namespaces, und sie arbeiten, indem Sie die xmlns Attribut wie:

<beans xmlns:util="http://www.springframework.org/schema/util"> 
    <!-- Content --> 
</beans> 

In diesem Fall haben wir gesagt, dass util: wird vom util-Schema verwendet werden, so dass Sie <util:properties> verwenden, um Zugriff auf die Dinge aus dieser Namespace. Aber Sie könnten auch gesagt haben xmlns:foobar="http://www.springframework.org/schema/util" in dem Fall könnten Sie Dinge wie <foobar:properties> verwendet haben.

Aber Sie müssen auch die Lage des XSD von diesem Namensraum zu schaffen, durch xsi:schemaLocation mit:

<beans xmlns:util="http://www.springframework.org/schema/util" 
     xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> 
    <!-- Content --> 
</beans> 

In diesem Fall wird die XSD für http://www.springframework.org/schema/util bei http://www.springframework.org/schema/util/spring-util.xsd zur Verfügung steht. Der http://www.springframework.org/schema/util Teil ist nur ein Etikett und kann auch gewählt werden. Das einzige, was übereinstimmen muss, ist das XSD-Schema.

Weitere Informationen zu XML-Namespaces finden Sie unter this question and its answers.

Eine Liste der gängigen XML-Schemata mit Spring finden Sie in der Dokumentation (33. XML Schema-based configuration). Diese listen jedoch nur die Kernschemas auf. Einige Projekte (wie Spring Web Services, ...) haben ihre eigenen Namensraum wie:

Sie die gesamte Liste durch den Besuch finden die Index of /schema. Wie ich bereits erwähnt habe, werden die meisten nur für bestimmte Spring-Projekte verwendet, importieren Sie sie nicht einfach, lesen Sie die spezifische Dokumentation, um herauszufinden, was Sie brauchen. Die Dokumentation zum Konstruktornamespace (c:) finden Sie unter 7. The IoC container.

+0

Vielen Dank für Ihre Hilfe! – Dragon

Verwandte Themen