private void saveMCD(PrintStream out) throws IOException
    {
        out.println("<mcd>");

        for (Iterator<ZElement> e = mcd.enumElements(); e.hasNext();) {
            MCDObjet o = (MCDObjet) e.next();
            if (o instanceof MCDEntite)
                out.println("<entite nom=\"" + o.getName() + "\" x=\""
                        + o.getX() + "\" y=\"" + o.getY() + "\">");
            else
                out.println("<association nom=\"" + o.getName() + "\" x=\""
                        + o.getX() + "\" y=\"" + o.getY() + "\">");

            for (int i = 0; i < o.sizeInformation(); i++) {
                out.println("<information code=\"" + o.getCodeInformation(i)
                        + "\" />");
            }

            if (o instanceof MCDEntite)
                out.println("</entite>");
            else
                out.println("</association>");
        }

        for (Iterator<ZLien> e = mcd.enumLiens(); e.hasNext();) {
            MCDLien l = (MCDLien) e.next();
            out.println("<lien cardmin=\"" + l.getCardMin() + "\" cardmax=\""
                    + l.getCardMax() + "\" elem1=\""
                    + ((MCDObjet) l.getElement( Constantes.MCDENTITE1 )).getName() + "\" elem2=\""
                    + ((MCDObjet) l.getElement( Constantes.MCDENTITE2 )).getName() + "\" />");
        }

        out.println("</mcd>");
    }