code: protected void writeSceneData (SparseMisoSceneModel model,
                                     DataWriter writer)
          throws SAXException
      {
          writer.dataElement("swidth", Integer.toString(model.swidth));
          writer.dataElement("sheight", Integer.toString(model.sheight));
          writer.dataElement("defTileSet", Integer.toString(model.defTileSet));
  
          writer.startElement("sections");
          for (Iterator<Section> iter = model.getSections(); iter.hasNext(); ) {
              Section sect = iter.next();
              if (sect.isBlank()) {
                  continue;
              }
              AttributesImpl attrs = new AttributesImpl();
              attrs.addAttribute("", "x", "", "", String.valueOf(sect.x));
              attrs.addAttribute("", "y", "", "", String.valueOf(sect.y));
              attrs.addAttribute("", "width", "", "", String.valueOf(sect.width));
              writer.startElement("", "section", "", attrs);
  
              writer.dataElement(
                  "base", StringUtil.toString(sect.baseTileIds, "", ""));
  
              // write our uninteresting object tile information
              writer.startElement("objects");
              for (int ii = 0; ii < sect.objectTileIds.length; ii++) {
                  attrs = new AttributesImpl();
                  attrs.addAttribute("", "tileId", "", "",
                                     String.valueOf(sect.objectTileIds[ii]));
                  attrs.addAttribute("", "x", "", "",
                                     String.valueOf(sect.objectXs[ii]));
                  attrs.addAttribute("", "y", "", "",
                                     String.valueOf(sect.objectYs[ii]));
                  writer.emptyElement("", "object", "", attrs);
              }
  
              // write our interesting object tile information
              for (ObjectInfo element : sect.objectInfo) {
                  writeInterestingObject(element, writer);
              }
              writer.endElement("objects");
              writer.endElement("section");
          }
          writer.endElement("sections");
      }
docs: Writes just the scene data which is handy for derived classes which
  may wish to add their own scene data to the scene output.