Я дал локальное имя элемента или атрибута и схему для документа. Какой самый простой способ определить базовый тип данных элемента или атрибута. Под базовым типом данных я подразумеваю xs: string, xs: date и т. Д. (Встроенные типы данных для схемы xml.)
Одна из проблем, с которыми я сталкиваюсь, заключается в том, что тип элементов редко является одним из базовых встроенных типов. В 99% случаев это сложный тип, который в 50% случаев относится к другому сложному типу, который относится к другому сложному типу и т. Д.
Простой пример этой схемы: я хочу найти базовый тип для Employee / Person / Name / LastName (определите, что LastName - xs: normalizedString).
В схеме Employee определяется как элемент xs: element и type = "bns: EmployeeType"
В EmplyeeType определен элемент Person, но это тип «PersonType», а затем «Name in person» - это NameType, который представляет собой сложный тип, который расширяет тип GeneralName, который является типом BasicNameType, и этот тип, наконец, определяет LastName, который имеет тип «LastNameType» и так далее. Там также определения и т. Д.
В настоящее время я пишу парсер с использованием linq-to-xml, но это не просто и не красиво. Я искал другие решения и не нашел ни одного, но полностью признаю свое незнание XML / schema / XPath.
Есть ли простой способ получить базовый тип для элементов?