検索
ホームページバックエンド開発XML/RSS チュートリアルXML DTD および XML スキーマのサンプル コードの詳細な紹介 (画像とテキスト)

XML(eXtensible Markup Language) 拡張可能なマークアップ言語。 XML は、Web サービス プログラミングにおいて特に重要です。ネットワーク送信時にデータを送信するためのキャリアとして使用できます。 メタ言語として、xml はデータをマークし、データ型を定義するために使用できます。これにより、ユーザーは独自のマークアップ言語を定義できます。 これはネットワーク転送に最適であり、アプリケーションやベンダーに依存せずに構造化データを記述および交換するための統一されたアプローチを提供します。異種言語と異種プラットフォーム間のインタラクションを実現できます。 XML ドキュメントの定義方法には、ドキュメント タイプ定義 (DTD) と XML スキーマが含まれます。 DTD (Document Type Definition) は、ドキュメントの全体的な構造とドキュメントの構文を定義します (理解のために以下に対応する例があります)。これは広く使用されており、豊富なツールがサポートされています。 XML スキーマはより強力であり、管理情報などのより強力で豊富な機能を定義するために使用されます。 XML は、よりきめ細かい方法でコンテンツを宣言し、制約を定義し、複数のプラットフォーム間でのコンテンツのより有意義な送信を容易にすることができます。構造化データを記述するための形式を提供し、ネットワーク内でのデータ交換と表現を簡素化し、コード、データ、表現を分離し、データ交換の標準形式として機能するため、インテリジェント データ ドキュメントと呼ばれることがよくあります。 DTD はシャベルにたとえられますが、XML スキーマはより強力な掘削機であると言えます。 XML はマークアップ言語と呼ばれますが、その形式がより厳密であり、タグが閉じられている必要があり、XML がドキュメントの内容とセマンティクスをどのように分離するかではなく記述するという点で HTML (ハイパーテキスト マークアップ言語) とは異なります。文書が表示されるはずです。 HTML はタグが固定されており、表示と内容が一体となっており、独自のタグを作成することはできませんが、XML は拡張可能であり、各要素がペアで表示され、XML 要素の先頭と末尾が埋め込まれます。ネスト関係は正しく維持される必要があります (ネスト内で後から始まるタグが最初に終了し、最初に開始するタグが最後に終了する必要があります)。各 XML ドキュメントにはルート要素 (ルート要素) が 1 つだけ存在します。要素には他のすべての要素が含まれます。 XML 構文に準拠する XML 文書は、DTD または XML スキーマによって検証されない場合、整形式と呼ばれます。整形式の XML 文書が DTD または XML スキーマによって検証される場合、この種の XML 文書は有効 (有効) と呼ばれます。 )。 以下では、例として学生名簿の XML を使用します

<?xml version="1.0" encoding="utf-8"?>
<学生名册>
    <学生 学号="A1">
        <姓名>CIACs</姓名>
        <性别>男</性别>
        <年龄>22</年龄>
    </学生>

    <学生 学号="A2">
        <姓名>zhihao</姓名>
        <性别>男</性别>
        <年龄>23</年龄>
    </学生>
</学生名册>

整形式の XML ドキュメントの場合、XMLSpy の出力ウィンドウは次の結果を出力します

XML の最初の行は次である必要があります

< ;?xml version="1.0" ?>

処理命令。"xml 要素は厳密に大文字と小文字が区別されます、デフォルトのドキュメント エンコード形式は "UTF- 8」、バージョンは1.0のみです。上記の XML ドキュメントは、適切にフォーマットされた XML ドキュメントであるとしか言えず、有効な (Vaild) XML ドキュメントではありません。以下では 2 つの方法を使用して検証します。 まずDTDで検証します

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 学生名册 [
<!ELEMENT 学生名册 (学生+)>
<!ELEMENT 学生 (名字,性别,年龄)>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 性别 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ATTLIST 学生 学号 ID #REQUIRED>
<!ENTITY  sex "男">
]>

<学生名册>
    <学生 学号="A1">
        <名字>CIACs</名字>
        <性别>&sex;</性别>
        <年龄>22</年龄>
    </学生>
    
    <学生 学号="A2">
        <名字>zhihao</名字>
        <性别>&sex;</性别>
        <年龄>23</年龄>
    </学生>
</学生名册>

検証が通るとXMLSpyの出力ウィンドウに以下の結果が表示されます

それ以外の場合はスペースが一つ多くても検証は通りません。ここでは DTD の検証を XML に記述しました。もちろん、ファイルの拡張子を「.dtd」として、それを検証対象の XML ドキュメントに関連付けることもできます。構文は次のとおりです。

1 DOCTYPE ルート要素名 SYSTEM "*.dtd"> ここでの ID 値は、単なる数字の場合は文字で始まるようです。検証に合格しません。

生徒情報の性別をエンティティとして定義し、

エンティティを通してその値を参照します。エンティティ参照の構文は「

&エンティティ名;」であることに注意してください。 XML Schemaメソッドで以下を検証します

検証対象のxml文書

<?xml version="1.0" encoding="utf-8"?>
<学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="学生名册.xsd">
    <学生 学号="A1">
        <姓名>CIACs</姓名>
        <性别>男</性别>
        <年龄>22</年龄>
    </学生>

    <学生 学号="A2">
        <姓名>zhihao</姓名>
        <性别>男</性别>
        <年龄>23</年龄>
    </学生>
