<?xml version="1.0" encoding="UTF-8"?>
<!--
                Sun Public License Notice

The contents of this file are subject to the Sun Public License
Version 1.0 (the "License"). You may not use this file except in
compliance with the License. A copy of the License is available at
http://www.sun.com/

The Original Code is NetBeans. The Initial Developer of the Original
Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun
Microsystems, Inc. All Rights Reserved.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="https://netbeans.org/ns/nb-module-project/1"
            xmlns="https://netbeans.org/ns/nb-module-project/1"
            elementFormDefault="qualified">
    
    <xsd:element name="data">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="code-name-base" type="javaPackageType"/>
                <xsd:element name="path" type="pathType"/>
                <xsd:element name="module-dependencies" type="moduleDependenciesType"/>
                <xsd:element name="public-packages" type="publicPackagesType"/>
                <xsd:element name="extra-compilation-unit" minOccurs="0" maxOccurs="unbounded" type="compilation-unit"/>
                <xsd:element name="javadoc" minOccurs="0"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    
    <xsd:simpleType name="pathType">
        <xsd:restriction base="xsd:token">
            <xsd:pattern value="[a-z0-9_.\-][a-z0-9_.\-]*(/[a-z0-9_.\-][a-z0-9_.\-]*)*"/>
        </xsd:restriction>
    </xsd:simpleType>
    
    <xsd:complexType name="moduleDependenciesType">
        <xsd:sequence>
            <xsd:element name="dependency" type="moduleDependencyType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="moduleDependencyType">
        <xsd:sequence>
            <xsd:element name="code-name-base" type="javaPackageType"/>
            <!-- location in source tree is derived from code-name-base -->
            <!-- It is senseless to have *none* of the following. -->
            <!-- compile-dependency implies build-prerequisite. -->
            <xsd:element name="build-prerequisite" minOccurs="0"/>
            <xsd:element name="compile-dependency" minOccurs="0"/>
            <xsd:element name="run-dependency" minOccurs="0" type="runDependencyType"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="runDependencyType">
        <xsd:sequence>
            <xsd:element name="release-version" type="releaseVersionType" minOccurs="0"/>
            <xsd:element name="specification-version" type="specificationVersionType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:simpleType name="javaPackageType">
        <xsd:restriction base="xsd:NCName">
            <!-- XXX should also handle Unicode I suppose -->
            <xsd:pattern value="[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)*"/>
        </xsd:restriction>
    </xsd:simpleType>
    
    <xsd:simpleType name="releaseVersionType">
        <xsd:union memberTypes="xsd:nonNegativeInteger">
            <xsd:simpleType>
                <xsd:restriction base="xsd:NMTOKEN">
                    <xsd:pattern value="(0|[1-9][0-9]*)-[1-9][0-9]*"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    
    <xsd:simpleType name="specificationVersionType">
        <xsd:restriction base="xsd:NMTOKEN">
            <xsd:pattern value="(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*"/>
        </xsd:restriction>
    </xsd:simpleType>
    
    <xsd:complexType name="publicPackagesType">
        <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
                <xsd:element name="package" type="javaPackageType"/>
                <xsd:element name="subpackages" type="javaPackageType"/>
            </xsd:choice>
        </xsd:sequence>
    </xsd:complexType>
    
    <!-- Loosely borrowed from ant/freeform: -->
    
    <!-- Some text that might be substituted with Ant property references. -->
    <xsd:simpleType name="substitutable-text">
        <xsd:restriction base="xsd:string">
            <!-- XXX limit by regexp, perhaps -->
        </xsd:restriction>
    </xsd:simpleType>
    
    <xsd:complexType name="compilation-unit">
        <xsd:sequence>
            <xsd:element name="package-root" type="substitutable-text"/>
            <xsd:element name="classpath" type="substitutable-text"/>
            <xsd:element name="built-to" minOccurs="0" maxOccurs="unbounded" type="substitutable-text"/>
        </xsd:sequence>
    </xsd:complexType>
    
</xsd:schema>
