XSD. Разница между xsd:element и xs: element?

#xsd #xjc

#xsd #xjc

Вопрос:

Я читаю статьи XSD о w3schools и здесь много примеров. Например, это:

 <?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>
  

Но после того, как я попытался вставить этот .xsd файл xjc — я вижу журнал ошибок, купол, подобный этому:

 The prefix "xs" for element "xs:schema" is not bound...
  

Но все работает правильно, когда я меняю xs xsd префикс.

Итак, может кто-нибудь, разъяснить мне, в чем разница между xs и xsd ?

Может быть, один префикс — это старая версия, а другой — для новой версии…

Ответ №1:

xs и xsd — это XML-префиксы, используемые с полными именами; каждый префикс должен быть связан с пространством имен. Ассоциация выполняется с помощью атрибута, который выглядит как xmlns:xs=»…». xs и xsd наиболее распространены для документов схемы XML.

Если вы выберете s или ns1, это не должно иметь никакого значения для любого инструмента для вашего сценария.

Ошибка вызвана не вашим файлом схемы XML. Я подозреваю, что в вашей настройке может быть что-то еще, возможно, пользовательский файл привязки. Пожалуйста, проверьте это или опубликуйте дополнительную информацию.