1
0
mirror of https://github.com/suk-ws/ph-Bookshelf.git synced 2025-01-19 23:35:04 +08:00
ph-Bookshelf/assets/xsd/bookshelf.xsd

89 lines
2.2 KiB
XML
Raw Normal View History

2023-02-26 12:35:48 +08:00
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://book.sukazyo.cc"
xmlns="https://book.sukazyo.cc"
2023-02-26 12:35:48 +08:00
elementFormDefault="qualified"
>
<xs:include schemaLocation="https://book.sukazyo.cc/assets/xsd/book.xsd" />
<xs:include schemaLocation="https://book.sukazyo.cc/assets/xsd/configuations.xsd" />
<xs:element name="BookShelf">
<xs:complexType>
<xs:sequence>
<xs:element name="site_name" type="xs:string" />
2023-02-26 12:35:48 +08:00
<xs:element name="configurations" type="phb-config-level-site" />
<xs:element name="links">
<xs:complexType>
<xs:group ref="linkElement" maxOccurs="unbounded"/>
</xs:complexType>
</xs:element>
2023-02-26 12:35:48 +08:00
<xs:element name="books">
<xs:complexType>
<xs:group ref="bookElement" maxOccurs="unbounded" />
</xs:complexType>
</xs:element>
2023-02-26 12:35:48 +08:00
<xs:element name="root_book" type="bookContents" />
2023-02-26 12:35:48 +08:00
</xs:sequence>
<xs:attribute name="version" type="xs:string" />
2023-02-26 12:35:48 +08:00
</xs:complexType>
</xs:element>
<xs:group name="linkElement">
<xs:choice>
2023-02-26 12:35:48 +08:00
<xs:element name="Link">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="href" type="xs:anyURI" use="required" />
</xs:extension>
</xs:simpleContent>
2023-02-26 12:35:48 +08:00
</xs:complexType>
</xs:element>
<xs:element name="Collection">
<xs:complexType>
<xs:sequence>
<xs:element name="caption" type="xs:string" />
<xs:group ref="linkElement" maxOccurs="unbounded" />
</xs:sequence>
2023-02-26 12:35:48 +08:00
</xs:complexType>
</xs:element>
</xs:choice>
</xs:group>
2023-02-26 12:35:48 +08:00
<xs:group name="bookElement">
<xs:choice>
2023-02-26 12:35:48 +08:00
<xs:element name="Book">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
2023-02-26 12:35:48 +08:00
</xs:complexType>
</xs:element>
<xs:element name="Collection">
<xs:complexType>
<xs:sequence>
<xs:element name="caption" type="xs:string" />
<xs:group ref="bookElement" maxOccurs="unbounded" />
</xs:sequence>
2023-02-26 12:35:48 +08:00
</xs:complexType>
</xs:element>
</xs:choice>
</xs:group>
2023-02-26 12:35:48 +08:00
</xs:schema>