#!/usr/bin/gjs
const GXml = imports.gi.GXml;
let doc = GXml.Document.new ();
/* */
let elem = doc.create_element ("book");
print ("Book element: " + elem.to_string (false, 0));
let docfragment = doc.create_document_fragment ();
print ("Fragment: " + docfragment.to_string (false, 0));
/* Between the book tags is text! */
let text = doc.create_text_node ("Between the book tags is text!");
print ("Text: " + text.to_string (false, 0));
/* The fault in our stars */
let comment = doc.create_comment ("comment: I really like this book");
print ("Comment: " + comment.to_string (false, 0));
/* */
let cdata = doc.create_cdata_section ("non-XML data like code or special entities");
print ("CDATA section: " + cdata.to_string (false, 0));
/* */
let pi = doc.create_processing_instruction ("xml", "href=\"style.xsl\" type=\"text/xml\"");
print ("Processing Instruction: " + pi.to_string (false, 0));
/* */
let attr = doc.create_attribute ("id");
print ("Attribute: " + attr.to_string (false, 0));
/* ' (for an apostrophe, ') */
let entref = doc.create_entity_reference ("apos");
print ("Entity reference: " + entref.to_string (false, 0));