Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > rexml/documentライブラリ > REXML::XMLDeclクラス

class REXML::XMLDecl

クラスの継承リスト: REXML::XMLDecl < REXML::Encoding < REXML::Child < REXML::Node < Object < Kernel < BasicObject

要約

XML 宣言を表すクラス。

文書から XML 宣言を取り出すには REXML::Document#xml_decl を使います。

require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<e />
EOS

xml_decl = doc.xml_decl
xml_decl.version # => "1.0"
xml_decl.encoding # => "UTF-8"
xml_decl.standalone # => "yes"
xml_decl.writethis # => true

XML 宣言を省略した場合の例。

require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<e />
EOS

xml_decl = doc.xml_decl
xml_decl.version # => "1.0"
xml_decl.encoding # => "UTF-8"
xml_decl.standalone # => nil
xml_decl.writethis # => false

XML 宣言が encoding 属性を持たない場合の例

require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" ?>
<e />
EOS

xml_decl = doc.xml_decl
xml_decl.version # => "1.0"
xml_decl.encoding # => "UTF-8"
xml_decl.standalone # => nil
xml_decl.writethis # => true

目次

特異メソッド
default new
インスタンスメソッド
== clone dowrite encoding encoding= node_type nowrite stand_alone? standalone standalone= version version= writeencoding writethis xmldecl
定数
DEFAULT_VERSION

特異メソッド

default -> REXML::XMLDecl[permalink][rdoc]

XML宣言を含まない文章でデフォルトで使うための XMLDecl オブジェクトを生成して返します。

new(version = REXML::XMLDecl::DEFAULT_VERSION, encoding = nil, standalone = nil)[permalink][rdoc]

新たな XMLDecl オブジェクトを生成して返します。

version 以外は省略可能です。

[PARAM] version:
バージョン(文字列)
[PARAM] encoding:
エンコーディング(文字列 or nil)
[PARAM] standalone:
スタンドアロン文章かどうか("yes", "no", nil)

インスタンスメソッド

self == other -> bool[permalink][rdoc]

self と other が同じであるならば真を返します。

「同じ」とは REXML::XMLDecl#version, REXML::XMLDecl#encoding, REXML::XMLDecl#standalone が一致していることを意味します。

[PARAM] other:
比較対象のオブジェクト
clone -> REXML::XMLDecl[permalink][rdoc]

self を複製します。

dowrite -> ()[permalink][rdoc]

出力時(REXML::Document#write) に XML 宣言を省略しない よう指示します。

[SEE_ALSO] REXML::XMLDecl#nowrite, REXML::XMLDecl#writethis

encoding -> String | nil[permalink][rdoc]

設定されているエンコーディングの名前を文字列で返します。

エンコーディングが指定されていない(デフォルトの UTF-8 とみなされます) 場合は nil を返します。

encoding=(enc)[permalink][rdoc]

エンコーディングを enc に設定します。

enc に nil を渡すと XML 宣言では encoding が 指定されていない(デフォルトで UTF-8 が使われる) ことになります。

[PARAM] enc:
エンコーディング(文字列 or nil)

[SEE_ALSO] REXML::XMLDecl#encoding=

node_type -> Symbol[permalink][rdoc]

シンボル :xmldecl を返します。

nowrite -> ()[permalink][rdoc]

出力時(REXML::Document#write) に XML 宣言を省略する よう指示します。

[SEE_ALSO] REXML::XMLDecl#dowrite, REXML::XMLDecl#writethis

standalone -> String | nil[permalink][rdoc]
stand_alone? -> String | nil

スタンドアロン文書であるかどうかを "yes" "no" で 返します。

nil(省略)を返す場合もあります。

standalone=(value)[permalink][rdoc]

スタンドアロン文書であるかどうかを "yes" "no" で設定します。

この属性を省略したい場合は nil を指定します。

[PARAM] value:
設定値(文字列)
version -> String[permalink][rdoc]

XML文書のバージョンを文字列で返します。

version=(value)[permalink][rdoc]

XML文書のバージョンを設定します。

[PARAM] value:
設定値(文字列)
writeencoding -> bool[permalink][rdoc]

XML宣言内の encoding の宣言を出力時に省略するならば真を返します。

これが真であっても UTF-8 以外のエンコーディングを指定している ならば encoding は出力されます。

writethis -> bool[permalink][rdoc]

出力時(REXML::Document#write) に XML 宣言を出力する(省略しない) ならば真を返します。

[SEE_ALSO] REXML::XMLDecl#dowrite, REXML::XMLDecl#nowrite

xmldecl(version, encoding, standalone) -> ()[permalink][rdoc]

内容を更新します。

[PARAM] version:
バージョン(文字列)
[PARAM] encoding:
エンコーディング(文字列 or nil)
[PARAM] standalone:
スタンドアロン文章かどうか("yes", "no", nil)

定数

DEFAULT_VERSION -> String[permalink][rdoc]

REXML::XMLDecl.newREXML::XMLDecl.default で の使われるデフォルトのXMLバージョン。