2011-01-25 15 views
2

私は、宣言的トランザクション管理に利用できる要素がいくつかあり、それらはtx名前空間で定義されていることを述べているSpringのトランザクションチュートリアルを読んでいます。実際にtx名前空間には何が含まれていますか?それはどこに定義され、登録されていますか?なぜ私は名前空間が必要でしょうか?XML名前空間とは何ですか?また、Springトランザクションとは何が関係していますか?

一般的に、tx名前空間に固有の名前空間だけでなく、

+0

XMLの名前空間とは何か?(http://stackoverflow.com/questions/2237965/what-has-an-namespace-to-do-with-xml) –

+0

また、おそらく[XML名前空間とは何ですか?](http://stackoverflow.com/questions/128389/what-are-xml-namespaces-for) –

答えて

8

XML namespaceは、説明が不足しているため、特定のタグまたは属性の「バージョン」を特定するトークンに過ぎません。たとえば、複数の人/プログラム/標準化団体などによって定義された要素をXMLに使用している場合、競合を防止するという考え方です。たとえば、xmlを使用するプログラムでは、名前空間http://www.ttdi.us/xml/myappを使用することがあります。その後、私はどこか、誰かがまた自分自身の目的のため<name>を使用している場合がありますことを心配せず<name>のようなタグを定義することができます

<thing xmlns="http://www.ttdi.us/xml/myapp" 
     xmlns:pie="http://somebodyelse.example/delicious/pie"> 
<!-- this defines that we have a "thing" 
    in the namespace "http://www.ttdi.us/xml/myapp" --> 
<!-- also it says that anything with the prefix pie: 
    is from a different namespace. --> 
    <name color="brown" pie:color="crispy">Bob</name> 
    <!-- so this tag has the color "brown" for the attribute in my namespace 
     but "crispy" in somebodyelse's pie namespace. 
     We can use the same tag/attribute names without any trouble. --> 
    <pie:flavor>Blueberry</pie:flavor> 
</thing> 

名前空間はどこでも「登録」する必要はありません。あなたが望むどんなURIでもかまいません。

つまり、独自のXMLドキュメントを作成していて、ほかのXMLの一部が埋め込まれている可能性が高いと思われる場合は、名前空間を宣言する価値があります。

したがって、tx名前空間は、XML構成文書のSpringトランザクションに「属している」ものを識別する単なる方法です。 the URL of the Spring TX namespaceにアクセスすると、さまざまなバージョンのSpringトランザクションのXMLスキーマ(どの要素、属性、および値を持つことができるかに関するルール)につながります。使用できる構成設定の詳細については、Spring's documentationを参照してください。

関連する問題