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/book.xsd

63 lines
1.5 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/configuations.xsd" />
<xs:element name="Book">
<xs:complexType>
<xs:sequence>
<xs:element name="book_name" type="xs:string" />
<xs:element name="contents" type="bookContents" />
</xs:sequence>
<xs:attribute name="version" type="xs:string" />
</xs:complexType>
</xs:element>
2023-02-26 12:35:48 +08:00
<xs:complexType name="bookContents">
<xs:sequence>
<xs:element name="Page" type="bookPage" />
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="bookContent" />
<xs:element name="Separator" />
</xs:choice>
</xs:sequence>
2023-02-26 12:35:48 +08:00
</xs:complexType>
<xs:group name="bookContent">
<xs:choice>
2023-02-26 12:35:48 +08:00
<xs:element name="Chapter" type="bookChapter" />
2023-02-26 12:35:48 +08:00
<xs:element name="Page" type="bookPage" />
2023-02-26 12:35:48 +08:00
</xs:choice>
</xs:group>
<xs:complexType name="bookChapter">
<xs:sequence>
<xs:element name="caption" type="xs:string" />
<xs:group ref="bookContent" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="root" type="xs:string" />
</xs:complexType>
<xs:complexType name="bookPage">
<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:schema>