Я пытаюсь проверить следующий XML на соответствие схеме XSD.
XSD схема:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:m="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3.org/2005/Atom"
version="1.0" elementFormDefault="qualified"
xml:base="Mynamespace">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
<xsd:element name="feed">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id"/>
<xsd:element name="title"/>
<xsd:element name="updated"/>
<xsd:element name="author"/>
<xsd:element name="link"/>
<xsd:element name="entry" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id"/>
<xsd:element name="title"/>
<xsd:element name="updated"/>
<xsd:element name="category"/>
<xsd:element name="link"/>
<xsd:element name="content">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="m:properties" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Value1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Value1</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="12"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Value2" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Value2</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="12"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="type" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute ref="xml:base"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Проблема в том, что у меня есть элементы с именами «m: properties» и «d: value1». Но это не верное NCName в xsd. Так что мой xsd валидация не удалась.
У кого-нибудь есть идея, как проверять имена двоеточиями?
У меня нет возможности изменить содержимое XML. Я могу только изменить файл проверки xsd.
С уважением,
Бьёрн