Ты прав. Идея атрибутов, не являющихся частью пространства имен по умолчанию, заключается в том, что они считаются существующими в «пространстве имен элементов» & mdash; поэтому в этом случае
считается «пространством имен» для @attrib
. Обратите внимание, что это просто концептуально; там нет API или что-либо, что ссылается на пространства имен атрибутов таким образом.
Это было выбрано потому, что несколько элементов могут иметь атрибуты с одинаковыми именами, но разные значения & mdash; в отличие от традиционного пространства имен, которое представляет собой набор имен (так что нет дубликатов). В некотором смысле, он дает больше структуры пространству имен, вместо того, чтобы иметь плоский набор.
Вы можете прочитать об этом в очень старую версию рекомендации Namespaces .
Это соглашение означает, что всякий раз, когда вы видите атрибут prefixed, он представляет некоторую «дополнительную» информацию, которая не связана с основной схемой в документе.
Похоже, в вашем проекте есть библиотека типа ShowTime .
В ShowTime вы можете разрешить его показ только в отладке:
ShowTime.enabled = .debugOnly