ホームページ > バックエンド開発 > XML/RSS チュートリアル > XMLプログラミングにおけるスキーマ定義用のXSDサンプルコードの詳細説明

XMLプログラミングにおけるスキーマ定義用のXSDサンプルコードの詳細説明

黄舟
リリース: 2017-03-10 19:28:51
オリジナル
1719 人が閲覧しました

この記事では、XML プログラミングにおけるスキーマ定義 XSD の詳細な説明を主に紹介し、XML ドキュメントでスキーマを宣言し、型を定義する方法について説明します。必要な方は参照してください。

XML スキーマは通常、XML スキーマ定義 (XSD) と呼ばれます。 XML データの構造と内容を記述および検証するために使用されます。 XML スキーマは、要素、属性、およびデータ型を定義します。スキーマ要素は名前空間もサポートします。これは、データベース内のデータを記述するデータベース スキーマに似ています。

構文
次のように XML ドキュメントでスキーマを宣言する必要があります:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
ログイン後にコピー

次の例は、スキーマの使用方法を示しています:

  
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">  
  
      
          
              
              
              
          
      
  
ログイン後にコピー

XML スキーマの背後にある基本的な考え方XML ドキュメントとして受け入れられる法的な形式について説明します。

要素
XML 要素の章で見たように、要素は XML ドキュメントの構成要素です。要素は XSD 内で次のように定義できます:

<xs:element name="x" type="y"/>
ログイン後にコピー

型の定義
XML スキーマ要素は次のように定義できます:

単純型: 単純型要素はテキスト コンテキストでのみ使用できます。事前定義された単純な型には、xs:integer、xs:boolean、xs:string、xs:data などがあります。例:

<xs:element name="phone_number" type="xs:int" />
ログイン後にコピー

複合型: 複合型は、他の要素によって定義されるコンテナーです。 XML ドキュメントに何らかの構造を提供するために、どの要素に子要素を含めることができるかを指定できます。例:

<xs:element name="Address">  
    <xs:complexType>  
        <xs:sequence>  
            <xs:element name="name" type="xs:string" />  
            <xs:element name="company" type="xs:string" />  
            <xs:element name="phone" type="xs:int" />  
        </xs:sequence>  
    </xs:complexType>  
</xs:element>
ログイン後にコピー

上記の例では、Address 要素は子要素で構成されています。これは他の 定義のコンテナであり、XML ドキュメント内に要素の単純な階層を構築できます。

グローバル型: グローバル型の場合、ドキュメント内で独立した型を定義でき、他のすべての参照も使用できます。たとえば、さまざまな会社の住所に対して個人と会社を一般化したいとします。この場合、次のようなジェネリック型を定義できます:

<xs:element name="AddressType">  
    <xs:complexType>  
        <xs:sequence>  
            <xs:element name="name" type="xs:string" />  
            <xs:element name="company" type="xs:string" />  
        </xs:sequence>  
    </xs:complexType>  
</xs:element>
ログイン後にコピー

そして、この型を次の例で使用します:

<xs:element name="Address1">  
    <xs:complexType>  
        <xs:sequence>  
            <xs:element name="address" type="AddressType" />  
            <xs:element name="phone1" type="xs:int" />  
        </xs:sequence>  
    </xs:complexType>  
</xs:element>  
<xs:element name="Address2">  
    <xs:complexType>  
        <xs:sequence>  
            <xs:element name="address" type="AddressType" />  
            <xs:element name="phone2" type="xs:int" />  
        </xs:sequence>  
    </xs:complexType>  
</xs:element>
ログイン後にコピー

name と company を 2 回定義する必要がなくなりました (Address1 に 1 回、Address2 に 1 回) )、独立した定義ができました。これにより、メンテナンスが容易になります。たとえば、住所に「郵便番号」要素を追加する場合、追加する必要があるのは 1 か所だけです。

属性
XSD の属性は、要素に関する追加情報を提供します。 name 属性と type 属性を持つ属性は次のとおりです:

<xs:attribute name="x" type="y"/>
ログイン後にコピー


以上がXMLプログラミングにおけるスキーマ定義用のXSDサンプルコードの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート