1. 程式人生 > >schema、dtd、xml之間的關係

schema、dtd、xml之間的關係

xml檔案支援任何使用者自定義元素,schema(即.xsd檔案,xml schema document)和dtd(即.dtd檔案,Document Type Definition)都是對xml檔案的進一步約束,就是說某xml檔案(如web.xml)引入了某個.xsd或者.dtd之後,就不能隨心所欲的使用任何自定義元素了,必須使用.xsd或者.dtd檔案中定義的元素,並且型別、個數、順序也會受到限制 。

==========================================schema====================================

============


schema的專業叫法是模式,每一個web.xml都要

1xml檔案中可以用哪些元素,如引用了web-app_2.4.xsd就可以使用<display-name>、welcome-file-list等元素,在web-app_2.4.xsd沒有規定的元素是不可以使用的!!這就是為什麼,如下的web.xml配置,會報錯“元素"mvc:interceptors" 的字首 "mvc" 未繫結”,那是因為引入的web-app_2_4.xsd等schema即xsd檔案中沒有mvc的定義,所以是不能使用的!!

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd

"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
    <display-name>aaa</display-name>
<welcome-file-list>
<welcome-file>index.do</welcome-file>
</welcome-file-list>


<!--登入控制攔截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/login.do" />
<bean class="org.bjlx.base.login.AuthInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

</web-app>

2型別、個數、順序等)。

============

如web.xml:

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

<web-app 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

version="2.4">

</web-app>

web.xml首先要包含它的schema,schema寫在<web-app>中(標紅的部分),意思就是說本xml即web.xml要引用哪些xsd檔案中的約束,如web-app_2_4.xsd等。一旦在<web-app>中定義了一個或多個schema引用,web.xml就要遵守schema即.xsd檔案中的約束,xsd檔案中沒有的元素時web.xml時不可以使用的。除此之外,xsd還對型別、個數、順序等做了限制。


==========================================DTD====================================

dtd檔案,也是對xml檔案的進一步限制。如某個web.xml引入了web-app_2_3.dtd,該web.xml就要遵守web-app_2_3.dtd對元素的約束,web-app_2_3.dtd中沒有的元素,web.xml是不能使用的。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Online Store Application</display-name>
</web-app>

相關推薦

schemadtdxml之間關係

xml檔案支援任何使用者自定義元素,schema(即.xsd檔案,xml schema document)和dtd(即.dtd檔案,Document Type Definition)都是對xml檔案的進一步約束,就是說某xml檔案(如web.xml)引入了某個.xsd或者.

類與介面之間關係介面與介面之間關係面向物件三大特徵之多型

一、類與介面之間關係: 實現關係。 1、類與介面要注意的事項: 1)重點內容非抽象類實現一個介面時,必須要把介面中所有方法全部實現。 2)抽象類實現一個介面時,可以實現也可以不實現介面中的 方法。 3)一個類可以實現多個介面 。 2、疑問: java為

二項式楊輝三角組合數三者之間關係

