Учебник GraphML описывает, как можно расширить схему GraphML, чтобы элемент data
поддерживал элементы SVG.Основываясь на этом уроке, я пытаюсь расширить схему сложным типом, который можно найти в файле OwnTypes.xsd
со следующим содержанием:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="/foo/bar">
<xs:complexType name="MyComplexType">
<xs:sequence>
<xs:element name="MyElement" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Файл GraphMLExtension.xsd
взят из связанного урокаи изменен так, чтобы элемент data
поддерживал мой комплексный тип MyComplexType
, показанный выше:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://graphml.graphdrawing.org/xmlns"
xmlns="http://graphml.graphdrawing.org/xmlns"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:own="/foo/bar"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
>
<xs:import schemaLocation="OwnTypes.xsd" namespace="/foo/bar" />
<xs:redefine
schemaLocation="http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<xs:complexType name="data-extension.type">
<xs:complexContent>
<xs:extension base="data-extension.type">
<xs:sequence>
<xs:element ref="own:MyComplexType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:redefine>
</xs:schema>
Я использую Liquid Studio 2018 в качестве редактора XML, и он отображает следующую ошибку для файла GraphMLExtension.xsd
:
C:\GraphMLExtension.xsd (20:25) Error
The <element> [MyComplexType], is of Type [/foo/bar:MyComplexType]. However [/foo/bar:MyComplexType] is not defined as a root item (either a <complexType>, <simpleType> or <element>), within this schema or any included or imported schemas.
В сообщении об ошибке говорится, что MyComplexType
- это
, не определенный как корневой элемент (complexType, simpleType или элемент)
но, как видно выше, это определенно сложный тип.Что я делаю не так?