天天看點

在XML裡的XSD和DTD以及standalone的使用3----具體使用詳解

本人親自寫的一個簡單的測試例子

1、xsd定義

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

<xs:schema id="LONGTWNG"

targetNamespace="http://tempuri.org/LONGTWNG.xsd"

elementFormDefault="qualified"

xmlns="http://tempuri.org/LONGTWNG.xsd"

xmlns:mstns="http://tempuri.org/LONGTWNG.xsd"

xmlns:xs="http://www.w3.org/2001/XMLSchema"

>

<xs:element name="WLJ">

<xs:complexType>

<xs:sequence>

<xs:element name ="Satart" type="xs:string"></xs:element>

<xs:element ref="Middlez中間數字" maxOccurs="unbounded">

</xs:element>

<xs:element name="End" type="xs:string"></xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Middlez中間數字">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:pattern value="\d{3}-\d{8}"></xs:pattern>

</xs:restriction>

</xs:simpleType>

</xs:schema>

2、xml檔案中使用XSD

(1)第一種使用方法

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

<WLJ xmlns="http://tempuri.org/LONGTWNG.xsd" xmlns:xsi="http://tempuri.org/LONGTWNG.xsd-instance">

<Satart>jajj</Satart>

<Middlez中間數字>098-66666666</Middlez中間數字>

<End>3333</End>

</WLJ>

(2)第二種使用方法

<WLJ xmlns="http://tempuri.org/LongtengGenesAndSupreme.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://tempuri.org/LongtengGenesAndSupreme.xsd LongtengGenesAndSupreme.xsd">

<Satart>123</Satart>

<Middle>456</Middle>

<End>789</End>

3、XML中直接使用xsd 

<LONGTWNG>

<xs:schema id="LONGTWNG" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-data"

</xs:schema>

<WLJ>

<Satart>eeeee</Satart>

<Middlez中間數字>087-22222222</Middlez中間數字>

<End>dddd</End>

</WLJ>

</LONGTWNG>

4、XML中直接使用DTD

<!--内部的 DOCTYPE 聲明-->

<!--DTD 被包含在 XML 源檔案中,它應當通過下面的文法包裝在一個 DOCTYPE 聲明中:-->

<!--<!DOCTYPE 根元素 [元素聲明]>-->

<!DOCTYPE WLJ [

<!ELEMENT WLJ (start,middle,end)>

<!ELEMENT start (#PCDATA)>

<!ELEMENT middle (#PCDATA)>

<!ELEMENT end (#PCDATA)>]>

<WLJ>

<start>hhee</start>

<middle>123</middle>

<end>hhhh</end>

<!--以上 DTD 解釋如下:

!DOCTYPE note (第二行)定義此文檔是 note 類型的文檔。

!ELEMENT note (第三行)定義 note 元素有四個元素:"to、from、heading,、body"

!ELEMENT to (第四行)定義 to 元素為 "#PCDATA" 類型

!ELEMENT from (第五行)定義 from 元素為 "#PCDATA" 類型

!ELEMENT heading (第六行)定義 heading 元素為 "#PCDATA" 類型

!ELEMENT body (第七行)定義 body 元素為 "#PCDATA" 類型-->

5、DTD定義

<!ELEMENT WLJ (start,middle,end)>

<!--<!ATTLIST WLJ version CDATA #REQUIRED>-->

<!ELEMENT start (#PCDATA)>

<!ELEMENT middle (#PCDATA)>

<!ELEMENT end (#PCDATA)>

6、XML中使用DTD檔案

<!--外部文檔聲明-->

<!--假如 DTD 位于 XML 源檔案的外部,那麼它應通過下面的文法被封裝在一個 DOCTYPE 定義中:-->

<!--<!DOCTYPE 根元素 SYSTEM "檔案名">-->

<!--<!DOCTYPE WLJ SYSTEM "E:\Programme\工作\MyPraticeWork\WLJTool\WLJTLongtengGenesAndSupreme\TestXSDAndDTD\DTD.dtd">-->

<!DOCTYPE WLJ SYSTEM "DTD.dtd">

龍騰一族至尊龍騎