組合數C(n,m)在組合數學中佔有重要地位。與組合數相關的最重要的兩個內容是楊輝三角和二項式定理 1、二項式展開係數和楊輝三角一致 如果求的(a+b)^n所有項的係數? 1、方法一用楊輝三角遞推:時間複雜度O(n^2) 2、利用等式C(n,k)=(n-k+1)/k*C(n,

理清ActivityView及Window之間關係

View、Window以及Activity主要是用於顯示並與使用者互動的。這讓我們在初學的時候很容易弄混,而且無法理解他們區別以及聯絡。本文是筆者查閱相關資料後,結合自己的理解寫出來。希望能幫你梳理清楚他們各自的工作職責,以及是因為什麼需求導致了它們的出

簡略整理一下RPCWebServiceRestfulJsonXml這些概念之間關係

RPC有2層含義: (1)      (協議層)編碼方式 (2)      (傳輸層)傳輸方式   RPC 協議層\傳

Java 模擬servlet執行DTD約束Schema約束dom4j解析(讀寫xml

模擬servlet執行 瀏覽器請求WEB伺服器上的資源,WEB伺服器返回給瀏覽器   瀏覽器的入口不同(訪問路徑),訪問的資源也不同。 我們需要使用xml約束(DTD或schema);為了獲得xml的內容,我們需要使用dom4j進行解析。   XML(不同路徑(/hello)執

XML的約兩種約束——DTDSchema

在XML技術裡,可以編寫一個文件來約束一個XML文件的書寫規範,這稱之為XML約束。 常用的約束技術XML DTD ;XML Schema。 XML Schema 也是一種用於定義和描述 XML 文件結構與內容的模式語言,其出現是為了克服 DTD 的侷限性 XML Sch

16.XML語法CDATA約束(DTDSchema)講解

 xml主要用來描述資料,比如配置檔案,網路之間傳輸資料等,並且在android中也經常用xml來佈局,,接下來便來學習xml常用的東西 1.XML語法 xml語法分為:  1.1 文件宣告 必須位於文件第一行,用來聲明當前版本、編碼格式以及standlane,如果沒有編碼格式

分享知識-快樂自己: Oracle資料庫例項使用者表空間之間關係

資料庫:   Oracle資料庫是資料的物理儲存。這就包括(資料檔案ORA或者DBF、控制檔案、聯機日誌、引數檔案)。   其實Oracle資料庫的概念和其它資料庫不一樣,這裡的資料庫是一個作業系統只有一個庫。可以看作是Oracle就只有一個大資料庫。 例項:   一個Oracle例項(Oracle

.NET Framework.NET CoreMonoXamarin之間關係

本是同根生 截止2017年7月,這些專案均為微軟.NET Foundataion旗下開源專案,微軟朝著商業和開源兩種途徑,將.NET平臺開源、跨平臺化,以適應雲端計算、移動網際網路時代的要求。2000年左右,隨著Java在PC網際網路時代的流行,微軟釋出了全新的.NET平臺,但是一直遲遲沒有開放

IP地址(ABCD和E類)網路地址主機地址子網掩碼與閘道器之間關係

“IP地址”就相當於“電話號碼”,而Internet中的路由器,就相當於電信局的“程控式交換機”。 點分十進位制數表示的IPv4地址被分為幾類,以適應大型、中型、小型的網路。這些類的不同之處在於不同類別的網路地址所佔位數。 **IP地址是一個32位的二進位制數,通常被分

正割餘割正弦餘弦正切餘切之間關係的公式 seccsc與sincostancot之間的各種公式

1、倒數關係 tanα ·cotα=1 sinα ·cscα=1 cosα ·secα=1 2、商數關係 tanα=sinα/cosα cotα=cosα/sinα 3、平方關係 sinα²+cosα²=1 1+tanα²=secα² 1+cotα²=cscα² 4、求

python中typeclassobject之間關係

先看一段程式碼 # -*- coding:UTF-8 -*- __autor__ = 'zhouli' __date__ = '2018/11/13 18:40' a = 1 b = 'abc' print(type(1)) print(type(int)) print(type(b)) print

資料庫的例項表空間使用者之間關係

完整的Oracle資料庫通常由兩部分組成:Oracle資料庫和資料庫例項。  1) 資料庫是一系列物理檔案的集合(資料檔案,控制檔案,聯機日誌,引數檔案等);  2) Oracle資料庫例項則是一組Oracle後臺程序/執行緒以及在伺服器分配的共享記憶體區。 在啟動Oracl

Android SurfaceSurfaceViewSurfaceHolder及SurfaceHolder.Callback之間關係

最近學習Google的zxing掃碼,接觸到Surface、Surface和Viewfindview,這裡先記下Surface學習到的好東西 轉載:http://blog.csdn.net/pathuang68/article/details/7351317 一、Surface Surf

理解npmnvmnodejs之間關係

nvm nvm:nodeJs版本管理工具,管理nodejs版本和npm版本,使用nvm安裝nodejs時會將npm一起安裝下來 nodejs nodeJs: 一種高效的JavaScript執行環境 npm npm:是隨同nodeJs一起安裝的包管理工具,npm管理對應nodeJs的第三方外

詳解reactreduxreact-redux之間關係

本文介紹了react、redux、react-redux之間的關係,分享給大家,也給自己留個筆記,具體如下: React 一些小型專案,只使用 React 完全夠用了,資料管理使用props、state即可,那什麼時候需要引入Redux呢? 當渲染一個元件的資料是通過props從父元件中獲取

Vue學習(一)——掛載點模板例項之間關係

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Vue入門</title> <script src="./vue.js

兩個平面之間關係—平行垂直相交

兩個平面可能存在三種關係:平行、垂直、相交。下面介紹這三種關係的判定方法。   平面1的方程為:A1x+B1y+C1*z+D1 = 0 平面2的方程為:A2x+B2y+C2*z+D2 = 0 對應的法向量分別為:n1=(A1,B1,C1),n2=(A2,B2,C2) &

多表查詢外來鍵表與表之間關係

外來鍵 通常在實際工作中,資料庫中表格都不是獨立存在的,且表與表之間是有種聯絡的,比如兩張表格,一張為分類表category,一張為商品表product。在分類表中有兩個資訊,cid、cname,商品表中有三個資料資訊pid、name、price。兩張表要想有著某種聯絡