[春] Springxml構成のdtdおよびxsd形式の分析

1.DTD形式

1.1春のDTDの例

最初に、Spring構成ファイルのヘッダーは次のように宣言されます。

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"  
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">  
<beans>  
  
</beans>  

説明:
1。最初の行はxml宣言を表します。整形式のxml文書は、宣言の最初の行である必要があります。これは、これがxmlドキュメントであることをパーサーに通知するのと同じであり、xmlパーサーを使用して解析できます。

2. dtdステートメントは、xmlの要素と属性がspring-beans-2.0.dtd文書型定義標準に準拠している必要があることを示しています。

1.2DTDとは

DTD:ファイルのファイルタイプ定義(Document Type Definitionは、1つ以上のXMLファイルのテンプレートと見なすことができます。ここで、XMLファイル内の要素、要素の属性、要素の配置、含まれるコンテンツを定義できます。要素などで。

短所:
XSDと比較したDTD:DTDは非XML構文を使用して記述されています。
DTDは拡張可能ではなく、名前空間をサポートせず、非常に限られたデータ型しか提供しません。

DTDのいくつかの制限、およびデータ型と名前空間に対するXMLスキーマのサポートのため。XMLスキーマはまもなくDTDに取って代わります。

2.XSD形式

2.1春のXSDの例

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"  
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"  
    xsi:schemaLocation="  
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  
</beans>  
  

XMLスキーマ名前空間関数:
1。Javaのパッケージのように、名前の競合を回避します
。2 異なる関数でタグを分離します(トランザクションタイプタグのSpringのtx名前空間、コンポーネントタグのコンテキスト名前空間など)

コードの説明:1。xmlファイルのデフォルトの名前空間を宣言します
xmlns="http://www.springframework.org/schema/beans"
これは、他の名前空間を使用しないすべてのタグのデフォルトの名前空間を意味します。

2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
XMLスキーマインスタンスを宣言し、宣言後にschemaLocation属性を使用します

3.xmlns:aop="http://www.springframework.org/schema/aop"
接頭辞aopが付いた名前空間を宣言します名前空間のアドレスを示すために使用されるURLは、パーサーが情報を検索するために使用されません。その唯一の機能は、名前空間に一意の名前を付けることです。要素の開始タグで名前空間が定義されている場合、同じプレフィックスを持つすべての子要素は同じ名前空間に関連付けられます。

4、

xsi:schemaLocation="  
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  

ネーミングから、スキーマの場所を指定するには、この属性を名前空間と組み合わせて使用​​する必要があることがわかります。この属性には2つの値があります。

  • 最初の値は、使用する必要のある名前空間を示します
  • 2番目の値は、名前空間で使用されるXMLスキーマの場所を示します

したがって、どのようなラベルが必要な場合は、どのような名前空間とスキーマ定義を導入できます。

2.2XSDとは

XSDは、XML構造定義の略語であり、英語ではXMLスキーマ定義と呼ばれます。XMLスキーマは、XMLドキュメントの構造を記述します。

指定されたXMLスキーマを使用してXMLドキュメントを検証し、XMLドキュメントがその要件を満たしているかどうかを確認できます。ドキュメント設計者は、XMLスキーマを介してXMLドキュメントの許可された構造とコンテンツを指定し、これに基づいてXMLドキュメントが有効かどうかを確認できます。XMLスキーマ自体はXMLドキュメントであり、XMLの文法構造に準拠しています。一般的なXMLパーサーで解析できます。

XMLスキーマは、ドキュメントに表示される要素、ドキュメントに表示される属性、サブ要素、サブ要素の数、サブ要素の順序、要素が空かどうか、データ型を定義します。要素と属性の、要素または属性のデフォルト値と固定値。

現在、一般的にDTDの代わりにXSDを使用します。

  • まず、将来の状況に応じて拡張できます
  • 第二に、DTDよりも豊富で便利です
  • 3番目はXMLで書くことです
  • 4番目はデータ型をサポートすることです
  • 5つ目は、名前空間をサポートすることです。

XMLスキーマの利点:

  1. XMLスキーマはXMLに基づいており、特別な構文はありません。
  2. XMLは、他のXMLファイルと同じように解析および処理できます
  3. XMLスキーマは、一連のデータ型(int、float、Boolean、dateなど)をサポートします。
  4. XMLスキーマは、拡張可能なデータモデルを提供します。
  5. XMLスキーマは包括的な名前空間をサポートします
  6. XMLスキーマは属性グループをサポートします。

おすすめ

転載: blog.csdn.net/m0_45406092/article/details/115288121