/**
 * COLLADAType.java This file was generated by XMLSpy 2006sp2 Enterprise
 * Edition. YOU SHOULD NOT MODIFY THIS FILE, BECAUSE IT WILL BE OVERWRITTEN WHEN
 * YOU RE-RUN CODE GENERATION. Refer to the XMLSpy Documentation for further
 * details. http://www.altova.com/xmlspy
 */

package com.jmex.model.collada.schema;

public class COLLADAType extends com.jmex.model.collada.xml.Node {

    private static final long serialVersionUID = 1L;

    public COLLADAType(COLLADAType node) {
        super(node);
    }

    public COLLADAType(org.w3c.dom.Node node) {
        super(node);
    }

    public COLLADAType(org.w3c.dom.Document doc) {
        super(doc);
    }

    public COLLADAType(com.jmex.model.collada.xml.Document doc,
            String namespaceURI, String prefix, String name) {
        super(doc, namespaceURI, prefix, name);
    }

    public void adjustPrefix() {
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Attribute, null,
                "version"); tmpNode != null; tmpNode = getDomNextChild(
                Attribute, null, "version", tmpNode)) {
            internalAdjustPrefix(tmpNode, false);
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "asset"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "asset", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new assetType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animations"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_animations", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_animationsType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_animation_clipsType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_camerasType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_controllersType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_geometriesType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_effects"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_effects", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_effectsType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_force_fieldsType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_images"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_images", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_imagesType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_lights"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_lights", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_lightsType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_materials"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_materials", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_materialsType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "library_nodes"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_nodes", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_nodesType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_physics_materialsType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_physics_modelsType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_physics_scenesType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new library_visual_scenesType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "scene"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "scene", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new sceneType(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "extra"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "extra", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new extraType(tmpNode).adjustPrefix();
        }
    }

    public static int getversionMinCount() {
        return 1;
    }

    public static int getversionMaxCount() {
        return 1;
    }

    public int getversionCount() {
        return getDomChildCount(Attribute, null, "version");
    }

    public boolean hasversion() {
        return hasDomChild(Attribute, null, "version");
    }

    public VersionType newversion() {
        return new VersionType();
    }

    public VersionType getversionAt(int index) throws Exception {
        return new VersionType(getDomNodeValue(dereference(getDomChildAt(
                Attribute, null, "version", index))));
    }

    public org.w3c.dom.Node getStartingversionCursor() throws Exception {
        return getDomFirstChild(Attribute, null, "version");
    }

    public org.w3c.dom.Node getAdvancedversionCursor(org.w3c.dom.Node curNode)
            throws Exception {
        return getDomNextChild(Attribute, null, "version", curNode);
    }

    public VersionType getversionValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new VersionType(getDomNodeValue(dereference(curNode)));
    }

    public VersionType getversion() throws Exception {
        return getversionAt(0);
    }

    public void removeversionAt(int index) {
        removeDomChildAt(Attribute, null, "version", index);
    }

    public void removeversion() {
        while (hasversion())
            removeversionAt(0);
    }

    public void addversion(VersionType value) {
        if (value.isNull() == false) {
            appendDomChild(Attribute, null, "version", value.toString());
        }
    }

    public void addversion(String value) throws Exception {
        addversion(new VersionType(value));
    }

    public void insertversionAt(VersionType value, int index) {
        insertDomChildAt(Attribute, null, "version", index, value.toString());
    }

    public void insertversionAt(String value, int index) throws Exception {
        insertversionAt(new VersionType(value), index);
    }

    public void replaceversionAt(VersionType value, int index) {
        replaceDomChildAt(Attribute, null, "version", index, value.toString());
    }

    public void replaceversionAt(String value, int index) throws Exception {
        replaceversionAt(new VersionType(value), index);
    }

    public static int getassetMinCount() {
        return 1;
    }

    public static int getassetMaxCount() {
        return 1;
    }

    public int getassetCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "asset");
    }

    public boolean hasasset() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "asset");
    }

    public assetType newasset() {
        return new assetType(domNode.getOwnerDocument().createElementNS(
                "http://www.collada.org/2005/11/COLLADASchema", "asset"));
    }

    public assetType getassetAt(int index) throws Exception {
        return new assetType(
                dereference(getDomChildAt(Element,
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "asset", index)));
    }

    public org.w3c.dom.Node getStartingassetCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "asset");
    }

    public org.w3c.dom.Node getAdvancedassetCursor(org.w3c.dom.Node curNode)
            throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "asset",
                curNode);
    }

    public assetType getassetValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new assetType(dereference(curNode));
    }

    public assetType getasset() throws Exception {
        return getassetAt(0);
    }

    public void removeassetAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "asset", index);
    }

    public void removeasset() {
        while (hasasset())
            removeassetAt(0);
    }

    public void addasset(assetType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "asset", value);
    }

    public void insertassetAt(assetType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "asset", index, value);
    }

    public void replaceassetAt(assetType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "asset", index, value);
    }

    public static int getlibrary_animationsMinCount() {
        return 1;
    }

    public static int getlibrary_animationsMaxCount() {
        return 1;
    }

    public int getlibrary_animationsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animations");
    }

    public boolean haslibrary_animations() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animations");
    }

    public library_animationsType newlibrary_animations() {
        return new library_animationsType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_animations"));
    }

    public library_animationsType getlibrary_animationsAt(int index)
            throws Exception {
        return new library_animationsType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animations", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_animationsCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animations");
    }

    public org.w3c.dom.Node getAdvancedlibrary_animationsCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animations", curNode);
    }

    public library_animationsType getlibrary_animationsValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_animationsType(dereference(curNode));
    }

    public library_animationsType getlibrary_animations() throws Exception {
        return getlibrary_animationsAt(0);
    }

    public void removelibrary_animationsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animations", index);
    }

    public void removelibrary_animations() {
        while (haslibrary_animations())
            removelibrary_animationsAt(0);
    }

    public void addlibrary_animations(library_animationsType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_animations", value);
    }

    public void insertlibrary_animationsAt(library_animationsType value,
            int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_animations", index, value);
    }

    public void replacelibrary_animationsAt(library_animationsType value,
            int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_animations", index, value);
    }

    public static int getlibrary_animation_clipsMinCount() {
        return 1;
    }

    public static int getlibrary_animation_clipsMaxCount() {
        return 1;
    }

    public int getlibrary_animation_clipsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips");
    }

    public boolean haslibrary_animation_clips() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips");
    }

    public library_animation_clipsType newlibrary_animation_clips() {
        return new library_animation_clipsType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_animation_clips"));
    }

    public library_animation_clipsType getlibrary_animation_clipsAt(int index)
            throws Exception {
        return new library_animation_clipsType(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_animation_clipsCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips");
    }

    public org.w3c.dom.Node getAdvancedlibrary_animation_clipsCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips", curNode);
    }

    public library_animation_clipsType getlibrary_animation_clipsValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_animation_clipsType(dereference(curNode));
    }

    public library_animation_clipsType getlibrary_animation_clips()
            throws Exception {
        return getlibrary_animation_clipsAt(0);
    }

    public void removelibrary_animation_clipsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips", index);
    }

    public void removelibrary_animation_clips() {
        while (haslibrary_animation_clips())
            removelibrary_animation_clipsAt(0);
    }

    public void addlibrary_animation_clips(library_animation_clipsType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips", value);
    }

    public void insertlibrary_animation_clipsAt(
            library_animation_clipsType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips", index, value);
    }

    public void replacelibrary_animation_clipsAt(
            library_animation_clipsType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_animation_clips", index, value);
    }

    public static int getlibrary_camerasMinCount() {
        return 1;
    }

    public static int getlibrary_camerasMaxCount() {
        return 1;
    }

    public int getlibrary_camerasCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras");
    }

    public boolean haslibrary_cameras() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras");
    }

    public library_camerasType newlibrary_cameras() {
        return new library_camerasType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_cameras"));
    }

    public library_camerasType getlibrary_camerasAt(int index) throws Exception {
        return new library_camerasType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_camerasCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras");
    }

    public org.w3c.dom.Node getAdvancedlibrary_camerasCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras", curNode);
    }

    public library_camerasType getlibrary_camerasValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_camerasType(dereference(curNode));
    }

    public library_camerasType getlibrary_cameras() throws Exception {
        return getlibrary_camerasAt(0);
    }

    public void removelibrary_camerasAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras", index);
    }

    public void removelibrary_cameras() {
        while (haslibrary_cameras())
            removelibrary_camerasAt(0);
    }

    public void addlibrary_cameras(library_camerasType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras", value);
    }

    public void insertlibrary_camerasAt(library_camerasType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras", index, value);
    }

    public void replacelibrary_camerasAt(library_camerasType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_cameras", index, value);
    }

    public static int getlibrary_controllersMinCount() {
        return 1;
    }

    public static int getlibrary_controllersMaxCount() {
        return 1;
    }

    public int getlibrary_controllersCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers");
    }

    public boolean haslibrary_controllers() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers");
    }

    public library_controllersType newlibrary_controllers() {
        return new library_controllersType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_controllers"));
    }

    public library_controllersType getlibrary_controllersAt(int index)
            throws Exception {
        return new library_controllersType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_controllersCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers");
    }

    public org.w3c.dom.Node getAdvancedlibrary_controllersCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers", curNode);
    }

    public library_controllersType getlibrary_controllersValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_controllersType(dereference(curNode));
    }

    public library_controllersType getlibrary_controllers() throws Exception {
        return getlibrary_controllersAt(0);
    }

    public void removelibrary_controllersAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers", index);
    }

    public void removelibrary_controllers() {
        while (haslibrary_controllers())
            removelibrary_controllersAt(0);
    }

    public void addlibrary_controllers(library_controllersType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers", value);
    }

    public void insertlibrary_controllersAt(library_controllersType value,
            int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers", index, value);
    }

    public void replacelibrary_controllersAt(library_controllersType value,
            int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_controllers", index, value);
    }

    public static int getlibrary_geometriesMinCount() {
        return 1;
    }

    public static int getlibrary_geometriesMaxCount() {
        return 1;
    }

    public int getlibrary_geometriesCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries");
    }

    public boolean haslibrary_geometries() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries");
    }

    public library_geometriesType newlibrary_geometries() {
        return new library_geometriesType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_geometries"));
    }

    public library_geometriesType getlibrary_geometriesAt(int index)
            throws Exception {
        return new library_geometriesType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_geometriesCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries");
    }

    public org.w3c.dom.Node getAdvancedlibrary_geometriesCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries", curNode);
    }

    public library_geometriesType getlibrary_geometriesValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_geometriesType(dereference(curNode));
    }

    public library_geometriesType getlibrary_geometries() throws Exception {
        return getlibrary_geometriesAt(0);
    }

    public void removelibrary_geometriesAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries", index);
    }

    public void removelibrary_geometries() {
        while (haslibrary_geometries())
            removelibrary_geometriesAt(0);
    }

    public void addlibrary_geometries(library_geometriesType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries", value);
    }

    public void insertlibrary_geometriesAt(library_geometriesType value,
            int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries", index, value);
    }

    public void replacelibrary_geometriesAt(library_geometriesType value,
            int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_geometries", index, value);
    }

    public static int getlibrary_effectsMinCount() {
        return 1;
    }

    public static int getlibrary_effectsMaxCount() {
        return 1;
    }

    public int getlibrary_effectsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_effects");
    }

    public boolean haslibrary_effects() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_effects");
    }

    public library_effectsType newlibrary_effects() {
        return new library_effectsType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_effects"));
    }

    public library_effectsType getlibrary_effectsAt(int index) throws Exception {
        return new library_effectsType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_effects", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_effectsCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_effects");
    }

    public org.w3c.dom.Node getAdvancedlibrary_effectsCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_effects", curNode);
    }

    public library_effectsType getlibrary_effectsValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_effectsType(dereference(curNode));
    }

    public library_effectsType getlibrary_effects() throws Exception {
        return getlibrary_effectsAt(0);
    }

    public void removelibrary_effectsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_effects", index);
    }

    public void removelibrary_effects() {
        while (haslibrary_effects())
            removelibrary_effectsAt(0);
    }

    public void addlibrary_effects(library_effectsType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_effects", value);
    }

    public void insertlibrary_effectsAt(library_effectsType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_effects", index, value);
    }

    public void replacelibrary_effectsAt(library_effectsType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_effects", index, value);
    }

    public static int getlibrary_force_fieldsMinCount() {
        return 1;
    }

    public static int getlibrary_force_fieldsMaxCount() {
        return 1;
    }

    public int getlibrary_force_fieldsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields");
    }

    public boolean haslibrary_force_fields() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields");
    }

    public library_force_fieldsType newlibrary_force_fields() {
        return new library_force_fieldsType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_force_fields"));
    }

    public library_force_fieldsType getlibrary_force_fieldsAt(int index)
            throws Exception {
        return new library_force_fieldsType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_force_fieldsCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields");
    }

    public org.w3c.dom.Node getAdvancedlibrary_force_fieldsCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields", curNode);
    }

    public library_force_fieldsType getlibrary_force_fieldsValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_force_fieldsType(dereference(curNode));
    }

    public library_force_fieldsType getlibrary_force_fields() throws Exception {
        return getlibrary_force_fieldsAt(0);
    }

    public void removelibrary_force_fieldsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields", index);
    }

    public void removelibrary_force_fields() {
        while (haslibrary_force_fields())
            removelibrary_force_fieldsAt(0);
    }

    public void addlibrary_force_fields(library_force_fieldsType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields", value);
    }

    public void insertlibrary_force_fieldsAt(library_force_fieldsType value,
            int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields", index, value);
    }

    public void replacelibrary_force_fieldsAt(library_force_fieldsType value,
            int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_force_fields", index, value);
    }

    public static int getlibrary_imagesMinCount() {
        return 1;
    }

    public static int getlibrary_imagesMaxCount() {
        return 1;
    }

    public int getlibrary_imagesCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_images");
    }

    public boolean haslibrary_images() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_images");
    }

    public library_imagesType newlibrary_images() {
        return new library_imagesType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_images"));
    }

    public library_imagesType getlibrary_imagesAt(int index) throws Exception {
        return new library_imagesType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_images", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_imagesCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_images");
    }

    public org.w3c.dom.Node getAdvancedlibrary_imagesCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_images", curNode);
    }

    public library_imagesType getlibrary_imagesValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_imagesType(dereference(curNode));
    }

    public library_imagesType getlibrary_images() throws Exception {
        return getlibrary_imagesAt(0);
    }

    public void removelibrary_imagesAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_images", index);
    }

    public void removelibrary_images() {
        while (haslibrary_images())
            removelibrary_imagesAt(0);
    }

    public void addlibrary_images(library_imagesType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_images", value);
    }

    public void insertlibrary_imagesAt(library_imagesType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_images", index, value);
    }

    public void replacelibrary_imagesAt(library_imagesType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_images", index, value);
    }

    public static int getlibrary_lightsMinCount() {
        return 1;
    }

    public static int getlibrary_lightsMaxCount() {
        return 1;
    }

    public int getlibrary_lightsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_lights");
    }

    public boolean haslibrary_lights() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_lights");
    }

    public library_lightsType newlibrary_lights() {
        return new library_lightsType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_lights"));
    }

    public library_lightsType getlibrary_lightsAt(int index) throws Exception {
        return new library_lightsType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_lights", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_lightsCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_lights");
    }

    public org.w3c.dom.Node getAdvancedlibrary_lightsCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_lights", curNode);
    }

    public library_lightsType getlibrary_lightsValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_lightsType(dereference(curNode));
    }

    public library_lightsType getlibrary_lights() throws Exception {
        return getlibrary_lightsAt(0);
    }

    public void removelibrary_lightsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_lights", index);
    }

    public void removelibrary_lights() {
        while (haslibrary_lights())
            removelibrary_lightsAt(0);
    }

    public void addlibrary_lights(library_lightsType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_lights", value);
    }

    public void insertlibrary_lightsAt(library_lightsType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_lights", index, value);
    }

    public void replacelibrary_lightsAt(library_lightsType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_lights", index, value);
    }

    public static int getlibrary_materialsMinCount() {
        return 1;
    }

    public static int getlibrary_materialsMaxCount() {
        return 1;
    }

    public int getlibrary_materialsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_materials");
    }

    public boolean haslibrary_materials() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_materials");
    }

    public library_materialsType newlibrary_materials() {
        return new library_materialsType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_materials"));
    }

    public library_materialsType getlibrary_materialsAt(int index)
            throws Exception {
        return new library_materialsType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_materials", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_materialsCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_materials");
    }

    public org.w3c.dom.Node getAdvancedlibrary_materialsCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_materials", curNode);
    }

    public library_materialsType getlibrary_materialsValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_materialsType(dereference(curNode));
    }

    public library_materialsType getlibrary_materials() throws Exception {
        return getlibrary_materialsAt(0);
    }

    public void removelibrary_materialsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_materials", index);
    }

    public void removelibrary_materials() {
        while (haslibrary_materials())
            removelibrary_materialsAt(0);
    }

    public void addlibrary_materials(library_materialsType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_materials", value);
    }

    public void insertlibrary_materialsAt(library_materialsType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_materials", index, value);
    }

    public void replacelibrary_materialsAt(library_materialsType value,
            int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_materials", index, value);
    }

    public static int getlibrary_nodesMinCount() {
        return 1;
    }

    public static int getlibrary_nodesMaxCount() {
        return 1;
    }

    public int getlibrary_nodesCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "library_nodes");
    }

    public boolean haslibrary_nodes() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "library_nodes");
    }

    public library_nodesType newlibrary_nodes() {
        return new library_nodesType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_nodes"));
    }

    public library_nodesType getlibrary_nodesAt(int index) throws Exception {
        return new library_nodesType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_nodes", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_nodesCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "library_nodes");
    }

    public org.w3c.dom.Node getAdvancedlibrary_nodesCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_nodes", curNode);
    }

    public library_nodesType getlibrary_nodesValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_nodesType(dereference(curNode));
    }

    public library_nodesType getlibrary_nodes() throws Exception {
        return getlibrary_nodesAt(0);
    }

    public void removelibrary_nodesAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_nodes", index);
    }

    public void removelibrary_nodes() {
        while (haslibrary_nodes())
            removelibrary_nodesAt(0);
    }

    public void addlibrary_nodes(library_nodesType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_nodes", value);
    }

    public void insertlibrary_nodesAt(library_nodesType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_nodes", index, value);
    }

    public void replacelibrary_nodesAt(library_nodesType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_nodes", index, value);
    }

    public static int getlibrary_physics_materialsMinCount() {
        return 1;
    }

    public static int getlibrary_physics_materialsMaxCount() {
        return 1;
    }

    public int getlibrary_physics_materialsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials");
    }

    public boolean haslibrary_physics_materials() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials");
    }

    public library_physics_materialsType newlibrary_physics_materials() {
        return new library_physics_materialsType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_physics_materials"));
    }

    public library_physics_materialsType getlibrary_physics_materialsAt(
            int index) throws Exception {
        return new library_physics_materialsType(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_physics_materialsCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials");
    }

    public org.w3c.dom.Node getAdvancedlibrary_physics_materialsCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials", curNode);
    }

    public library_physics_materialsType getlibrary_physics_materialsValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_physics_materialsType(dereference(curNode));
    }

    public library_physics_materialsType getlibrary_physics_materials()
            throws Exception {
        return getlibrary_physics_materialsAt(0);
    }

    public void removelibrary_physics_materialsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials", index);
    }

    public void removelibrary_physics_materials() {
        while (haslibrary_physics_materials())
            removelibrary_physics_materialsAt(0);
    }

    public void addlibrary_physics_materials(library_physics_materialsType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials", value);
    }

    public void insertlibrary_physics_materialsAt(
            library_physics_materialsType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials", index, value);
    }

    public void replacelibrary_physics_materialsAt(
            library_physics_materialsType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_materials", index, value);
    }

    public static int getlibrary_physics_modelsMinCount() {
        return 1;
    }

    public static int getlibrary_physics_modelsMaxCount() {
        return 1;
    }

    public int getlibrary_physics_modelsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models");
    }

    public boolean haslibrary_physics_models() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models");
    }

    public library_physics_modelsType newlibrary_physics_models() {
        return new library_physics_modelsType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_physics_models"));
    }

    public library_physics_modelsType getlibrary_physics_modelsAt(int index)
            throws Exception {
        return new library_physics_modelsType(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_physics_modelsCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models");
    }

    public org.w3c.dom.Node getAdvancedlibrary_physics_modelsCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models", curNode);
    }

    public library_physics_modelsType getlibrary_physics_modelsValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_physics_modelsType(dereference(curNode));
    }

    public library_physics_modelsType getlibrary_physics_models()
            throws Exception {
        return getlibrary_physics_modelsAt(0);
    }

    public void removelibrary_physics_modelsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models", index);
    }

    public void removelibrary_physics_models() {
        while (haslibrary_physics_models())
            removelibrary_physics_modelsAt(0);
    }

    public void addlibrary_physics_models(library_physics_modelsType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models", value);
    }

    public void insertlibrary_physics_modelsAt(
            library_physics_modelsType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models", index, value);
    }

    public void replacelibrary_physics_modelsAt(
            library_physics_modelsType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_models", index, value);
    }

    public static int getlibrary_physics_scenesMinCount() {
        return 1;
    }

    public static int getlibrary_physics_scenesMaxCount() {
        return 1;
    }

    public int getlibrary_physics_scenesCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes");
    }

    public boolean haslibrary_physics_scenes() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes");
    }

    public library_physics_scenesType newlibrary_physics_scenes() {
        return new library_physics_scenesType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_physics_scenes"));
    }

    public library_physics_scenesType getlibrary_physics_scenesAt(int index)
            throws Exception {
        return new library_physics_scenesType(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_physics_scenesCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes");
    }

    public org.w3c.dom.Node getAdvancedlibrary_physics_scenesCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes", curNode);
    }

    public library_physics_scenesType getlibrary_physics_scenesValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_physics_scenesType(dereference(curNode));
    }

    public library_physics_scenesType getlibrary_physics_scenes()
            throws Exception {
        return getlibrary_physics_scenesAt(0);
    }

    public void removelibrary_physics_scenesAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes", index);
    }

    public void removelibrary_physics_scenes() {
        while (haslibrary_physics_scenes())
            removelibrary_physics_scenesAt(0);
    }

    public void addlibrary_physics_scenes(library_physics_scenesType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes", value);
    }

    public void insertlibrary_physics_scenesAt(
            library_physics_scenesType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes", index, value);
    }

    public void replacelibrary_physics_scenesAt(
            library_physics_scenesType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_physics_scenes", index, value);
    }

    public static int getlibrary_visual_scenesMinCount() {
        return 1;
    }

    public static int getlibrary_visual_scenesMaxCount() {
        return 1;
    }

    public int getlibrary_visual_scenesCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes");
    }

    public boolean haslibrary_visual_scenes() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes");
    }

    public library_visual_scenesType newlibrary_visual_scenes() {
        return new library_visual_scenesType(domNode.getOwnerDocument()
                .createElementNS(
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "library_visual_scenes"));
    }

    public library_visual_scenesType getlibrary_visual_scenesAt(int index)
            throws Exception {
        return new library_visual_scenesType(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes", index)));
    }

    public org.w3c.dom.Node getStartinglibrary_visual_scenesCursor()
            throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes");
    }

    public org.w3c.dom.Node getAdvancedlibrary_visual_scenesCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes", curNode);
    }

    public library_visual_scenesType getlibrary_visual_scenesValueAtCursor(
            org.w3c.dom.Node curNode) throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new library_visual_scenesType(dereference(curNode));
    }

    public library_visual_scenesType getlibrary_visual_scenes()
            throws Exception {
        return getlibrary_visual_scenesAt(0);
    }

    public void removelibrary_visual_scenesAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes", index);
    }

    public void removelibrary_visual_scenes() {
        while (haslibrary_visual_scenes())
            removelibrary_visual_scenesAt(0);
    }

    public void addlibrary_visual_scenes(library_visual_scenesType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes", value);
    }

    public void insertlibrary_visual_scenesAt(library_visual_scenesType value,
            int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes", index, value);
    }

    public void replacelibrary_visual_scenesAt(library_visual_scenesType value,
            int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "library_visual_scenes", index, value);
    }

    public static int getsceneMinCount() {
        return 0;
    }

    public static int getsceneMaxCount() {
        return 1;
    }

    public int getsceneCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "scene");
    }

    public boolean hasscene() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "scene");
    }

    public sceneType newscene() {
        return new sceneType(domNode.getOwnerDocument().createElementNS(
                "http://www.collada.org/2005/11/COLLADASchema", "scene"));
    }

    public sceneType getsceneAt(int index) throws Exception {
        return new sceneType(
                dereference(getDomChildAt(Element,
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "scene", index)));
    }

    public org.w3c.dom.Node getStartingsceneCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "scene");
    }

    public org.w3c.dom.Node getAdvancedsceneCursor(org.w3c.dom.Node curNode)
            throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "scene",
                curNode);
    }

    public sceneType getsceneValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new sceneType(dereference(curNode));
    }

    public sceneType getscene() throws Exception {
        return getsceneAt(0);
    }

    public void removesceneAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "scene", index);
    }

    public void removescene() {
        while (hasscene())
            removesceneAt(0);
    }

    public void addscene(sceneType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "scene", value);
    }

    public void insertsceneAt(sceneType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "scene", index, value);
    }

    public void replacesceneAt(sceneType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "scene", index, value);
    }

    public static int getextraMinCount() {
        return 0;
    }

    public static int getextraMaxCount() {
        return Integer.MAX_VALUE;
    }

    public int getextraCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "extra");
    }

    public boolean hasextra() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "extra");
    }

    public extraType newextra() {
        return new extraType(domNode.getOwnerDocument().createElementNS(
                "http://www.collada.org/2005/11/COLLADASchema", "extra"));
    }

    public extraType getextraAt(int index) throws Exception {
        return new extraType(
                dereference(getDomChildAt(Element,
                        "http://www.collada.org/2005/11/COLLADASchema",
                        "extra", index)));
    }

    public org.w3c.dom.Node getStartingextraCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "extra");
    }

    public org.w3c.dom.Node getAdvancedextraCursor(org.w3c.dom.Node curNode)
            throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "extra",
                curNode);
    }

    public extraType getextraValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new extraType(dereference(curNode));
    }

    public extraType getextra() throws Exception {
        return getextraAt(0);
    }

    public void removeextraAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "extra", index);
    }

    public void removeextra() {
        while (hasextra())
            removeextraAt(0);
    }

    public void addextra(extraType value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "extra", value);
    }

    public void insertextraAt(extraType value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "extra", index, value);
    }

    public void replaceextraAt(extraType value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "extra", index, value);
    }

    private org.w3c.dom.Node dereference(org.w3c.dom.Node node) {
        return node;
    }
}
