[1] > [DFN[[RUBY[排他的][はいたてき]@en[exclusive]] XML [RUBY[正準化法][せいじゅんかほう]@en[canonicalization method]]]]は、 この [INS[([[排他的XML正準化]] 1.0)]] 仕様書で定義する、 与えられた[[XML]][[文書部分集合]]の[[排他的正準形]]を生成する[[算法]]です。 [2] 仕様書: - [[排他的XML正準化]] -- -- [CSECTION@en[3. Specification of Exclusive XML Canonicalization]] [3] [[排他的XML正準化]]の[[データ・モデル]]、 [[処理]]、[[入力引数]]、[[出力データ]]は、 [[正準XML]] とほぼ同じですが、 次の違いがあります [SRC[排他的 XML 正準化 1.0 3.]]: -[4] [CODE(XMLa)@en[[[xml]]:[VAR[*]]]] [[属性]]を[[孤児節点]]たる[[要素節点]]に複写しません。 つまり、 [CODE(XMLa)@en[[[xml]]:[[lang]]]] [[属性]]などの[[継承]]は考慮しません。 -[5] [[包括的名前空間接頭辞並び]]という[[入力引数]]を受け取り[['''して構いません''']]。 これは、[[名前空間接頭辞]][[及び/又は]][[既定名前空間]]を表す[[字句]]の[[並び]]または [CODE@en[[[null]]]] です。 この[[並び]]で指定された[[名前空間]]は、 (>>6 や >>7 ではなく) [[正準XML]] と同じように処理します。 -[6] [[名前空間節点]] [VAR@en[N]] は、次の条件を''すべて''満たす時、 結果に含めます。 -- [8] [VAR@en[N]] の[[親要素]]が[[節点集合]]に含まれる -- [9] [VAR@en[N]] の[[親要素]]が [VAR@en[N]] の[[名前空間接頭辞]]を[[可視的利用]]している --[10] [VAR@en[N]] の[[名前空間接頭辞]]がどの[[出力先祖]]によっても結果に含められていないか、 または [VAR@en[N]] の[[親要素]]であって [VAR@en[N]] の[[名前空間接頭辞]]を[[可視的利用]]している[[直近]]の[[出力先祖]]が、 [[節点集合]]中に[[名前空間接頭辞]]と[[値]]が [VAR@en[N]] と同じの[[名前空間節点]]を持たない -[7] [[節点集合]]中の[[要素]] [VAR@en[E]] について、 次の条件を''すべて''満たす時、 [CODE(XML)@en[[CODE(XMLa)@en[[[xmlns]]]]=""]] を[[出力]]します --[11] [VAR@en[E]] が[[既定名前空間]]を[[可視的利用]]している (= [VAR@en[E]] は[[名前空間接頭辞]]なし) --[12] [[節点集合]]中に[[既定名前空間節点]]を持たない --[13] [[既定名前空間]]を[[可視的利用]]している [VAR@en[E]] の[[直近]]の[[出力先祖]]が[[節点集合]]中に[[既定名前空間節点]]を持つ