Страницы: 1
RSS
При экспорте в XML не выгружается весь диапазон.
 
Добрый день,

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

Есть 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&quot;&gt;
    <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 и сопоставления элементов, при  экспорте, по шаблону выгружается только единичная строка которая была  выделена (при выделении всего столбца выгружается только верхняя строка)  вместо выгрузки всего диапазона.

Как выгрузить весь диапазон?

 
Ни у кого нет мыслей?
 
Неправильная / плохая схема файла xsd.
Пример: https://docs.microsoft.com/ru-ru/visualstudio/xml-tools/sample-xsd-file-simple-schema?view=vs-2019
Используйте (например) XML Notepad 2007, чтобы увидеть, где находятся ошибки.
 
Сделал по образу и подобию. Все равно не работает. Подскажите пожалуйста, где я ошибся.
Код
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="[URL=http://www.w3.org/2001/XMLSchema">]http://www.w3.org/2001/XMLSchema&quot;&gt[/URL];
  <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>
Изменено: vgrafskov - 19.07.2019 11:04:27
 
Nordheim,  :D Ну как же вот )
Цитата
vgrafskov написал:
При  загрузке его как карты XML в Excel  выгружается только единичная строка которая была  выделена вместо выгрузки всего диапазона.
эксель же не распознаёт криво описаный xsd :D
 
Ну в visualS я могу использовать этот xsd, а excel он не нравится.

и распознаёт, и видит как карту, и при проверке карты говорит что все ОК.
Но выгружает только единичные значения.
Где ошибка во втором варианте?
 
Вопрос в том, что именно екселю не нравится в этом XSD.
 
Цитата
vgrafskov написал:
Сделал по образу и подобию ...
А может ли это быть так ?
Будет это у вас работать или нет ?
Код
<?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>
 
Что эти вопросы значат и зачем вы мне мой же код присылаете?

Я написал, что сделал xsd по тому образцу что вы прислали, но то, что у меня вышло всё равно не работает.
 
Это ваш код:
Код
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="[URL=http://www.w3.org/2001/XMLSchema">]http://www.w3.org/2001/XMLSchema">[/URL];
А это "мой" код:
Код
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
Разница небольшая, но есть.
Используйте XML Notepad 2007 или другие приложения, чтобы увидеть, где ошибки.
 
Кривая ссылка это форум так отобразил.
'ваш' код идентичен моему и он не работает.
Создавал в Notepad 2007  
 
Могли бы вы показать пример, состоящий из исходного файла (конечно данные фальшивые) и описания того, как вы сгенерировали XML-файл, а затем XSD-файл ?
Может тогда кто-то что-то с этим сделает ?
 
Представленный xml в самом начале этой темы и есть исходный.
xsd был сделан в Notepad 2007, по представленной вами примеру от Microsoft.
Таблицу которую нужно выгрузить можете сделать сами, что угодно в 8 столбцов и попробовать её выгрузить в xml использую эту карту xsd.
 
Цитата
vgrafskov написал:
Таблицу которую нужно выгрузить можете сделать сами,
Прикольно! А кому нужно решение?
 
Серьёзно?
Если это правда необходимо, то вот:
 
1111111111
2222222222
3333333333
4444444444
5555555555
6666666666
7777777777
8888888888
Страницы: 1
Наверх