JSP リファレンス

<jsp:output>
xmlns:jsp="http://java.sun.com/JSP/Page"
JSP 1.2 以降

SYNOPSIS

<jsp:output
omit-xml-declaration="yes|no|true|false"
doctype-root-element="ドキュメント要素名"
doctype-public="PUBLID ID"
doctype-system="SYSTEM ID"
/>

説 明

XML 構文の JSP において XML/DTD 宣言の出力を制御します。 XML ドキュメントを出力する場合に使用します。

参照: XML構文のJSP 

属 性

omit-xml-declaration="yes|no|true|false"
optional

出力時に XML 宣言 (<?xml version="1.0" encoding="UTF-8"?>) を省略 (=omit) するかどうかを指定します。

この属性を省略した場合に XML 宣言が出力されるかどうかは状況に依存します。 例えば JSP のトップレベル要素に <jsp:root> を使用している 場合はデフォルトで XML 宣言を出力しません。

doctype-root-element="ドキュメント要素名"
optional

出力する XML ドキュメントのルート要素の名前です。DTD 宣言部分に使用されます。

デフォルト: ドキュメントのルート要素
doctype-public="PUBLID ID"
optional
出力する XML ドキュメントの PUBLID ID です。DTD 宣言部分に使用されます。 この属性を指定する場合は doctype-root-element は必須です。
doctype-system="SYSTEM ID"
optional
出力する XML ドキュメントの SYSTEM ID です。DTD 宣言部分に使用されます。 この属性を指定する場合は doctype-root-element は必須です。

使用例

XML 宣言を省略せずに出力します。
JSP
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root
    xmlns:jsp="http://java.sun.com/JSP/Page"
    version="1.2">
<jsp:output omit-xml-declaration="false" />
<foo>hello, world</foo>
</jsp:root>
上記は以下のようなレスポンスになります。
JSP
<?xml version="1.0" encoding="UTF-8"?>
<foo>hello, world</foo>
XML 宣言及び DTD 宣言を出力します。
JSP
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root
    xmlns:jsp="http://java.sun.com/JSP/Page"
    version="1.2">
<jsp:output
    omit-xml-declaration="false"
    doctype-root-element="foo"
    doctype-public="http://lab.moyo.biz/dtd/sample"
    doctype-system="sample.dtd"/>
<foo>hello, world</foo>
</jsp:root>
出力結果は以下の通り。
JSP
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo PUBLIC "http://lab.moyo.biz/dtd/sample" "sample.dtd">
<foo>hello, world</foo>
また、<jsp:out> 要素に直接 jsp の名前空間を 指定することで <jsp:root> の使用を省略できます。この場合、 デフォルトで XML 宣言が付加されます。
JSP
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<jsp:output
    xmlns:jsp="http://java.sun.com/JSP/Page"
    doctype-root-element="foo"
    doctype-public="http://lab.moyo.biz/dtd/sample"
    doctype-system="sample.dtd"/>
hello, world
</foo>
JSP
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo PUBLIC "http://lab.moyo.biz/dtd/sample" "sample.dtd">
<foo>hello, world</foo>
CVS 2008/03/09