-1

私は明日テストを書いているので、XML について少し学ばなければなりません。XML スキーマを取得したので、適切な XML ファイルを作成する必要があります。

指定されたスキーマ:

<schema> 
<element name="meta" type="metaType"/> 
<complexType name="metaType"> 
  <sequence> 
    <element name="title" type="string" minOccurs="1" maxOccurs="1"/> 
    <element name="authors" type="authorsType"/> 
    <element name="description" type="languageEntryType"/> 
    <element name="keywords" type="languageEntryType"/> 
  </sequence> 
</complexType> 
<complexType name="authorsType"> 
  <sequence> 
    <element name="name" type="string" minOccurs="1" maxOccurs="unbounded"/> 
  </sequence> 
</complexType> 
<complexType name="languageEntryType"> 
  <sequence> 
    <element name="entry" type="string" minOccurs="1" maxOccurs="unbounded"> 
      <complexType> 
        <attribute name="language"/> 
      </complexType> 
    </element> 
  </sequence> 
</complexType> 
</schema> 

私のソリューションは次のようになります。

<meta>
  <title>Sonne</title>
  <authors>Rammstein</authors>
  <description>Second Track on the Album "Mutter"</description>
  <keywords>hard rock</keywords>
  <keywords>metal</keywords>
</meta>

これぐらいでいいの?属性は何のためのものですか、気にする必要がありますか? 助けてくれてありがとう!

//編集: もう少し調査を行った結果、次のように推測されます。

<meta>
  <title>Sonne</title>
  <authors>Rammstein</authors>
  <description>Second Track on the Album "Mutter"</description>
  <keywords language="english">hard rock</keywords>
  <keywords language="english">metal</keywords>
</meta>
4

1 に答える 1

0

XML ドキュメントが特定のスキーマに準拠しているかどうかを確認する最善の方法は、XML エディターまたはツールを使用してそのスキーマに対して検証することです。これは、まさにそのような演習に使用できる無料のオンライン ツールです

スキーマを簡単にチェックすると、最初の問題は xml-schema が有効ではないため、ドキュメントがそれに対して検証できないことです。名前空間を追加しましたが、これはまだ不完全であり、ドキュメントがそれに対して有効かどうかを判断するには、これを修正する必要があります。

ここまで修正できましたが、スキーマはまだエラーだらけです。多くの修正がなければ、このスキーマに準拠するドキュメントはありません。

  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>  
    <xs:element name="meta" type="metaType"/> 
    <xs:complexType name="metaType"> 
      <xs:sequence> 
        <xs:element name="title" type="xs:string" minOccurs="1" maxOccurs="1"/> 
        <xs:element name="authors" type="authorsType"/> 
        <xs:element name="description" type="languageEntryType"/> 
        <xs:element name="keywords" type="languageEntryType"/> 
      </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="authorsType"> 
      <xs:sequence> 
        <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="unbounded"/> 
      </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="languageEntryType"> 
      <xs:sequence> 
        <xs:element name="entry" minOccurs="1" maxOccurs="unbounded"> 
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="language" type="xs:string"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element> 
      </xs:sequence> 
    </xs:complexType> 
  </xs:schema>
于 2013-09-18T23:05:54.267 に答える