XSD для создания элемента с пространством имен в качестве префикса - PullRequest
0 голосов
/ 05 марта 2010

Я хочу создать XSD, который может генерировать следующий XML.

<note>
<email:to>abc@def.com</email:to>
<from>xyz@def.com</from>
</note>

Как написать определение элемента XSD для элемента.

<xsd:element name="note">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="email:to" type="xsd:string"/>
<xsd:element name="from" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

Здесь имя элемента «email: to» не проходит проверку.

Как я могу представить это в XSD?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 марта 2010

Хотелось бы добавить еще несколько точек. Элементы именования XML следуют тому же правилу, которое применяется для объявления переменных в любых языках программирования,

  • Символы, встречающиеся в имени элемента, могут быть любым буквенно-цифровым символом или подчеркиванием
  • Имя может начинаться с буквенного символа [цифры или _ не допускаются в качестве первого символа]
  • ВАЖНО : имена не могут быть шаблонными [или не могут начинаться с букв) xml или XML или Xml
  • Также пробелы не допускаются

Настолько постоянное, что, безусловно, приводит к ошибке валидации.

0 голосов
/ 05 марта 2010

Символ : в XML представляет синтаксис пространства имен XML , что не соответствует тому, что вы пытаетесь сделать. Вы не можете использовать этот символ в XML, если процессоры не интерпретируют его как пространство имен.

Вы можете рассмотреть возможность использования одного из двух вариантов:

<email to="abc@def.com"/>
<email><to>abc@def.com</to></email>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...