Abrindo arquivos XML + XSD no Microsoft Excel 2013

2

Eu descobri que o Excel 2013 suporta a abertura, edição e salvamento de arquivos XML. Eu criei um arquivo XML + XSD que o Excel abre sem reclamações e erros. (Isto é, não indica que tem que criar esquema a partir da fonte de dados XML)

No entanto, o Excel ainda não respeita, e. restrições de configuração no arquivo .XSD. Existe alguma maneira de fazer o Excel fazer isso? (Eu sei que o Excel não é um editor de XML, então eu aceito totalmente se não for possível.)

arquivo data.xsd :

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.com" elementFormDefault="qualified">


<xs:element name="data">
<xs:complexType>
<xs:sequence>


<xs:element name="item" minOccurs="0" maxOccurs="unbounded">
  <xs:complexType>
    <xs:all>

      <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1">
      </xs:element>

      <xs:element name="type" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="header"/>
            <xs:enumeration value="normal"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="backgroundcolor" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="#[0-9A-Fa-f]+"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="fontcolor" minOccurs="0" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="#[0-9A-Fa-f]+"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>


    </xs:all>
  </xs:complexType>
</xs:element>


</xs:sequence>
</xs:complexType>
</xs:element>


</xs:schema>

arquivo test.xml :

<?xml version="1.0" encoding="UTF-8"?>
<j:data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://example.com data.xsd" xmlns:j="http://example.com">

        <j:item>
        <j:title>test title</j:title>
        <j:backgroundcolor>#aaf8941e</j:backgroundcolor>
        <j:fontcolor>#ffffff</j:fontcolor>
        <j:type>header</j:type>
        </j:item>

</j:data>
    
por Tom 15.06.2013 / 11:22

1 resposta

3

Primeiro, há certos atributos de tipo de dados XSD que não são suportados pelo Excel. Você pode ver uma lista completa aqui .

Para fazer com que o Excel associe seu XSD adequadamente com seu XML correspondente, parece que você terá que criar um mapa XML e, em seguida, mapear meticulosamente todos os elementos XML, conforme aqui .

Honestamente, aconselho-o a usar um editor XML adequado e poupar a dor de cabeça. :)

    
por 15.06.2013 / 19:20