20.3.1 Эта команда кодирования затрагивает только "ExtendedXMLValue" типа, к которому она применяется. Она требует использования первой или второй альтернативы для "ExtendedXMLOctetStringValue" и "ExtendedXMLOpenTypeFieldVal" (как опция кодера), запрещая третью альтернативу (см. 16.4). Она требует использования второй альтернативы для "ExtendedXMLRestrictedCharacterStringValue" (см. 16.4).
20.3.2 "Base64XMLOctetStringValue":
Base64XMLOctetStringValue:: = | |
XMLBase64String |
"XMLBase64String" определен в 20.3.6.
20.3.3 ИСО/МЭК 8824-1, пункт 22.4, применяется.
20.3.4 "Base64XMLOpenTypeFieldVal":
Base64XMLOpenTypeFieldVal:: = | |
XMLBase64String |
20.3.5 "Base64XMLRestrictedCharacterStringValue":
Base64XMLRestrictedCharacterStringValue:: = | |
XMLBase64String |
20.3.6 "XMLBase64String":
XMLBase64String:: = |
XMLRestrictedCharacterStringValue |
"XMLRestrictedCharacterStringValue" должно быть результатом кодирования контента при передаче Content-Transfer-Encoding, определенное в запросе на комментарии IETF 2045, пункт 6.8, за исключением того, что предел в 76 символов не применяется, и "пробел с переходом" (см. 7.1.5), разрешен в любой позиции результата кодирования "XMLBase64String".
Примечание - IETF RFC, 2045 определяет присутствие концов строки, делящих результат кодирования на строки максимум 76 символов, но это не требуется при EXTENDED-XER кодированиии. Это также позволяет вставить пробел "white-space" в любую позицию результата кодирования Base64.
20.3.7 Если команда кодирования Base64 применяется к типу "ограниченная строка символов", то каждый символ в строке символов должен быть закодирован с UTF-8 (см. ИСО 10646, приложение D). Получающиеся октеты для всей строки символов должны быть закодированы в символы, как определено в IETF RFC 2045, пункт 6.8, и получающиеся символы должны сформировать "ExtendedXMLValue".