[1] [CODE(XPath)[[CODE(XSLTe)[[VAR[xslt:]][[output]]]]/@[CODE(XSLTa)[[[method]]]] = 'xml']] の時、 [DFN[XML 出力方式]] (XML output method) になります。この方式は、[[整形式外部解析実体]]を出力します。 [2] [CODE(XSLTe)[[VAR[xslt:]]output]] 要素の意味と既定値: ,属性名 ,既定値 ,意味 ,[CODE(XSLTa)[[[encoding]]]] ,[[UTF-8]] or [[UTF-16]] ,符号化方式 ,[CODE(XSLTa)[[[indent]]]] ,'no' ,字下げ ,[CODE(XSLTa)[[[media-type]]]] ,[CODE(MIME)[[[text/xml]]]] ,媒体型 ,[CODE(XSLTa)[[[standalone]]]] ,(指定なし) ,非依存文書宣言 ,[CODE(XSLTa)[[[version]]]] ,[CODE(XML)[1.0]] ,XML の版 [3] 字下げを行う場合、[[空白]]を落とす処理 ([[空白保持要素]]は [CODE(XSLTe)[[VAR[xslt:]][[text]]]] だけ) をしたとすれば字下げを行わない場合と同じ結果が得られる方法を使うことが推奨されています。 - [6] [CODE(XSLTa)[doctype-system]] 属性が指定されている場合又は [CODE(XPath)[@[CODE(XSLTa)[standalone]]='yes']] の場合は、出力は[[整形式]] XML 文書実体でなければなりません。 [8] & ([[名無しさん]] [WEAK[2005-06-07 02:48:04 +00:00]]) [[#comment]] * Escape の無効化 [4] [CODE(XSLTe)[[VAR[xslt:]][[text]]]] 要素と [CODE(XSLTe)[[VAR[xslt:]][[value-of]]]] 要素には [CODE(XSLTa)[[[disable-output-escaping]]]] 属性があります。 XML 出力方式及び [[XML出力方式]]では、 この属性の値 [WEAK[(既定値 [CODE(XSLTa)[no]])]] が [CODE(XSLTa)[yes]] であるときには、 escape を行いません。 ほとんど XML/HTML だけど微妙に非整形式、 みたいな結果が欲しい時(謎)に有用です。 この仕組みは必要があるなら便利ですが、 そうでなければスタイルシートがややこしくなったり、 不適当な結果を出力をしてしまう虞がある諸刃の剣です。 素人はおとなしく他の普通の仕組みを使いましょう(謎)。 [5] Escape しないと出力できない[[文字]]があるときは[[誤り]]です。 [[結果木]]で[[文節]]になる以外の場面で disable されているのも誤りです。[[結果木素片]]が[[数値]]や[[文字列]]に変化される時に disable されているものがあるのも誤りです。 処理系が disable するのに対応していないときも誤りです。 以上の誤りは通知するか、又は disable を無視することで回復しないといけません。 - [7] [[結果木素片]]内に disable されている節があるときも、意図したとおりに動作するべきです。