code: public static void writeRoadNetwork(Element xmlNode, RoadNetwork primitive, URL geometryURL,
  			MapMetricProjection mapProjection, URL attributeURL, XMLBuilder builder,
  			PathBuilder pathBuilder, XMLResources resources) throws IOException {
  		final ContainerWrapper w = new ContainerWrapper(primitive);
  		w.setElementGeometrySource(geometryURL, mapProjection);
  		w.setElementAttributeSourceURL(attributeURL);
  		writeGISElementContainer(xmlNode,
  				w, NODE_ROAD, builder, pathBuilder, resources);
  		final Rectangle2d bounds = primitive.getBoundingBox();
  		if (bounds != null) {
  			xmlNode.setAttribute(ATTR_X, Double.toString(bounds.getMinX()));
  			xmlNode.setAttribute(ATTR_Y, Double.toString(bounds.getMinY()));
  			xmlNode.setAttribute(ATTR_WIDTH, Double.toString(bounds.getWidth()));
  			xmlNode.setAttribute(ATTR_HEIGHT, Double.toString(bounds.getHeight()));
  		}
  	}
docs: Write the XML description for the given container of roads.
  
  @param xmlNode is the XML node to fill with the container data.
  @param primitive is the container of roads to output.
  @param geometryURL is the URL of the file that contains the geometry of the roads.
  If <code>null</code>, the road will be directly written in the XML document.
  @param mapProjection is the map projection to use to write the geometry shapes.
  @param attributeURL is the URL of the file that contains the attributes of the roads.
  This parameter is used only if <var>geometryURL</var> is not <code>null</code>.
  @param builder is the tool to create XML nodes.
  @param pathBuilder is the tool to make paths relative.
  @param resources is the tool that permits to gather the resources.
  @throws IOException in case of error.