---
# System prepended metadata

title: DocuXml 1.21 Scheme
tags: [文件狀態：維護中, DocuXml, 介接]

---

# DocuXml 1.21 Scheme


<!-- 標籤 -->
###### tags: `DocuXml`, `介接`, `文件狀態：維護中`


<!-- 內文編輯更新資訊，若有更動此份文件內容，請更新此項資訊 -->
> [name=Kuan-Lin Chen, 陳冠霖]
> [time=Aug, 2020]


<!-- 摘要 -->
:::success

<!-- 當前負責人使用高亮標示，新接替維護人員請加在第一個 -->
- **建立者**：陳冠霖
- **維護者**：==陳冠霖==

:::


<!-- 筆記正文開始 -->


:::warning
此文件還在調整中
內容還未完全勘誤 
> [name=Kuan-Lin Chen]
> [time=Aug, 2020]


最近已校正過版本 : DocuXml 1.2 Scheme
(https://hackmd.io/LQYYtUJSQTWBmjWMCP_g4g)
:::

## 基本架構
```xml
<?xml version="1.0"?>
<ThdlPrototypeExport>
    <!--Corpus Metadata (optional)-->
    <!--Documents (required)-->
</ThdlPrototypeExport>
```
- DocuXml 是 DocuSky 建構資料庫所使用的語言。
- 它的目的是將欲建庫的所有文本資料包裝在 XML 檔案中，便利 DocuSky 從中擷取建庫所需的：全文資料 (full-text)、詮釋資料 (metadata)、以及文本標記 (tagged text) 等資訊。 建構好的資料庫，將可支援全文檢索、後分類 (post-classification) 與標記分析 (tag analysis)。
- DocuXml有相當大的比例是繼承 THDL（臺灣歷史數位圖書館）所輸出的格式（稱為 ThdlExportXml）。 有別於一般 coding 常用的 camel style，在 ThdlExportXml 中的詮釋資料標籤多半採用 underline style， 而內文的標記資訊則採用 Pascal style。未來我們將努力，改採一致的 Pascal style 標籤風格。
- 一份 DocuXml的 XML，包含了兩個主要的區塊：
    - 可有可無的文獻集詮釋資料 (Corpus Metadata)，以及文本的資料 (Documents)
## Corpus Metadata
```xml
<corpus name="CORPUS_NAME_1">
    <metadata_field_settings>
        <corpus>文獻集</corpus>
        <compilation>出處</compilation>
        <author>立契者</author>
        <!--更多使用者自訂後分類時metadata標籤顯示名稱...-->
    </metadata_field_settings>
    <feature_analysis>
        <tag name="Udef_TextTitle" type="contentTagging" default_category="Udef_TextTitle" default_sub_category="-"/>
        <!--更多使用者自訂Tag...-->
    </feature_analysis>
</corpus>
<corpus name="CORPUS_NAME_2">
    <metadata_field_settings>
        <!--更多使用者自訂後分類時metadata標籤顯示名稱...-->
    </metadata_field_settings>
    <feature_analysis>
        <!--使用者自訂Tag清單...-->
    </feature_analysis>
</corpus>
<!--更多Corpus...-->
```
:::warning
- 使用者可放入自己想放入的metadata資訊，但目前系統尚不支援Corpus Metadata，只支援使用者自訂標籤的後分類
:::
- 文獻集詮釋資料以標籤 `<corpus name="CORPUS_NAME">...</corpus>` 來包裝
:::warning
- <corpus name="CORPUS_NAME">為標準格式，但在單一corpus文件中亦可用 <corpus name="*"> 以及 <corpus>
:::
- **\<feature_analysis\>**: 
    - 此標籤需含有屬於該corpus的documents內所有使用者自訂標籤，來使系統能夠做後分類，若使用者沒有紀錄，系統則不會幫使用者做後分類
    - 標準使用者自訂Tag name必須開頭為**Udef_**
    - 放入`<tag>`標籤之中，將name與default_category這兩個attributes設定成使用者自訂的標籤(Udef_XXX)
    :::warning
    - type與default_sub_category請分別設定成"contentTagging"與"-"，功能目前正在開發中...
    :::
    - 例：使用者自訂標籤"Udef_TextTitle"
        - `<tag name="Udef_TextTitle" type="contentTagging" default_category="Udef_TextTitle" default_sub_category="-"/>`
- **\<metadata_field_settings\>**
    - 在此 `<metadata_field_settings>` 的內容描述各項標籤在後分類時的顯示名稱，例如 `<author>立契者</author>`表示後分類時， 系統應該在後分類標題顯示「立契者」，而不是後分類代碼「AU」或 `<author>` 標籤的預設名稱「作者」。
:::warning
- ~~未來會將不同corpus的<Udef_XXX>標籤分開，目前<Udef_XXX>會用於整份XML檔內的documents~~
- ~~也就是將所有corpus合成一個`<corpus name="*">`，並將所有`<feature_analysis>`內的`<tag>`合成一份~~
- 複數corpus已可用(20200723)，但未經過大量測資測試
:::

## Documents
- 其中，文獻集詮釋資料以標籤 `<corpus name="CORPUS_NAME">...</corpus>` 來包裝，文本資料則收納在 `<documents>...</documents>` 標籤之內。在 \<documents\> 標籤下，每篇文件以 `<document filename="UNIQUE_ID">...</document>` 的方式來存放。例如，若有三篇文件，\<documents\> 標籤的內容會長得像這樣：
```xml
<documents>
    <document number="1" filename="p0001">...</document>
    <document number="2" filename="p0002">...</document>
    <document number="3" filename="p0003">...</document>
</documents>
```
- 注意到，每一篇文件都**必須有 filename 屬性**，而這個 filename 屬性 應儲存唯一的文件辨識碼(UNIQUE_ID)。 若有多份文件有重覆的 filename 值，僅有一份文件會被儲存到 DocuSky 上。
:::warning
- 若使用者建立`<document>`時**沒有指定number屬性**，則DocuSky在對文件進行輸出時，會依照字典排序法（lexciographical ordering） 以文件辨識碼對文件進行排序。因此，若文件的辨識碼為 id1, id2, id10, id100， 排序後的結果將會是 id1, id10, id100, id2。為了避免這種狀況，通常我們需在辨識碼的流水號前補零：id001, id002, id010, id100，在排序後的順序依然是 id001, id002, id010, id100。
:::
- 人文研究者通常會利用「檔名」來對儲存在硬碟的文本進行編碼。 通常我們可以利用文本存放在硬碟的檔名，來作為文件的辨識碼。
## Document(單一文件)
- 單一文件範例：
```xml
<documents>
    <document number="1" filename="p0001">
        <corpus corpus_order="1">2018_new_本草經集注</corpus>
        <doc_content>
            <!--內文XML-->
        </doc_content>
        <!--DocuSky支援metadata Tags-->
        <xml_metadata>
            <!--DocuSky不支援metadata Tags-->
        </xml_metadata>
        <doc_user_tagging>
            <tag type="contentTagging" default_category="Udef_TextTitle" default_sub_category="-">Udef_TextTitle</tag>
        </doc_user_tagging>
    </document>
    <document number="2" filename="p0002">
        <!--文件metadata與內容...-->
    </document>
    <!--更多文件...-->
    <document number="1" filename="p0001">
        <corpus corpus_order="2">2017_new_本草經集注</corpus>
        <!--文件metadata與內容...-->
    </document>
    <!--更多文件...-->
</documents>
```

### Metadata規範表連結(Google表單)
- https://docs.google.com/spreadsheets/d/1G7UPZv-G1D7Yowwj_r7pO7rZXmr16PrxEZQ22_bqFIw/edit#gid=0
### 必填資訊
- **`filename`：文件檔名** (\<document\> tag 中的 attrubute)
    - 為文獻集中每一筆資料的**唯一性**編碼。
- **`corpus`： 文獻集名稱**
    - number屬性：可指定文件屬於第幾個文獻集，若不填系統會案照corpus出現順序給定
:::warning
- 在複數corpus情況下，此處值<corpus name='CORPUS_NAME'>相同時，後分類才會正常開啟
:::
- **`doc_content`: 內文XML**
    - 內容可包含其他標籤
### Metadata標籤
:::warning
- Metadata標籤內的內容請避免輸入標點符號、空白、或其他特殊符號，以免出現不可預期之錯誤
:::
- 其中，標籤 a or b 表示標籤 a 和標籤 b 是等價的，例如 `<author>王小明</author>` 和 `<author_name>王小明</author_name> `在建庫時會被視為相同的資料（若兩個標籤同時存在，DocuSky 僅會取其中一個值）。 如果一項標籤具有後分類代碼（例如 `<author>` 的代碼為 AU），表示 DocuSky 支援 對這個標籤進行後分類的處理。

#### Type 1: 文件來源資訊
- ##### 支援後分類
    - 文件出處：該筆文件出處。後分類顯示"COMP"
        - `<compilation_name`>
    - 文件作者：該筆文件作者。後分類顯示"AU"
        - `<author>`
    - 文件主題：後分類顯示"TP: l1/l2/l3"
        1. `<doc_topic_l1>`: 該筆文件的第一層主題。
        2. `<doc_topic_l2>`: 該筆文件的第二層主題。
        3. `<doc_topic_l3>`: 該筆文件的第三層主題。
    - 文件分類，後分類顯示"CAT: l1/l2/l3"
        1. `<doc_category_l1>`: 該筆文件的第一層分類。
        2. `<doc_category_l2>`: 該筆文件的第二層分類。
        3. `<doc_category_l3>`: 該筆文件的第三層分類。
    - 文件類別：該筆文件所屬的集合類別。後分類顯示"CLASS"
        - `<docclass>`
    - 文件形態：該筆文件的型態。後分類顯示"TYPE"
        - `<doctype>`
    - 文件書碼：該筆文件的書碼編號。後分類顯示"BC"
        - `<book_code>`
    - 文件來源：該文件的來源，可能為某個文獻集。後分類顯示"SRC"
        - `<doc_source>`
- ##### 不支援後分類
    - `compilation_order`: 出處的排序(整數)
    - 文件出處的冊數：該筆文件出處如有分冊，所在冊數。
        - `<compilation_vol>`(整數)
    - 文件標題：該筆文件標題。
        - `<title>`
    - 文件子類別：該筆文件所屬的子集合類別。
        - `<docclass_aux>`
    - 文件子型態：該筆文件的子型態。
        - `<doctype_aux>`
    - 文件圖檔：該文件的附圖，可允許多圖檔，以';'區隔。可填錄圖檔名稱(須含附檔名)，也可填錄圖檔完整的URI。如僅填錄圖檔名稱，則該圖檔需上傳DocuSky主機，才能顯示。(目前DocuSky圖檔上傳功能未開放)
        - `<doc_attachment>`
#### Type 2: 文件時間資訊
- ##### 支援後分類
    - 文件中曆時間：該筆文件的中曆時間，以中曆日期填錄，填錄格式一般為「年號00年00月00日」，但不限，仍可使用「不詳」或加「閏」。後分類顯示"CHNY"
        - `<time_norm_year>`
    - 文件年號：該筆文件的中曆年號。後分類顯示"timeERA"
        - `<time_era>`
    - 文件帝號：該筆文件的中曆帝號。後分類顯示"timeEmperorTitle"
        - `<time_norm_kmark>`
    - 文件西元年：該筆文件的西元年，僅填年。如為西元前的年份，則以「-」標示，ex.-272，表示是西元前272年。如年份未知或沒有年份，系統將自動給予「9999」。後分類顯示"ADY"
        - `<year_for_grouping>`
    - 文件朝代：該筆文件的中曆朝代。如未知或沒有填錄，系統將自動給予「-」。後分類顯示"DYN"
        - `<time_dynast>`
    - 文件時間(某日期之後)：該文件標示在某日期之後。後分類顯示"TNB"，計算該日期之後的所有文件
        - `<timeseq_not_before>`、`<date_not_before>`
    - 文件時間(某日期之前)：該文件標示在某日期之前。後分類顯示"TNA"，計算該日期之前的所有文件
        - `<timeseq_not_after>`、`<date_not_after>`
- ##### 不支援後分類
    - 文件時間字串：該筆文件出現在文本的時間資訊，為文字串形式。
        - `<time_orig_str>`
    - 文件西曆時間：該筆文件的西曆時間，以西元日期填錄，填錄格式：yyyymmdd。如有未知，請補0，ex.19870500，即為未知日。
        - `<time_varchar>`
    - 文件順序：該文件標示的時間順序，須為整數，正負數皆可
        - `<timeseq_number>`
#### Type 3: 文件地理資訊
- 文件地域階層：後分類顯示為"geo：l1/l2/l3"
    - `<geo_level1>`: 該筆文件的第一層地域。
    - `<geo_level2>`: 該筆文件的第二層地域。
    - `<geo_level3>`: 該筆文件的第三層地域。
- 文件所在經緯度：後分類顯示為"geo_XY：(X,Y)"
    - `<geo_longitude>`: 該筆文件所在經度。
    - `<geo_latitude>`: 該筆文件所在緯度。
#### Type 4: 使用者自訂metadata標籤
:::info
包在\<xml_metadata\>...\<\/xml_metadata\>中
:::
- 例：
```xml
<xml_metadata>
  <SourceXml>PTT_TCL_93out_1516_merged_20161115.xml</SourceXml>
  <SN>e0112</SN>
  <Contributor>原件由國史館臺灣文獻館典藏，本數位作品由國立臺中圖書館及行政院文化建設委員會國家文化資料庫分別典藏</Contributor>
  <RelatedPerson>許汝旺(賣主);高亮錦(買主)</RelatedPerson>
  <LandNo>桃澗堡銅鑼圈庄九五七之五</LandNo>
  <OldDeedsClass>杜賣契</OldDeedsClass>
  <Price>拾元</Price>
  <Contractor>-</Contractor>
  <Date>道光十一年</Date>
</xml_metadata>
```
- 使自訂metadata標籤在瀏覽介面時呈現超連結
    - 在標籤中加入`<a target="_blank"  href="URL">...</a>`
    - 例：
    ```xml
    <xml_metadata>
        ...
        <doi>
            <a target="_blank" href="https://doi.org/10.21979/N9/BPD1UW">
                10.21979/N9/BPD1UW
            </a>
        </doi>
        ...
    </xml_metadata>
    ```
#### Type 5: 使用者自訂詞彙標記
:::info
1. 包在\<doc_user_tagging\>...\<\/doc_user_tagging\>中
2. 使用多值`<MetaTags>`的使用者自訂詞彙標記**不需要**填\<doc_user_tagging\>...\<\/doc_user_tagging\>中
:::
- 此標籤需含有屬於該document內所有使用者自訂標籤，來使系統能夠做後分類，若使用者沒有紀錄，系統則不會幫使用者做後分類
    - 標準使用者自訂Tag name必須開頭為**Udef_**
    - 放入`<tag>`標籤之中，將name與default_category這兩個attributes設定成使用者自訂的標籤(Udef_XXX)
    :::warning
    - type與default_sub_category請分別設定成"contentTagging"與"-"，功能目前正在開發中...
    :::
- 例：
```xml
<doc_user_tagging>
    <tag type="contentTagging" default_category="Udef_TextTitle" default_sub_category="-">Udef_TextTitle</tag>
</doc_user_tagging>
```
### 內文XML
- `<doc_content>` 允許以 XML 格式儲存標記後的內文 (tagged text)
- 建議 `<doc_content>` 的內容不但滿足 XML 格式， 也同時滿足 XHTML 格式。
- 在 HTML 中，標籤的名稱並沒有大小寫之分，例如 `<MyTag>`、`<MYTAG>` 和 `<mytag>`，就會被視為相同的標籤
:::info
- 包在\<doc_content\>...\<\/doc_content\>中
- <doc_content>下內文Xml由內文、內文類標籤以及<feature_analysis>中的詞彙標記標籤組合而成
如下示 (節錄改寫自朝鮮王朝實錄)
:::
```xml
<doc_content>
    <Paragraph Type="T" Key="001" Title="五禮 / 吉禮儀式 / 朔望享宗廟儀 / 齊戒">
        ◎ 齋戒前享三日, 應行事執事官散齊二日宿於正寢, 致齊一日於
        ...
    </Paragraph>
    <Paragraph Type="T" Key="002" Title="五禮 / 吉禮儀式 / 朔望享宗廟儀 / 陳設">
        ◎ 陳設前享一日, 宗廟令帥其屬, 掃除廟之內外 
        ... 
        設香爐香合幷燭於神位之前。 次設祭器實饌具, 每室各左二籩          
        <Annotation Type="원주">【栗黃在前, 鹿脯次之。】</Annotation> 
        ... 
    </Paragraph>
    <Paragraph Type="T" Key="003" Title="五禮 / 吉禮儀式 / 朔望享宗廟儀 / 行禮">
        ◎ 行禮享日丑前五刻,
        <Annotation Type="원주">【丑前五刻, 卽三更三點。 行事用丑時一刻。】</Annotation>
        宮闈令帥其屬, 開室整拂神幄, 鋪筵設几如常儀。 宗廟令典祀官各帥 
        ... 
        以次捧出
        <PersonName Key="0221480_0" Name="翼祖" Type="K" Term="kauth_M_0006813" RefId="kauth_M_0006813">翼祖</PersonName>
        以下神主, 如 
        ...
    </Paragraph>
</doc_content>
```
:::warning
- 內文類標籤 ( 除去<Paragraph> )
除了會在其他內文類標籤下
也可存在詞彙類標籤內文中
如下範例所示之架構
:::
```xml
<Paragraph>
    <Annotation>
        <!--在Annotation底下的Quotation-->
        <Quotation>
            _TEXT
        </Quotation>
        
        <!--詞彙標籤 地名-->
        <LocName>
            <!--在地名下的Annotation-->
            <Annotation>
                _TEXT
            </Annotation>
        </LocName>
    </Annotation>
</Paragraph>
```

*表示此屬性為選填
- **詞彙標記**
    - *<Udef_element> or <LocName>...etc*
        - 屬性 :
            1. *Type
            2. *Key
            3. *Name : 標記內容(詞彙)
            4. *Term : 權威詞
            :::warning
            - 於後分類時，同Term的標記會一同顯示，可用在同人事物但不同內文之詞彙進行連結
            如: 孔丘、孔子
            :::
            5. *RefId : 參照ID，通常用以儲存權威庫編碼(外部)
            6. *Aux : 游標停留顯示
- **內文類標籤**
    - *<Paragraph>*  
        - 屬性 : 
            1. *Type: 在<Paragraph>文字區前顯示 Key:Type
            2. *Key : 在<Paragraph>文字區前顯示 Key:Type
            3. *Title : 當滑鼠指標停在此<Paragraph>文字區時，會顯示此屬性內文字
        - 備註 : 只在最外層，即上層只會是<doc_content>
    - *<Annotation>*  
        - 屬性 : 
            1. *Type: 在<Annotation>文字區前顯示 a:Type
    - *<Quotation>*  
        - 屬性 : 
            1. *Type: 在<Quotation>文字區前顯示 q:Type
    - *<Proofreading>*  
        - 屬性 : 
            1. *Type: 在<Proofreading>文字區前顯示 pr:Type
    - *<Postscript>*  
        - 屬性 :
            1. *Type: 在<Postscript>文字區前顯示 ps:Type

            

#### DocuSky支援內文標記
- **「標記分析」中預設會支援的標記**
    - `<LocName>`: 標記地名
    - `<PersonName>`: 標記人名
    - `<SpecificTerm>`: 標記官名或其他特殊詞彙
    - `<Date>`: 標記時間 
- **使用者自訂標記 (user-defined tags)**
    - 它們的標籤名稱必須以 **"Udef_"** 起頭（注意大小寫必須完全相同）
        - 例如：`<Udef_RelatedDrug>`、`<Udef_Harvesting>`
#### Metatags標籤
- 功能：可使用者自訂標記填錄多值
    - 例如：為標記文內物件，使用者自定義了`<Udef_element>`，但又想將物件分類成不同類別，則可使用此標籤
- 格式：
    - 此標請至於`doc_content`中並在所有內文的最後面
    - 其中attribute `NoIndex` 請設定為 1
    ```xml
    <doc_content>
        <!--文件內文部分-->
        <MetaTags NoIndex="1">
            <Udef_XXX>XXX1</Udef_XXX>
            <Udef_XXX>XXX2</Udef_XXX>
            <Udef_XXX>XXX3</Udef_XXX>
            <Udef_YYY>OOO1</Udef_YYY>
            <Udef_YYY>OOO2</Udef_YYY>
        </MetaTags>
    </doc_content>
    ```


- 例：
```xml
<doc_content>
    <!--文件內文部分-->
    <MetaTags NoIndex="1">
        <Udef_element>女巫</Udef_element>
        <Udef_element>巫術</Udef_element>
        <Udef_element>蘋果</Udef_element>
        <Udef_element>騎士</Udef_element>
        <Udef_element>王室婚禮</Udef_element>
    </MetaTags>
</doc_content>
```
#### Align標籤
- 格式
    - `<AlignBegin>`：標記錨點開頭位置。以下是可輸入之attributes
        - `Type`: 錨點的形態(同Type表是同一批，已同耀標準進行標註的檔案)
        - `RedId`: 識別錨點對應，與其他corpus"對"在一起的關鍵，在系統上會將同樣的ID段落標示出來
        - `Key`: 整份XML中唯一的識別碼，用在與`<AlignEnd>`配對
        - `Term`: 目前暫無作用，M2D(Markus to DocuXml)工具自動生成(值與RefId相同)，待未來發展其應用
    - `<AlignEnd>`：標記錨點結束位置
        - `Key`: 整份XML中唯一的識別碼，用在與`<AlignBegin>`配對
    :::danger
    注意事項：Tag尾端皆必須有"/"
    :::
- 範例：
```xml
<doc_content>
    <AlignBegin Type="xxx" RefId="yyy" Term="uuu" Key="zzz"/>
    <!--某段內文-->
    <AlignEnd Key="zzz"/>
    <!--某段內文-->
    <AlignBegin Type="..." RefId="..." Term="..." Key="aaa"/>
    <!--某段內文-->
    <AlignEnd Key="aaa"/>
</doc_content>
```
## DocuXml 對應 由 DocuSky Widget 回傳之 JSON 
- 可從 docuskyGetDbCorpusDocumentsSimpleUI.docInfo 取得
- 形態：array
- DocuXml 目前可對應的 docInfo[i] 欄位
    - (只說明有對應DocuXml的欄位，其餘為建資料庫自動產生之變數)
    - corpus: `<corpus>`
    - docAttachmentList: `<doc_attachment>`
    - docAuthor:`<author>`
    - docBookCode: `<book_code>`
    - docCategoryL1: `<doc_category_l1>`
    - docCategoryL2: `<doc_category_l2>`
    - docCategoryL3: `<doc_category_l3>`
    - docClass: `<docclass>`
    - docContentXml: `<doc_content>`
    - docFilename: `<document filename="...">`
    - docMetadataXml:  `<xml_metadata>`
    - docSource: `<doc_source>`
    - docSubclass: `<docclass_aux>`
    - docSubtype: `<doctype_aux>`
    - docTitleXml: `<title>`
    - docTopicL1: `<doc_topic_l1>`
    - docTopicL2: `<doc_topic_l2>`
    - docTopicL3: `<doc_topic_l3>`
    - docType:`<doctype>`
    - placeInfo:
        - geoLevel1: `<geo_level1>`
        - geoLevel2: `<geo_level2>`
        - geoLevel3: `<geo_level3>`
        - geoX: `<geo_longitude>`
        - geoY: `<geo_latitude>`
    - timeInfo:
        - dateAdDate: `<time_varchar>`
        - dateAdYear: `<year_for_grouping>`
        - dateChNormYear: `<time_norm_year>`
        - dateDynasty: `<time_dynasty>`
        - dateEra: `<era>`
        - dateOrigStr: `<time_orig_str>`
        - timeseqNotAfter: `<date_not_after>`
        - timeseqNotBefore: `<date_not_before>`
- DocuXml 目前不可對應的 docInfo\[i\] 欄位
    - `<date_number>`
    - `<doc_seq_number>`
    - `<time_norm_kmark>`
    - `<compilation_name>`
    - `<compilation_vol>`
- 對應範例：
    - DocuXml 單一 document:
    ```xml
    <document filename="1v1.txt_markus_p0001">
        <compilation_name>-</compilation_name>
        <compilation_vol>卷之首</compilation_vol>
        <title>title</title>
        <author>万全</author>
        <doc_topic_l1>临证各科</doc_topic_l1>
        <doc_topic_l2>方论</doc_topic_l2>
        <doc_topic_l3>妇科</doc_topic_l3>
        <geo_level1>中国</geo_level1>
        <geo_level2>湖北</geo_level2>
        <geo_level3>罗田</geo_level3>
        <geo_longitude>115.3904</geo_longitude>
        <geo_latitude>30.79035</geo_latitude>
        <doc_category_l1>350种专题</doc_category_l1>
        <doc_category_l2>临证各科</doc_category_l2>
        <doc_category_l3>女科</doc_category_l3>
        <docclass>丛书</docclass>
        <docclass_aux>万密斋医学全书</docclass_aux>
        <doctype>古籍</doctype>
        <doctype_aux>医书</doctype_aux>
        <book_code>1</book_code>
        <time_orig_str>清乾隆43年戊戌(1778)</time_orig_str>
        <time_varchar>17780000</time_varchar>
        <time_norm_year>清乾隆43年</time_norm_year>
        <era>清高宗</era>
        <time_norm_kmark>乾隆43年</time_norm_kmark>
        <year_for_grouping>1778</year_for_grouping>
        <time_dynasty>明</time_dynasty>
        <date_not_before>1368</date_not_before>
        <date_not_after>1644</date_not_after>
        <date_number>戊戌</date_number>
        <doc_seq_number>1</doc_seq_number>
        <timeseq_not_before>0</timeseq_not_before>
        <timeseq_not_after>0</timeseq_not_after>
        <doc_attachment>https://lh3.googleusercontent.com/KhV0PEMda-Rp0xIZUl4a1d1rjl-wx7AOko1fYuzZyu0HdjYmG_MluSel2zizM74BpHxWzqfHEMBcFm0283XCFi2G6XxBa77C0qbaJSeNc5F4MhBVhu-uN-1K_ptycQl9xfEMZOxOdorfTE5zmGgYpkBec7zu7Ws9u_WNeUgjg8_rOHZYAbFr0z96AOLj75kKtkbjSnWTbkzFBKVrRE246MHVyzE_kEEnE9uySa2xa8nyGQnSvaxULrcnLlnbRj93V8ACV-RLgTcDcxlYmlmJ4wiWw0nxWyxFyK8RFB5lyksIONDJ5PKTS2IOa2eeDCCzxBsLvL6TQWlBkzKKkTgIDcRculouoAI65ciRDvQUYr_dXkSKE-23hgIL8QzdDuMpB7wugLE9AEnd1LUfCnUC6wZtI7K3OGOawy7FUbqpz139opm0453y4olzrovYimeK0mQ8VgjIkxs55f98L1UuUZtRks9g8ajEUaw7sasmbFwWHi9fuhuKaO-JvGRFrnnA5WoaIm_SzUCgF_CN31WHxAOTU_uAFv5oWLrr8PTiPaCZHJXZd_Dg6pkG9SraBVFKgXeD5q4GT__d2QmnpIG3MxugH7fCd3zyia-HkZL-9-4gKommfhUEd3exmCg6eraYE48P97uWGpOUZPj-X9In-qW74YVfTw=w1427-h585-no</doc_attachment>
        <doc_content>
            <Paragraph>
            <Udef_JuanPianMing>万氏家传广嗣纪要</Udef_JuanPianMing>
            <br/>
            万氏家传广嗣纪要
            <br/>
            明·
            <PersonName TagForConversion="{"markus":"fullname"}">万全</PersonName>
             撰著
            </Paragraph>
            <MetaTags NoIndex="1"/>
        </doc_content>
        <filename>1v1.txt_markus_p0001</filename>
        <doc_source>ZYWX</doc_source>
        <corpus>中醫古籍</corpus>
        <xml_metadata>
            <author>万全撰著</author>
            <topic1>联目分类:临证各科</topic1>
            <topic2>中国医籍考分类:方论</topic2>
            <topic3>中国医籍大辞典分类:妇科</topic3>
            <geo>罗田</geo>
            <category>350种专题–临证各科–女科</category>
            <docclass>万密斋医学全书</docclass>
            <version>清乾隆43年戊戌(1778)忠信堂刻本 (残)</version>
            <ZYWX>
                <a target="_blank" href="http://lib350.zywx.org/static/reader/index.html">中醫古籍數字圖書館</a>
            </ZYWX>
            <subject_heading>subject_heading</subject_heading>
        </xml_metadata>
    </document>
    ```
    - 對應之 docInfo
    ```json=
    {
        number: 1,
        docAttachmentCaptions: "-",
        docInfo: {
            corpus: "中醫古籍",
            corpusOrder: "1",
            docAttachmentCaptions: "-",
            docAttachmentList: "https://lh3.googleusercontent.com/KhV0PEMda-Rp0xIZUl4a1d1rjl-wx7AOko1fYuzZyu0HdjYmG_MluSel2zizM74BpHxWzqfHEMBcFm0283XCFi2G6XxBa77C0qbaJSeNc5F4MhBVhu-uN-1K_ptycQl9xfEMZOxOdorfTE5zmGgYpkBec7zu7Ws9u_WNeUgjg8_rOHZYAbFr0z96AOLj75kKtkbjSnWTbkzFBKVrRE246MHVyzE_kEEnE9uySa2xa8nyGQnSvaxULrcnLlnbRj93V8ACV-RLgTcDcxlYmlmJ4wiWw0nxWyxFyK8RFB5lyksIONDJ5PKTS2IOa2eeDCCzxBsLvL6TQWlBkzKKkTgIDcRculouoAI65ciRDvQUYr_dXkSKE-23hgIL8QzdDuMpB7wugLE9AEnd1LUfCnUC6wZtI7K3OGOawy7FUbqpz139opm0453y4olzrovYimeK0mQ8VgjIkxs55f98L1UuUZtRks9g8ajEUaw7sasmbFwWHi9fuhuKaO-JvGRFrnnA5WoaIm_SzUCgF_CN31WHxAOTU_uAFv5oWLrr8PTiPaCZHJXZd_Dg6pkG9SraBVFKgXeD5q4GT__d2QmnpIG3MxugH7fCd3zyia-HkZL-9-4gKommfhUEd3exmCg6eraYE48P97uWGpOUZPj-X9In-qW74YVfTw=w1427-h585-",
            docAttachmentType: "0",
            docAuthor: "万全",
            docBookCode: "1",
            docCategoryL1: "350种专题",
            docCategoryL1Order: "0",
            docCategoryL2: "临证各科",
            docCategoryL2Order: "0",
            docCategoryL3: "女科",
            docCategoryL3Order: "0",
            docClass: "丛书",
            docContentXml: (<doc_content>內文),
            docFilename: "1v1.txt_markus_p0001",
            docId: "25216329",
            docMetadataXml: (<xml_metadata>內文),
            docSource: "ZYWX",
            docSourceOrder: "0",
            docSubclass: "万密斋医学全书",
            docSubtype: "医书",
            docTimeCreated: "2019-05-10 23:17:00",
            docTitleXml: "<DocTitle>DocTitle</DocTitle>",
            docTopicL1: "临证各科",
            docTopicL1Order: "0",
            docTopicL2: "方论",
            docTopicL2Order: "0",
            docTopicL3: "妇科",
            docTopicL3Order: "0",
            docType: "古籍",
            docXmlFormatSubname: "-",
            placeInfo: {
                geoLevel1: "中国",
                geoLevel2: "湖北",
                geoLevel3: "罗田",
                geoX: "115.390400",
                geoY: "30.790350"
            },
            srcFilename: "DB_01017502_000.xml",
            timeInfo:{
                dateAdDate: "17780000",
                dateAdYear: "1778",
                dateChNormYear: "清乾隆43年",
                dateDynasty: "明",
                dateEra: "清高宗",
                dateOrigStr: "清乾隆43年戊戌(1778)",
                timeseqNotAfter: "0",
                timeseqNotBefore: "0",
                timeseqNumber: "00000000",
                timeseqType: "my_time_sequence",
            },
            xmlFormatName: "ThdlContentXml"

        }
    }

```
