40 lines
1.5 KiB
XML
40 lines
1.5 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<xs:schema targetNamespace="http://schema.xml.r00t2.io/unix.xsd"
|
|
xmlns="http://schema.xml.r00t2.io/unix.xsd"
|
|
xmlns:unix="http://schema.xml.r00t2.io/unix.xsd"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
elementFormDefault="qualified"
|
|
attributeFormDefault="qualified">
|
|
|
|
<xs:simpleType name="t_filepath">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="(/[^/]+)+/?"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="t_passwd_hashtypes">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="md5"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="t_posixUserGroup">
|
|
<!-- https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_437
|
|
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282
|
|
https://unix.stackexchange.com/a/435120/284004 -->
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="[a-z_]([a-z0-9_-]{0,31}|[a-z0-9_-]{0,30}$)"/>
|
|
<xs:whiteSpace value="collapse"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="t_shadowhash">
|
|
<!-- http://man7.org/linux/man-pages/man3/crypt.3.html#NOTES -->
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="($1)?($[a-zA-Z0-9./]{1,16})$[a-zA-Z0-9./]{22}"/><!-- md5 -->
|
|
<xs:whiteSpace value="collapse"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
</xs:schema>
|