2013-06-04 5 views
0

Я новичок в XML, и мне нужно импортировать файл XML в Access или Excel 2010.несколько локальных схем для XML-файлов

Есть несколько схем, что файл должен ссылаться. Это то, что у меня есть до сих пор, и оно не работает. Может кто-нибудь указать мне в правильном направлении, пожалуйста, или я совершенно не прав?

<?xml version="1.0" encoding="utf-8"?> 
    <xs:schema xmlns="http://www.dcsf.gov.uk/schemas/cbds" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xsi:SchemaLocation="File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Schemas\SC13-CBDS-Standard-Header.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Schemas\SC13-Spring-PupilModule.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Schemas\SC13-Spring-SchoolModule.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Schemas\SchoolCensus13-Spring.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Includes\bs7666.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Includes\EstabNoType.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Includes\LEAtype.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Includes\PeopleTypes.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Includes\PupilTypes.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Includes\SC_Address_Structure.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Includes\UPNtype.XSD 
     File:\\ecsdcen2\Vol1\Groups\PIMD\Projects\ICYP%Projects\ICYP%-%School%Census\2013\January%2013\Source\School%Census\Includes\YearTypes.XSD"> 
    <Message> 
    <Name>School Census</Name> 
    <Header> 

ответ

0

У вас есть несколько вопросов.

  • Ваш XML не очень хорошо сформирован, поэтому невозможно точно знать, что вы намерены представлять структуру элементов документа. У вас нет конечного тега для xs:schema, и у вас есть конечный тег, но нет начального тега для header.

    Кроме того, вы используете, но не связываете префикс пространства имен xsi; этот префикс обычно связан с пространством имен экземпляра XSD. Если это обязательная привязка (она почти наверняка есть), вы хотите добавить следующее объявление пространства имен в корневой элемент вашего документа.

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    
  • xs:schema элемент используется для определения компонентов схем - не придавать информации о схеме в обычных случаях XML. Он определяется спецификацией XSD, и ни один из Message или header не является дочерним элементом любого действительного элемента xs: schema.

  • Связь между экземпляром XML и схемой может быть выражена с использованием атрибута xsi:schemaLocation (отметьте орфографию!). используется для указания для данного элемента XML, где схемы могут быть найдены для пространств имен, используемых в этом элементе.

  • Значение xsi:schemaLocation - это последовательность (имена пространства имен, схемы-документа-URI); ваше текущее значение представляется всего лишь списком путей файловой системы к документам схемы, ни один из них не является URI.

  • Кроме того, обычная практика заключается в одном документе схемы верхнего уровня для пространства имен - файла драйвера - для ссылки (прямо или косвенно) на все остальные для этого пространства имен. Ваш атрибут xsi:schemaLocation должен указывать на этот файл драйвера, а не на другие документы схемы для пространства имен. Так что я бы ожидать что-то подобное в вашем входе XML:

    <header xmlns="http://www.dcsf.gov.uk/schemas/cbds" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:SchemaLocation="http://www.dcsf.gov.uk/schemas/cbds 
        file:///ecsdcen2/Vol1/Groups/PIMD/Projects/ICYP%20Projects/ICYP%20-%20School%20Census/2013/January%202013/Source/School%20Census/Schemas/cbds-driver.xsd"> 
        ... 
    </header> 
    

Если ваша цель состоит в том, чтобы получить данные нашего из XML и в какой-нибудь другой форме, так же быстро, как вы можете, а затем получить все эти детали XML и XSD правильно (просто для получения данных OUT XML), вероятно, будет немного утомительным; Я бы нашел местного эксперта по XML/XSD и наложил на них бесплатные напитки, пока они не согласятся вам помочь.

+0

Спасибо, я связался с DfE, чтобы узнать, есть ли там кто-нибудь, кто мог бы мне помочь. Нет очевидного драйвера xsd, поэтому я попробую схватить парня, который его построил. –

Смежные вопросы