创新实训项目分析(一)
2021SC@SDUSC
本周,根据之前的json文档格式,并参照引擎层中的代码,结合xml文档书写规范,完成了SDUDOC的XML文档,包含基础组建元素,以及各对象对应的元素标签,后续若有拓展会进行更新
XML 元素
Header
文章的头,包含文章的基本信息
element:
字段名 | 类型 | 含义 |
---|---|---|
_title | string | 文章标题 |
_author | string | 作者 |
_book | string | 所属书籍 |
_dynasty | string | 所属朝代 |
Example:
<Header>
<_title>李克用传</_title>
<_author>吴兢</_author>
<_book>后唐书</_book>
<_dynasty>唐</_dynasty>
</Header>
PageList
编辑器用,记录页面在对象池中的线性排序。
element:
字段名 | 类型 | 含义 |
---|---|---|
pages | pages | Page 顺序数组,按顺序记录了各个 Page 的 ID,子元素为page |
_current_page | number | 编辑器当前编辑的页面 |
pages
:
element:
字段名 | 类型 | 含义 |
---|---|---|
page | string | page Id |
Example:
<PageList>
<pages>
<page>Page_1</page>
<page>Page_2</page>
</pages>
<_current_page>1</_current_page>
</PageList>
Elements
编辑器用,记录对象池的序列化信息。
Index
编辑器用,表示对应元素的生成最大值,防止出现ID重复。 这些元素都是通过插件添加的。
element:
字段名 | 类型 | 含义 |
---|---|---|
Page | number | Page最大数量 |
Dot2D | number | Dot2D |
Line2D | number | Line2D |
Polygon2D | number | Polygon2D |
Character | number | Character |
Word | number | Word |
Sentence | number | Sentence |
Paragraph | number | Paragraph |
Article | number | Article |
Book | number | Book |
Example:
<Index>
<Page>2</Page>
<Dot2D>99</Dot2D>
<Line2D>22</Line2D>
<Polygon2D>79</Polygon2D>
<Character>64</Character>
<Word>36</Word>
<Sentence>11</Sentence>
<Paragraph>3</Paragraph>
<Article>2</Article>
<Book>2</Book>
</Index>
Data
编辑器用,对象池所有元素的信息。
child element:
字段名 | 类型 | 含义 |
---|---|---|
Pages | element | Page最大数量 |
Dot2Ds | element | Dot2D |
Line2Ds | element | Line2D |
Polygon2Ds | element | Polygon2D |
Characters | element | Character |
Words | element | Word |
Sentences | element | Sentence |
Paragraphs | element | Paragraph |
Articles | element | Article |
Books | element | Book |
Pages
页面元素,子元素为具体的页面
page
page
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | page的唯一Id |
src | string | page对应的UR |
width | number | 页面的宽度 |
height | number | 页面的高度 |
Example:
<Pages>
<page>
<_id>Page_1</_id>
<_src>http://211.87.232.197:8080/img/get_by_id?id=2</_src>
<_width>1030</_width>
<_height>1832</_height>
</page>
</Pages>
Dot2Ds
圆点元素,子元素为具体的圆点信息
Dot2D
Dot2D
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | 点的唯一Id |
pages | element | page 元素的父元素 |
type | number | 页面的宽度 |
x | number | 页面的高度 |
y | number | |
father | string | |
postion | number | |
father1 | string | |
father2 | string |
page:
- pages元素的子元素,记录所处页面id
Example:
<Dot2Ds>
<Dot2D>
<_id>Dot2D_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<_type>0</_type>
<_x>34.315084818068044</_x>
<_y>174.6949772556199</_y>
<_father></_father>
<_position>0</_position>
<_father1></_father1>
<_father2></_father2>
</Dot2D>
<Dot2D>
<_id>Dot2D_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<_type>0</_type>
<_x>34.315084818068044</_x>
<_y>174.6949772556199</_y>
<_father></_father>
<_position>0</_position>
<_father1></_father1>
<_father2></_father2>
</Dot2D>
</Dot2Ds>
Line2Ds
线元素集合,子元素为具体的线信息 Line2D`
Line2D
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | line的唯一Id |
pages | element | page 元素的父元素 |
start | string | 起始点id |
end | string | 终止点id |
Line2D:
- pages元素的子元素,记录所处页面id
Example:
<Line2Ds>
<Line2D>
<_id>Line2D_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<_start>Dot2D_1</_start>
<_end>Dot2D_2</_end>
</Line2D>
<Line2D>
<_id>Line2D_2</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<_start>Dot2D_3</_start>
<_end>Dot2D_4</_end>
</Line2D>
</Line2Ds>
Polygon2Ds
多边形元素集合,子元素为具体的线信息
Polygon2D
Polygon2D
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | polygon的唯一Id |
pages | element | page 元素的父元素 |
points | element | 点的集合 |
character | stirng | 文字id |
point:
- points元素的子元素,记录多边形点的id
Example:
<Polygon2Ds>
<Polygon2D>
<_id>Polygon2D_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<_points>
<point>Dot2D_13</point>
<point>Dot2D_14</point>
<point>Dot2D_15</point>
<point>Dot2D_16</point>
</_points>
<_character>Character_1</_character>
</Polygon2D>
<Polygon2D>
<_id>Polygon2D_2</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<_points>
<point>Dot2D_13</point>
<point>Dot2D_14</point>
<point>Dot2D_15</point>
<point>Dot2D_16</point>
</_points>
<_character>Character_2</_character>
</Polygon2D>
</Polygon2Ds>
Characters
文字元素集合,子元素为具体的文字信息
Character
Character
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | polygon的唯一Id |
pages | element | page 元素的父元素 |
char | string | 具体文字 |
remark | stirng | |
father | string | 归属word 的id |
polygon | string | 归属多边形id |
page:
- pages元素的子元素,记录所属页面id
Example:
<Characters>
<Character>
<_id>Character_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<_char>后</_char>
<_remark></_remark>
<_father>Word_10</_father>
<_polygon>Polygon2D_1</_polygon>
</Character>
</Characters>
Words
词语元素集合,子元素为具体的文字信息
word
word
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | polygon的唯一Id |
pages | element | page 元素的父元素 |
children | element | 包含的character 集合 |
father | string | 归属sentence 的id |
points | element | 点的集合 |
page:
- pages元素的子元素,记录所属页面id
Example:
<Words>
<Word>
<_id>Word_10</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<children>
<Character>Character_1</Character>
<Character>Character_2</Character>
</children>
<_father>Sentence_1</_father>
<_points>
<page id = "Page_1">
<point>Dot2D_2</point>
<point>Dot2D_3</point>
<point>Dot2D_4</point>
<point>Dot2D_5</point>
<point>Dot2D_6</point>
<point>Dot2D_7</point>
</page>
</_points>
</Word>
</Words>
Sentences
句子元素集合,子元素为具体的文字信息
sentence
sentence
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | sentence的唯一Id |
pages | element | page 元素的父元素 |
children | element | 包含的word 集合 |
father | string | 归属paragraph 的id |
points | element | 点的集合 |
page:
- pages元素的子元素,记录所属页面id
Example:
<Sentences>
<Sentence>
<_id>Sentence_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<children>
<Word>Word_10</Word>
<Word>Word_11</Word>
</children>
<_father>Paragraph_1</_father>
<_points>
<page id = "Page_1">
<point>Dot2D_2</point>
<point>Dot2D_3</point>
<point>Dot2D_4</point>
<point>Dot2D_5</point>
<point>Dot2D_6</point>
<point>Dot2D_7</point>
</page>
</_points>
</Sentence>
</Sentences>
Paragraphs
段落元素集合,子元素为具体的文字信息
Paragraph
Paragraph
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | sentence的唯一Id |
pages | element | page 元素的父元素 |
children | element | 包含的sentence 集合 |
father | string | 归属article 的id |
points | element | 点的集合 |
page:
- pages元素的子元素,记录所属页面id
Example:
<Paragraphs>
<Paragraph>
<_id>Paragraph_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<children>
<Sentence>Sentence_1</Sentence>
<Sentence>Sentence_2</Sentence>
</children>
<_father>Article_1</_father>
<_points>
<page id = "Page_1">
<point>Dot2D_2</point>
<point>Dot2D_3</point>
<point>Dot2D_4</point>
<point>Dot2D_5</point>
<point>Dot2D_6</point>
<point>Dot2D_7</point>
</page>
</_points>
</Paragraph>
</Paragraphs>
Articles
文章元素集合,子元素为具体的文字信息
Article
Article
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | sentence的唯一Id |
pages | element | page 元素的父元素 |
children | element | 包含的paragraph 集合 |
father | string | 归属book 的id |
points | element | 点的集合 |
page:
- pages元素的子元素,记录所属页面id
Example:
<Articles>
<Article>
<_id>Article_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<children>
<Paragraph>Paragraph_1</Paragraph>
<Paragraph>Paragraph_2</Paragraph>
</children>
<_father>Book_1</_father>
<_points>
<page id = "Page_1">
<point>Dot2D_2</point>
<point>Dot2D_3</point>
<point>Dot2D_4</point>
<point>Dot2D_5</point>
<point>Dot2D_6</point>
<point>Dot2D_7</point>
</page>
</_points>
</Article>
</Articles>
Books
书籍元素集合,子元素为具体的文字信息
book
book
:
child element:
字段名 | 类型 | 含义 |
---|---|---|
id | string | sentence的唯一Id |
pages | element | page 元素的父元素 |
children | element | 包含的article 集合 |
father | string | |
points | element | 点的集合 |
page:
- pages元素的子元素,记录所属页面id
Example:
<Books>
<Book>
<_id>Book_1</_id>
<_pages>
<page>Page_1</page>
<page>Page_2</page>
</_pages>
<children>
<Paragraph>Article_1</Paragraph>
<Paragraph>Article_2</Paragraph>
</children>
<_father></_father>
<_points>
<page id = "Page_1">
<point>Dot2D_2</point>
<point>Dot2D_3</point>
<point>Dot2D_4</point>
<point>Dot2D_5</point>
<point>Dot2D_6</point>
<point>Dot2D_7</point>
</page>
</_points>
</Book>
</Books>