</学生名册>

XML Schema検証文書

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="学生名册">
        <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="unbounded">
                <xs:element ref="学生"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="学生">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="姓名" type="xs:string"/>
                <xs:element name="性别">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="男"/>
                            <xs:enumeration value="女"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="年龄">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minExclusive value="0"/>
                            <xs:maxExclusive value="120"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="学号" type="xs:string" use="required"/>
        </xs:complexType>
    </xs:element>
</xs:schema>

XMLSpy出力ウィンドウの出力結果

検証対象のxml文書が開始されますルート要素から以下の情報をタグに追加してXML Schemaドキュメントを関連付けます

 1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="学生名册.xsd"

上記のドキュメントはすべて同じパスに配置されているので、ファイル名を直接引用するだけです。

上記の 2 つの検証方法から、DTD と XML スキーマの検証の違いが明確にわかります。どちらも、XML スキーマは DTD よりも強力な機能と
より詳細なデータ型を提供します。スキーマはデータ型をカスタマイズすることもできますが、dtd の構文は xml の構文とは異なります。 Schema はコード サイズの点で DTD よりも大きくなりますが、Schema を学習すると、Schema を使用することを好みます。

xml とその検証方法をよく学ぶことは、その後の Web サービス プログラミングを学ぶ上で非常に重要です。

以上がXML DTD および XML スキーマのサンプル コードの詳細な紹介 (画像とテキスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
RSSにおけるXMLの利点:技術的なディープダイビングRSSにおけるXMLの利点:技術的なディープダイビングApr 23, 2025 am 12:02 AM

XMLには、RSSの構造化データ、スケーラビリティ、クロスプラットフォームの互換性、解析検証の利点があります。 1)構造化されたデータにより、コンテンツの一貫性と信頼性が保証されます。 2)スケーラビリティにより、コンテンツのニーズに合わせてカスタムタグを追加できます。 3)クロスプラットフォームの互換性により、さまざまなデバイスでシームレスに動作します。 4)分析および検証ツールは、フィードの品質と完全性を確保します。

XMLのRSS:コンテンツシンジケーションのコアを発表しますXMLのRSS:コンテンツシンジケーションのコアを発表しますApr 22, 2025 am 12:08 AM

XMLでのRSSの実装は、構造化されたXML形式を使用してコンテンツを整理することです。 1)RSSは、チャネル情報やプロジェクトリストなどの要素を含むデータ交換形式としてXMLを使用します。 2)RSSファイルを生成する場合、コンテンツは仕様に従って整理し、サブスクリプションのためにサーバーに公開する必要があります。 3)RSSファイルは、読者またはプラグインを介してサブスクライブして、コンテンツを自動的に更新できます。

基本を超えて:高度なRSSドキュメント機能基本を超えて:高度なRSSドキュメント機能Apr 21, 2025 am 12:03 AM

RSSの高度な機能には、コンテンツネームスペース、拡張モジュール、条件付きサブスクリプションが含まれます。 1)コンテンツネームスペースはRSS機能を拡張します。2)dublincoreやiTunesなどの拡張モジュールを拡張してメタデータを追加します。これらの関数は、情報収集の効率を改善するためにXML要素と属性を追加することにより実装されます。

XMLバックボーン:RSSフィードが構造化される方法XMLバックボーン:RSSフィードが構造化される方法Apr 20, 2025 am 12:02 AM

rssfeedsusexmltoStructurecontentupdates.1)xmlprovidesahierararchStructurefordata.2)theelementDefinesthefeed'sidentityandContainesements.3)letentionEntentividualContentPieces.4)

RSS&XML:Webコンテンツのダイナミックデュオを理解するRSS&XML:Webコンテンツのダイナミックデュオを理解するApr 19, 2025 am 12:03 AM

RSSとXMLは、Webコンテンツ管理のためのツールです。 RSSはコンテンツの公開と購読に使用され、XMLはデータの保存と転送に使用されます。コンテンツの公開、サブスクリプション、および更新プッシュで動作します。使用法の例には、RSS公開ブログ投稿やXML保存本情報が含まれます。

RSSドキュメント:Webシンジケーションの基礎RSSドキュメント:Webシンジケーションの基礎Apr 18, 2025 am 12:04 AM

RSSドキュメントは、頻繁に更新されるコンテンツを公開および購読するために使用されるXMLベースの構造化されたファイルです。その主な機能には、1)自動化されたコンテンツの更新、2)コンテンツの集約、3)ブラウジング効率の改善。 RSSFeedを通じて、ユーザーはタイムリーにさまざまなソースから最新情報を購読および取得できます。

RSSのデコード:コンテンツフィードのXML構造RSSのデコード:コンテンツフィードのXML構造Apr 17, 2025 am 12:09 AM

RSSのXML構造には、1。XML宣言とRSSバージョン、2。チャネル(チャネル)、3。アイテムが含まれます。これらの部品はRSSファイルの基礎を形成し、XMLデータを解析することにより、ユーザーがコンテンツ情報を取得および処理できるようにします。

XMLベースのRSSフィードを解析して利用する方法XMLベースのRSSフィードを解析して利用する方法Apr 16, 2025 am 12:05 AM

rssfeedsusexmltosyndicatecontent; parsingtheminvolvesloadingxml、navigating structure、and extractingdata.applicationsincludebuildingnewsaggretationsandtrackingpodcastepisodes。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!