* 実体符号化指定属性形式ビット組合せ変形形式属性 (SGML 公式システム識別子)

[5] [[SGML]] [[公式システム識別子]]の[RUBYB[実体符号化指定] [entity encoding specification]] ([CODE(SGML)[[[encoding]]]]) [[属性形式]]の[DFN[[RUBYB[ビット組合せ変形形式] [bit combination transformation format]]]]
([DFN[[CODE(SGML)[bctf]]]]) [[属性]]は、
[[文書文字集合]]から[[実体]]で使用されている[[符号化方式]]への変換方法を指定します。

[4] 仕様書:
- [[ISO/IEC 10744]]:1997
-- [CSECTION[A.6.5.2 Encoding-related attributes]]
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.6.5.html#clause-A.6.5.2>

[6]
:[[属性形式]]:[RUBYB[実体符号化指定] [entity encoding specification]]
([CODE(SGML)[[[encoding]]]])
:[[参照具象構文名]]:[CODE(SGMLa)[[[bctf]]]]
:[[完全名]]:[RUBYB[[[ビット組合せ変形形式]]] [bit combination transformation format]]
:[[属性値]]:[CODE(SGML)[[[NAME]]]]
(変換方法を表す[[登録値記法]]名)
:[[既定値]]:[[蓄積域物体]]は[[文書文字集合]]に依存した[[符号化文字集合]]ではない

[[#comment]]


** 属性値

[1] [[ISO/IEC 10744]]:1997 で定義されている変換方法:
,参照具象構文名	,公式公開識別子	,説明
,[CODE(SGML)[[[identity]]]]	,[CODE(SGML)[[[ISO/IEC 10744:1997//NOTATION FSIDR BCTF IDENTITY BCTF Algorithm//EN]]]]	,各ビット組合せを1オクテットで表現 [WEAK[(ビット組合せがすべて [CODE[255]] 以下である[[蓄積域物体]]にのみ使用可能)]]
,[CODE(SGML)[[[fixed-2]]]]	,[CODE(SGML)[[[ISO/IEC 10744:1997//NOTATION FSIDR BCTF FIXED-2 BCTF Algorithm//EN]]]]	,各ビット組合せを2オクテットで表現 ([[大エンディアン]]) [WEAK[(ビット組合せがすべて [CODE[65535]] 以下である[[蓄積域物体]]にのみ使用可能)]]
,[CODE(SGML)[[[fixed-3]]]]	,[CODE(SGML)[[[ISO/IEC 10744:1997//NOTATION FSIDR BCTF FIXED-3 BCTF Algorithm//EN]]]]	,各ビット組合せを3オクテットで表現 ([[大エンディアン]]) [WEAK[(ビット組合せがすべて [CODE[16777215]] 以下である[[蓄積域物体]]にのみ使用可能)]]
,[CODE(SGML)[[[fixed-4]]]]	,[CODE(SGML)[[[ISO/IEC 10744:1997//NOTATION FSIDR BCTF FIXED-4 BCTF Algorithm//EN]]]]	,各ビット組合せを3オクテットで表現 ([[大エンディアン]]) [WEAK[(ビット組合せがすべて [CODE[4294967295]] 以下である[[蓄積域物体]]にのみ使用可能)]]

(いずれも実装は必須ではありません。)

[[#comment]]


** 他との関係

[10] [[ビット組合せ変形形式]] ([CODE(SGMLa)[[[bctf]]]])
[[属性]]と[[実体符号化指定]] ([CODE(SGMLa)[[[encoding]]]])
[[属性]]は、高々1つのみ指定できます。
[SRC[ISO/IEC 10744:1997 A.6.5.2]]

[11] この属性は [[SGML文実体]], [[[CODE(SGML)[CDATA]]実体]]、
[[[CODE(SGML)[SDATA]]実体]]にのみ指定できます。
[SRC[ISO/IEC 10744:1997 A.6.5.2]]


* [CODE[SGML-bctf=""]] 引数 (SGML MIME 型)

[3] [[SGML MIME型]]には [DFN[[CODE[SGML-bctf]]]] [[引数]]を指定できます。
[SRC[>>2]]

[REFS[

- [2] [CITE@en[[[RFC 1874]] - SGML Media Types]], [TIME[2023-08-04T13:21:14.000Z]] <https://datatracker.ietf.org/doc/html/rfc1874#section-2.3>
- [8] [CITE@en[[[RFC 1874]] - SGML Media Types]], [TIME[2023-08-04T13:43:35.000Z]] <https://datatracker.ietf.org/doc/html/rfc1874#appendix-A.1>


]REFS]


[12] インターネット[[媒体型]]である [CODE(MIME)[[[application/sgml]]]]
は [CODE(MIME)[[[sgml-bctf]]]] [[引数]]を定義していますが、
その内容はビット組合せ変形形式 ([CODE(SGMLa)[bctf]]) 
属性と[[実体符号化指定]] ([CODE(SGMLa)[encoding]])
属性を合わせたものになっています。

[CODE(MIME)[application/sgml]] が基にしているのが
[[ISO/IEC 10744]]:1992 ですから、
旧規格ではビット組合せ変形形式 ([CODE(SGMLa)[bctf]]) 
属性1つしかなかったのでしょう。


[13]
>>12 [[RFC 1874]] によれば参照されているのは1992年版に対する TC 案である

- [7] 
[CITE[First Proposed Technical Corrigendum to ISO/IEC 10744:1992]],
[[ISO/IEC JTC1]] N3441,
[[ISO/IEC]] [[JTC1/SC18]] N5027,
[TIME[1995-08]]

で、どうやら Web 上に情報はないようですが、その当時は [[RFC 1874]]
附属書 C にまとめられているような仕様だったのでしょう。
([[ISO/IEC 10744]]:1997 は TC1 to 1992 からかなり変更があったようです。)
なお、元の1992年版には[[公式システム識別子]]自体がありませんでした。


* メモ