要約
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
目次
- 特異メソッド
- インスタンスメソッド
- 定数
継承しているメソッド
- REXML::Childから継承しているメソッド
- REXML::Nodeから継承しているメソッド
特異メソッド
- default -> REXML::XMLDecl[permalink][rdoc][edit]
- 
XML宣言を含まない文章でデフォルトで使うための XMLDecl オブジェクトを生成して返します。 
- new(version = REXML::XMLDecl::DEFAULT_VERSION, encoding = nil, standalone = nil)[permalink][rdoc][edit]
- 
新たな XMLDecl オブジェクトを生成して返します。 version 以外は省略可能です。 - [PARAM] version:
- バージョン(文字列)
- [PARAM] encoding:
- エンコーディング(文字列 or nil)
- [PARAM] standalone:
- スタンドアロン文章かどうか("yes", "no", nil)
 
インスタンスメソッド
- self == other -> bool[permalink][rdoc][edit]
- 
self と other が同じであるならば真を返します。 「同じ」とは REXML::XMLDecl#version, REXML::XMLDecl#encoding, REXML::XMLDecl#standalone が一致していることを意味します。 - [PARAM] other:
- 比較対象のオブジェクト
 
- clone -> REXML::XMLDecl[permalink][rdoc][edit]
- 
self を複製します。 
- dowrite -> ()[permalink][rdoc][edit]
- 
出力時(REXML::Document#write) に XML 宣言を省略しないよう指示します。 [SEE_ALSO] REXML::XMLDecl#nowrite, REXML::XMLDecl#writethis 
- encoding -> String | nil[permalink][rdoc][edit]
- 
設定されているエンコーディングの名前を文字列で返します。 エンコーディングが指定されていない(デフォルトの UTF-8 とみなされます) 場合は nil を返します。 
- encoding=(enc)[permalink][rdoc][edit]
- 
エンコーディングを enc に設定します。 enc に nil を渡すと XML 宣言では encoding が指定されていない(デフォルトで UTF-8 が使われる) ことになります。 - [PARAM] enc:
- エンコーディング(文字列 or nil)
 [SEE_ALSO] REXML::XMLDecl#encoding= 
- node_type -> Symbol[permalink][rdoc][edit]
- 
シンボル :xmldecl を返します。 
- nowrite -> ()[permalink][rdoc][edit]
- 
出力時(REXML::Document#write) に XML 宣言を省略するよう指示します。 [SEE_ALSO] REXML::XMLDecl#dowrite, REXML::XMLDecl#writethis 
- standalone -> String | nil[permalink][rdoc][edit]
- stand_alone? -> String | nil
- 
スタンドアロン文書であるかどうかを "yes" "no" で返します。 nil(省略)を返す場合もあります。 
- standalone=(value)[permalink][rdoc][edit]
- 
スタンドアロン文書であるかどうかを "yes" "no" で設定します。 この属性を省略したい場合は nil を指定します。 - [PARAM] value:
- 設定値(文字列)
 
- version -> String[permalink][rdoc][edit]
- 
XML文書のバージョンを文字列で返します。 
- version=(value)[permalink][rdoc][edit]
- 
XML文書のバージョンを設定します。 - [PARAM] value:
- 設定値(文字列)
 
- writeencoding -> bool[permalink][rdoc][edit]
- 
XML宣言内の encoding の宣言を出力時に省略するならば真を返します。 これが真であっても UTF-8 以外のエンコーディングを指定しているならば encoding は出力されます。 
- writethis -> bool[permalink][rdoc][edit]
- 
出力時(REXML::Document#write) に XML 宣言を出力する(省略しない) ならば真を返します。 [SEE_ALSO] REXML::XMLDecl#dowrite, REXML::XMLDecl#nowrite 
- xmldecl(version, encoding, standalone) -> ()[permalink][rdoc][edit]
- 
内容を更新します。 - [PARAM] version:
- バージョン(文字列)
- [PARAM] encoding:
- エンコーディング(文字列 or nil)
- [PARAM] standalone:
- スタンドアロン文章かどうか("yes", "no", nil)
 
定数
- DEFAULT_VERSION -> String[permalink][rdoc][edit]
- 
REXML::XMLDecl.new や REXML::XMLDecl.default での使われるデフォルトのXMLバージョン。