Мне нужно отобразить XSD-файлы в виде дерева. Я уже нашел одно решение для этого здесь !, но это просто отображает все узлы в файле в порядке их появления.
Мне нужно отобразить их в том порядке, в котором они отображаются в файле XML, и вложены в элементы, под которыми они будут вложены в файл XML:
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<xs:element name="pets">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="cat"/>
<xs:element ref="dog"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
будет отображаться так:
-Pets
-Dogs
-Cats
Как мне определить корневой узел? Я думаю, что как только я получу, я смогу пройтись по каждому типу в корневом элементе, чтобы найти его имя.
Я смотрю на это XSD специально !. Должен ли я начать с элемента под названием «Документ»? Он содержит 2 элемента верхнего уровня в этом типе файла - GrpHdr и OrgnlGrpInfAndSts.
Это стандартный способ решения таких проблем?