dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

maintain.xsd (was Re: [DotGNU]pnetlib/maintain.xml)


From: S11001001
Subject: maintain.xsd (was Re: [DotGNU]pnetlib/maintain.xml)
Date: Tue, 11 Jun 2002 02:24:38 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1a) Gecko/20020608

Gopal V wrote:
If memory serves me right, S11001001 wrote:
Gopal/any1, what are the possible values for /libraries/library/namespace/class/maintainers/maintainer/@status ? (using XPath syntax ;)

What I wanted was "planning" , "taking up" , "working" , "frozen"
and "finished"... maybe I should write a DTD sometime ... ;)

No need, enjoy the attached ;)

Haven't tested it or anything, but it *should* work ;)

--
Stephen Compall
DotGNU `Contributor' -- http://www.dotgnu.org

Free software is a matter of the users' freedom to run, copy,
distribute, study, change and improve the software. More precisely, it
refers to four kinds of freedom, for the users of the software:

    * The freedom to run the program, for any purpose (freedom 0).
    * The freedom to study how the program works, and adapt it to your
    needs (freedom 1). Access to the source code is a precondition
    for this.
    * The freedom to redistribute copies so you can help your neighbor
    (freedom 2).
    * The freedom to improve the program, and release your
    improvements to the public, so that the whole community
    benefits. (freedom 3). Access to the source code is a
    precondition for this.
        -- RMS, "The Free Software Definition"
<?xml version="1.0" encoding="ASCII"?>

<!--
maintain.xsd: XML Schema constraints for maintain.xml, Gopal.V's
maintainer spec in the Portable .NET Library.

Copyright (C) 2002  Free Software Foundation, Inc.

Contributed by Stephen Compall <address@hidden>.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";>

  <!-- referencing names of libs, namespaces, classes, etc
  restricted to `sane' names with cool XSD regex ;) -->
  <xsd:attribute name="name" use="required">
    <xsd:simpleType>
      <xsd:restriction base="xsd:normalizedString">
        <!-- TODO: make this more complicated -->
        <xsd:pattern value="[A-Za-z\d]([A-Za-z\d\.]*[A-Za-z\d])?" />
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:attribute>

  <xsd:element name="libraries">
    <xsd:complexType>
      <xsd:element name="library" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:attribute ref="name" />
          <xsd:element name="namespace" minOccurs="0" maxOccurs="unbounded">
            <xsd:complexType>
              <xsd:attribute ref="name" />
              <xsd:element name="class" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                  <xsd:attribute ref="name" />
                  <xsd:element name="maintainers">
                    <xsd:complexType>
                      <xsd:element name="maintainer" maxOccurs="unbounded">
                        <xsd:complexType>
                          <xsd:attribute name="name" 
type="xsd:normalizedString" use="required"/>
                          <xsd:attribute name="status" use="required">
                            <xsd:simpleType>
                              <xsd:restriction base="xsd:normalizedString">
                                <xsd:enumeration value="planning" />
                                <xsd:enumeration value="taking up" />
                                <xsd:enumeration value="working" />
                                <xsd:enumeration value="frozen" />
                                <xsd:enumeration value="finished" />
                              </xsd:restriction>
                            </xsd:simpleType>
                          </xsd:attribute> <!-- status -->
                        </xsd:complexType>
                      </xsd:element> <!-- maintainer -->
                    </xsd:complexType>
                  </xsd:element> <!-- maintainers -->
                </xsd:complexType>
              </xsd:element> <!-- class -->
            </xsd:complexType>
          </xsd:element> <!-- namespace -->
        </xsd:complexType>
      </xsd:element> <!-- library -->
    </xsd:complexType>
  </xsd:element> <!-- libraries -->

</xsd:schema>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]