adding gomodh spec
This commit is contained in:
parent
9d24eceefc
commit
5f3be54ec8
@ -46,7 +46,7 @@
|
||||
|
||||
<xs:simpleType name="t_git_uri">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:pattern value="(https?|git|file)://.*"/>
|
||||
<xs:pattern value="(https?|git|file|ssh)://.*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
|
73
schema/lib/types/gomodh.xsd
Normal file
73
schema/lib/types/gomodh.xsd
Normal file
@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:x="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified">
|
||||
|
||||
<xs:include schemaLocation="./net.xsd"/>
|
||||
<xs:include schemaLocation="./unix.xsd"/>
|
||||
|
||||
<xs:complexType name="t_gomodh_base">
|
||||
<xs:attribute name="name" type="t_unix_portablePosixFilename" use="required"/>
|
||||
<xs:attribute name="baseUrl" type="t_net_http_basic_uri" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="t_gomodh_pkg">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="t_gomodh_base">
|
||||
<xs:all>
|
||||
<xs:element name="realUrl" type="t_gomodh_vcs_uri"/>
|
||||
</xs:all>
|
||||
<xs:attribute name="vcsType" type="t_gomodh_vcs" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="t_gomodh_mod">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="t_gomodh_base">
|
||||
<xs:all>
|
||||
<xs:element name="realURL" type="t_net_http_basic_uri"/>
|
||||
<xs:element name="releases">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element name="release">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:token">
|
||||
<xs:attribute name="dir" type="t_unix_dirpath" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="baseDir" type="t_unix_dirpath" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- VCS are also called SCM. -->
|
||||
<xs:simpleType name="t_gomodh_vcs">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="bzr"/>
|
||||
<xs:enumeration value="fossil"/>
|
||||
<xs:enumeration value="git"/>
|
||||
<xs:enumeration value="hg"/>
|
||||
<xs:enumeration value="svn"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="t_gomodh_vcs_uri">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<!--
|
||||
Some of the weird ones might be BZR.
|
||||
http://doc.bazaar.canonical.com/development/en/user-reference/urlspec-help.html
|
||||
-->
|
||||
<xs:pattern value="(https?|bzr|aftp|bzr\+ssh|file|ftp|sftp|git|ssh|hg)://.+/?"/>
|
||||
<xs:whiteSpace value="collapse"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
@ -7,21 +7,16 @@
|
||||
attributeFormDefault="unqualified">
|
||||
|
||||
<xs:include schemaLocation="../lib/types/net.xsd"/>
|
||||
<xs:include schemaLocation="../lib/types/unix.xsd"/>
|
||||
<xs:include schemaLocation="../lib/types/gomodh.xsd"/>
|
||||
|
||||
<xs:element name="gomodh">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element name="mod">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" type="t_unix_portablePosixFilename" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="pkg">
|
||||
|
||||
</xs:element>
|
||||
<xs:element name="mod" type="t_gomodh_mod"/>
|
||||
<xs:element name="pkg" type="t_gomodh_pkg"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="baseURL" type="t_net_http_basic_uri" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
||||
|
Loading…
Reference in New Issue
Block a user