# File lib/ruby-vpi/xx.rb, line 283
283:       def xx_with_doc_in_effect *a, &b
284: #--{{{
285:         @xx_docs ||= []
286:         doc = ::XX::Document::new(*a)
287:         ddoc = doc.doc
288:         begin
289:           @xx_docs.push doc
290:           b.call doc if b
291: 
292:           doctype = xx_config_for "doctype", xx_which
293:           if doctype
294:             unless ddoc.doctype
295:               doctype = ::REXML::DocType::new doctype unless
296:                 ::REXML::DocType === doctype
297:               ddoc << doctype
298:             end
299:           end
300: 
301:           xmldecl = xx_config_for "xmldecl", xx_which
302:           if xmldecl
303:             if ddoc.xml_decl == ::REXML::XMLDecl::default
304:               xmldecl = ::REXML::XMLDecl::new xmldecl unless
305:                 ::REXML::XMLDecl === xmldecl
306:               ddoc << xmldecl
307:             end
308:           end
309: 
310:           return doc
311:         ensure
312:           @xx_docs.pop
313:         end
314: #--}}}
315:       end