[1] [DFN[[RUBYB[公式公開識別子][Formal public identifier]]]]とは、 
[[JIS X 4151]]‐1992 ([[ISO 8879]]:1988) 
の[Q[規定に従い構成された[[公開識別子]]]]です。

[2] JIS X 4151‐1992 では[Q[[[公''的''公開識別子]]]]と呼んでいましたが、 
JIS X 4151 [[TC]] 2 ([[Web SGML]]) や [[JIS X 4172]]:1998 
では[Q[公''式''公開識別子]]と改訳しています。

また、頭文字を取って [Q[[[FPI]]]] と呼ばれることもよくあります。

[10] [[JISX4172]]:1998 は[DFN[[[公式公開識別子]]]]と呼んでいます。

[7] 
>
:[RUBYB[公的[[公開識別子]]] [formal public identifier]]:その[[所有者識別子]]及びその[[文識別子]]の構成要素が[[識別]]できるように、
この規格に規定している規則に従い構成された公開識別子。[INS[([[JISX4151]]‐1992 定義 (89)]]

[8] 
> '''[INS[JIS X 4151‐1992]] 9.2 公的公開識別子'''
>
-[CODE(SGML)[[DFN[公的公開識別子]] = [[所有者識別子]]. "//", 文識別子 —(79)]]
> 公的公開識別子は、[[生成規則]]で明記してあるものを除いて、
二重の[[斜線]] [CODE(SGML)["//"]] を含んではならない。
-備考 
--公開識別子は、[[最小表記]]であるので、その中の 
[CODE(SGML)[[[RS]] を無視し、2個以上連続する 
[CODE(SGML)[[[RE]]]] 及び [CODE(SGML)[[[SPACE]]]]
を1個の [CODE(SGML)[SPACE]] に置換した上で、
公的公開識別子として解釈する。
--従って、最小表記に対する量的制限 (9.1.7.1 参照) に従わなければならない。
> '''9.2.1 [[所有者識別子]]''' [INS[(略)]]
> '''9.2.2 [[文識別子]]''' [INS[(略)]]

[9] [[最小表記]]に対する量的制限により、 
[WEAK[最小表記としての[[正規化]]を施した後の]] 
全体の長さが 240 以下でなければなりません。


[3] JIS X 4172:1998 では[[所有者識別子]]についてを扱っていますが、
それに関連する語句を次のような木構造にまとめています。
(JIS X 4151 の語とは必ずしも一致しませんが、おおよその対応を等号以下に補いました。)
-[[公開テキスト]] = [[公開文]]
-[[公開識別子]]
--[[SGML公式公開識別子]] = [[公的公開識別子]]
---[[構造化名公開識別子]]
----[[所有者名]] = [[所有者識別子]]
-----[[登録済み所有者名]] = [[登録所有者識別子]] + [[ISO所有者識別名]]
------[[登録済み所有者接頭部]]
-------[[ISBN接頭部]]
-------[[ISO 2375接頭部]]
------[[命名主体]]
-------[[ISO認定組織主体]]
-------[[ISO会員団体主体]]
-------[[ISO登録主体]]
-------[[ISO出版物主体]]
--------[[ISO共同出版社主体]]
-----[[未登録所有者名]]
----[[オブジェクト名]]

[4] [[XHTML m12n]] は同仕様に[[適合]]する[[文書型]]や[[モジュール]]の[[公式公開識別子]]の書式を定めています。
([[XHTMLの公式公開識別子]]の項を参照。)

* [CODE[FPI]] 属性型 (XHTML 1)

[2] [[XHTML m12n]] [[抽象モジュール]]定義の[[属性型]]
[DFN[[CODE[FPI]]]] は、 [[SGML]] の[[公式公開識別子]]を表します。

** 仕様書

[REFS[
- [4] [[XHTML m12n]]
--[CSECTION[4.3. Attribute Types]]
<IW:XHTML1m12n:"abstraction.html#dt_FPI">
]REFS]

** メモ

[3] ここでいう [Q[SGML]] とは [[XML]] なのだから [[Web SGML]]
だろうと思いきや、引用規格として参照されているのは[[素のSGML]]
だったりします [SRC[XHTML m12n G.1]]。

* メモ

[5] [[XML]] では[[公開識別子]]について使える[[文字]]以上の制約はなく、[[公式公開識別子]]を使うこともできますが、
そうでなくても何ら問題ありません。とはいえ [[XML]] でも敢えて[[公開識別子]]を使うような人達は [[SGML]]
時代から [[DTD]] を使ってきたことが多いので、 [[XML]] の[[公開識別子]]も大抵は[[公式公開識別子]]となっています。

[FIG(quote)[
[FIGCAPTION[
[6] [CITE@en[RFC 5545 - Internet Calendaring and Scheduling Core Object Specification (iCalendar)]]
([TIME[2015-05-02 04:51:47 +09:00]] 版)
<https://tools.ietf.org/html/rfc5545#section-3.7.3>
]FIGCAPTION]

> The vendor of the implementation SHOULD assure that
>       this is a globally unique identifier; using some technique such as
>       an FPI value, as defined in '''['''ISO.9070.1991''']'''.

]FIG]

[11] ''Resolving Formal Public Identifiers on the WWW: A Proposal For Delegating SGML Open Catalogs'' <http://ausweb.scu.edu.au/aw96/tech/tauber/>: かつて、 [[IETF]] で [[FPI]] を使う方法として提案されていたもの。

[12] ''uri-94q4: Re: "why isn't IETF using FPIs?"'' <http://www.acl.lanl.gov/URI/archive/uri-94q4.messages/0069.html>

[13] [[SGML]] 以外に [[ISO/IEC 10036]] も [[FPI]] を使っています。


[14] [TIME[2001-08-19T05:28:55.000Z]], [TIME[2023-08-04T14:15:19.365Z]] <http://www.y-adagio.com/public/standards/jis_dsssl/cls7.txt>


>この規格では,公開識別子はISO/IEC 9070が規定する公開識別子の正規文字列形式に適合しなければならない。
