XML實驗---設計一個唱片(利用DTD)

xml實驗報告程序員

 

                     

.書上題目數據庫

Ø  345題:架構

代碼:編碼

<?xml version="1.0" encoding="UTF-8"?>


<項目組 xmlns="http://schemas.microsoft.com/"

xmlns:duty="http://schemas.microsoft.com/ado/">

      <項目組角色>

             <職位>

                    <duty:名稱>項目經理</duty:名稱>

                    <工做年限>五年以上</工做年限>

                    <技能要求>精通J2EE,掌握管理技能</技能要求>

                    <職責>控制項目進度、品質、任務分配</職責>

             </職位>

             <![CDATA[

                    <職位>

                           <duty:名稱>架構設計師</duty:名稱>

                           <工做年限>五年以上</工做年限>

                           <技能要求>精通J2EE架構設計、有項目開發經驗</技能要求>

                           <職責>設計項目架構,並在項目組中實施</職責>

                    </職位>

             ]]>

             

             <職位>

                    <duty:名稱>需求分析師</duty:名稱>

                    <工做年限>3年以上</工做年限>

                    <技能要求>熟悉財務系統,有開發經驗</技能要求>

                    <職責>收集客戶需求,編寫需求規格書</職責>

             </職位>

             <職位>

                    <duty:名稱>高級程序員</duty:名稱>

                    <工做年限>3年以上</工做年限>

                    <技能要求>精通structs+Hibernate+MS SQL</技能要求>

                    <職責>編寫詳細設計書,編碼實現業務模塊</職責>

             </職位>



      </項目組角色>


</項目組>

運行圖:spa

Ø  9題:架構設計

代碼:設計

<?xml version="1.0" encoding="GB2312"?>


<PERSON>
	<NAME>AEon Yuzz</NAME>
	<CALL>021-54657798	</CALL>
		<TITLE>項目經理</TITLE>
	<COMPANY>SAP 中國有限公司....</COMPANY>
	<ADDRESS>上海浦東張江軟件園</ADDRESS>
</PERSON>


<!--
<PERSON>
	<NAME>AEon Yuzz</NAME>
	<:CALL>021-54657798
		<TITLE>項目經理</TITLE>
	</:CALL>
	<COMPANY>SAP 中國有限公司....</COMPANY>
	<ADD RESS>上海浦東張江軟件園</ADD RESS>
</PERSON>

-->

<!--
problem1:ADDRESS不能分開寫
problem2:電話標籤不能嵌套
problem3:標籤開頭不能用:
-->

 

運行圖:code

 

.回答題目xml

(1)若是容許XML中的元素相互交叉,其缺點是什麼?utf-8

答:1.文檔缺少規範化;2.結構不夠清晰,不利於維護和閱讀;3.容易形成內容與現實混合;4.沒有作到嚴格嵌套

(2)XML文件中的名字空間有什麼用處?

答:XML 命名空間提供了避免元素名稱衝突的方法。
由於XML的元素名都是本身定義的,在大型XML文檔中,可能會出現標識名相同而表明意義不相同的情況。命名空間經過在元素名前增長獨特的標識符,制定元素名的有效空間,來區分兩個同名元素。

(3)XML的標記與關係數據庫中的列名有什麼區別?

答:數據庫是結構化的數據存儲,而XML是半結構化的數據存儲,區別就在於,結構化的關係表中,若是你有個字段的數據是null,那麼這個位置也要空着,保證關係結構。而XML文檔中你只須要添加有數據內容的節點(標籤)就好了。這就是半結構化數據的一個優勢。

 (4 ) 根據實際業務需求,定義格式良好的XML文件。

某音像店,用XML文件來存放下列唱片信息:每一種唱片包含唱片的基本信息和多個訂購人信息。基本信息包含:唱片名字,發行日期,曲目數,單價,數量(含有一個屬性是單位)。而訂購人信息包含:姓名,詳細地址(街道,城市,省,國家,郵政編碼),備註(包含屬性付款方式和定貨日期)等。

 

首先獲得樹形圖:

由題目可知包含多個訂購人信息,須要使用DTD來約束。根據題目要求獲得以下xml代碼:

<?xml version="1.0" encoding="utf-8" ?>

 

<!--a start of DTD-->

<!DOCTYPE 唱片信息[

<!--elems defines-->

<!ELEMENT 唱片信息 (基本信息,(訂購人信息)+)>

<!ELEMENT 基本信息 (唱片名稱,發行日期,曲目數,單價,數量)>

<!ELEMENT 訂購人信息 (姓名,詳細地址,備註)>

<!ELEMENT 詳細地址 (街道,城市,省,國家,郵政編碼)>

<!ELEMENT 唱片名稱 (#PCDATA)>

<!ELEMENT 發行日期 (#PCDATA)>

<!ELEMENT 曲目數 (#PCDATA)>

<!ELEMENT 單價 (#PCDATA)>

<!ELEMENT 數量 (#PCDATA)>

<!ELEMENT 姓名 (#PCDATA)>

<!ELEMENT 備註 (#PCDATA)>

<!ELEMENT 街道 (#PCDATA)>

<!ELEMENT 城市 (#PCDATA)>

<!ELEMENT 省 (#PCDATA)>

<!ELEMENT 國家 (#PCDATA)>

<!ELEMENT 郵政編碼 (#PCDATA)>

<!--屬性定義-->

<!ATTLIST 數量 個數 CDATA #REQUIRED>

<!ATTLIST 備註 付款方式 CDATA #REQUIRED>

<!ATTLIST 備註 定貨日期 CDATA #REQUIRED>

]>
<唱片信息>
       <基本信息>
              <唱片名稱>迪克-牛仔</唱片名稱>
              <發行日期>1990-7-26</發行日期>
              <曲目數>52</曲目數>
              <單價>¥1999</單價>
              <數量 個數="5"></數量>
       </基本信息>
       <訂購人信息>
              <姓名>arc</姓名>
              <詳細地址>
                     <街道>四川農業大學三區</街道>
                     <城市>雅安市</城市>
                     <省>四川省</省>
                     <國家>中國</國家>
                     <郵政編碼>623000</郵政編碼>
              </詳細地址>

              <備註 付款方式="網上支付" 定貨日期="2016-11-2"></備註>
       </訂購人信息>
       <訂購人信息>
              <姓名>cat</姓名>
              <詳細地址>
                     <街道>四川川農業小學二區</街道>
                     <城市>雅安市</城市>
                     <省>四川省</省>
                     <國家>中國</國家>
                     <郵政編碼>623000</郵政編碼>
              </詳細地址>
              <備註 付款方式="線下支付" 定貨日期="2016-10-25"></備註>
       </訂購人信息>
</唱片信息>

運行結果以下:

 

相關文章
相關標籤/搜索