none
При экспорте в XML не выгружается весь диапазон RRS feed

  • Вопрос

  • Добрый день,

    Подскажите пожалуйста в чем может быть проблема.

    Есть xml

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
                    <datasource jndi-name="jndi-name" pool-name="pool-name">
                        <connection-url>connection-url</connection-url>
                        <driver>oracle</driver>
                        <security>
                            <user-name>user-name</user-name>
                            <password>password</password>
                        </security>
                        <validation>
                            <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
                            <background-validation>true</background-validation>
                            <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
                            <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
                        </validation>
                    </datasource>

    на основании него был сделан xsd

    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <xsd:element name="background-validation" type="xsd:boolean"/>
        <xsd:element name="connection-url">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="connection-url"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:element>
        <xsd:element name="datasource">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="connection-url"/>
                    <xsd:element ref="driver"/>
                    <xsd:element ref="security"/>
                    <xsd:element ref="validation"/>
                </xsd:sequence>
                <xsd:attribute name="jndi-name" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="jndi-name"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
                <xsd:attribute name="pool-name" use="required">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="pool-name"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:attribute>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="driver">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="oracle"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:element>
        <xsd:element name="exception-sorter">
            <xsd:complexType>
                <xsd:attribute name="class-name" type="xsd:string" use="required"/>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="password">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="password"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:element>
        <xsd:element name="security">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="user-name"/>
                    <xsd:element ref="password"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="stale-connection-checker">
            <xsd:complexType>
                <xsd:attribute name="class-name" type="xsd:string" use="required"/>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="user-name">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="user-name"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:element>
        <xsd:element name="valid-connection-checker">
            <xsd:complexType>
                <xsd:attribute name="class-name" type="xsd:string" use="required"/>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="validation">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element ref="valid-connection-checker"/>
                    <xsd:element ref="background-validation"/>
                    <xsd:element ref="stale-connection-checker"/>
                    <xsd:element ref="exception-sorter"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:schema>

    При  загрузке его как карты XML в Excel и сопоставления элементов, при  экспорте, по шаблону выгружается только единичная строка которая была  выделена (при выделении всего столбца выгружается только верхняя строка или строка которую выделили отдельно)  вместо выгрузки всего диапазона.

    Как выгрузить весь диапазон (сформировать xml содержащий всё содержимое листа)?

    18 июля 2019 г. 20:35

Ответы

  • Нашел решение.

    Нужно импортировать сам xml, со структрой для содержания множества одинаковых записей,  что бы excel автоматически создавал карту.

    Пытаться создать таблицу и загрузить в неё xsd бессмысленно, работать не будет.

    • Предложено в качестве ответа Vector BCOModerator 30 июля 2019 г. 16:48
    • Помечено в качестве ответа Vovanexe 30 июля 2019 г. 16:57
    30 июля 2019 г. 16:42

Все ответы

  • Сейчас подумал что xsd сформирован неверно.

    Я переделал его в соответствии с образцом

    https://docs.microsoft.com/ru-ru/visualstudio/xml-tools/sample-xsd-file-simple-schema?view=vs-2019

    <?xml version="1.0" encoding="utf-8"?>
    < xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <xsd:element name="datasource">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="connection-url" type="xsd:string" />
            <xsd:element name="driver" type="xsd:string" />
            <xsd:element name="security">
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element name="user-name" type="xsd:string" />
                  <xsd:element name="password" type="xsd:string" />
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
            <xsd:element name="validation">
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element name="valid-connection-checker">
                    <xsd:complexType>
                      <xsd:attribute name="class-name" type="xsd:string" use="required" />
                    </xsd:complexType>
                  </xsd:element>
                  <xsd:element name="background-validation" type="xsd:boolean" />
                  <xsd:element name="stale-connection-checker">
                    <xsd:complexType>
                      <xsd:attribute name="class-name" type="xsd:string" use="required" />
                    </xsd:complexType>
                  </xsd:element>
                  <xsd:element name="exception-sorter">
                    <xsd:complexType>
                      <xsd:attribute name="class-name" type="xsd:string" use="required" />
                    </xsd:complexType>
                  </xsd:element>
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
          <xsd:attribute name="jndi-name" type="xsd:string" use="required" />
          <xsd:attribute name="pool-name" type="xsd:string" use="required" />
        </xsd:complexType>
      </xsd:element>
    < /xsd:schema>

    Но результат тот же

    19 июля 2019 г. 14:07
  • Кто-нибудь подскажет в чем дело?
    22 июля 2019 г. 6:56
  • Нашел решение.

    Нужно импортировать сам xml, со структрой для содержания множества одинаковых записей,  что бы excel автоматически создавал карту.

    Пытаться создать таблицу и загрузить в неё xsd бессмысленно, работать не будет.

    • Предложено в качестве ответа Vector BCOModerator 30 июля 2019 г. 16:48
    • Помечено в качестве ответа Vovanexe 30 июля 2019 г. 16:57
    30 июля 2019 г. 16:42