Что такое пространство имен XML и какое оно имеет отношение к транзакциям Spring? - PullRequest
2 голосов
/ 25 января 2011

Я только что прошел весеннее руководство по транзакциям, в котором упоминается, что есть некоторые элементы, доступные для декларативного управления транзакциями, и они определены в пространстве имен tx. Что на самом деле содержит пространство имен tx. Где это определено, зарегистрировано и т. Д.? Зачем мне пространство имен?

В общем, я хочу знать о пространствах имен, не относящихся только к пространству имен tx.

1 Ответ

8 голосов
/ 25 января 2011

Пространство имен XML - это просто токен, который из-за отсутствия лучшего описания определяет, чьей «версией» является конкретный тег или атрибут.Идея состоит в том, чтобы предотвратить конфликты, если, например, вы используете 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 - это просто способ определения вещей, которые «принадлежат» Spring транзакции в документе конфигурации XML.Посещение URL-адреса пространства имен Spring TX приводит вас к XML-схемам (правилам для элементов, атрибутов и значений, которые вы можете иметь) для различных версий Spring Transactions.Больше информации о том, какие параметры конфигурации вы можете использовать, содержится в документации Spring .

...