Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / теряеться прифекс у аттрибутов .... / 3 сообщений из 3, страница 1 из 1
20.11.2007, 09:39
    #34950712
Чешков Антон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
теряеться прифекс у аттрибутов ....
есть документ xml
пытаюсь клонировать тег типа

<row ss:style="hello">
...
</row>

но при вставке теряються префиксы ss у атрибутов ((
...
Рейтинг: 0 / 0
20.11.2007, 09:42
    #34950720
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
теряеться прифекс у аттрибутов ....
Радуйся что вообще работает.
покаж чего делаешь. (xsl)
В теории вообще запрещено создавать атрибуты с префиксом. Тут надо извернутся чтоб они появились.
Ждемс код
...
Рейтинг: 0 / 0
20.11.2007, 10:14
    #34950823
Чешков Антон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
теряеться прифекс у аттрибутов ....
пишеться это дело на php 5.2.3

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
 $dom  = new DOMDocument('1.0','utf-8');
               

                
                $dom->preserveWhiteSpace = true;
                $dom->load('./application/public/reports_template/serial_avia.xml');
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns','urn:schemas-microsoft-com:office:spreadsheet'));
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns:ss','urn:schemas-microsoft-com:office:spreadsheet'));
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns:o','urn:schemas-microsoft-com:office:office'));
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns:x','urn:schemas-microsoft-com:office:excel'));
                $dom->documentElement->setAttributeNodeNS(new DOMAttr('xmlns:html','http://www.w3.org/TR/REC-html40'));
                $xpath = new DOMXPath($dom);
                $xpath->registerNamespace('xlmns','urn:schemas-microsoft-com:office:spreadsheet');
                $row = $xpath->query("//xlmns:Row[@table='TKP']");
                                 
                $parent = $row->item( 0 )->parentNode;
                $clone  = $row->item( 0 )->cloneNode(true);
                $dom->importNode($clone,true);
                $parent->insertBefore($clone,$row->item( 0 ));


                echo $dom->saveXML();

вот начало xml документа который подгружаю , немного свернул его для уменьшения

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:html="http://www.w3.org/TR/REC-html40">
 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
  <Author>Microsoft Corporation</Author>
  <LastAuthor>Antonio</LastAuthor>
  <LastPrinted> 2007 - 08 -03T05: 49 :10Z</LastPrinted>
  <Created> 1996 - 10 -08T23: 32 :33Z</Created>
  <LastSaved> 2007 - 11 -19T11: 40 :02Z</LastSaved>
  <Version> 11 . 5606 </Version>
 </DocumentProperties>

 <Worksheet ss:Name="ТКП">
  <Table ss:ExpandedColumnCount="19" ss:ExpandedRowCount="40" x:FullColumns="1"
   x:FullRows="1">
   <Column ss:AutoFitWidth="0" ss:Width="20.25"/>
   <Column ss:AutoFitWidth="0" ss:Width="28.5"/>
   <Column ss:AutoFitWidth="0" ss:Width="20.25"/>
   <Column ss:AutoFitWidth="0" ss:Width="75.75"/>
   <Column ss:AutoFitWidth="0" ss:Width="57"/>
   <Column ss:AutoFitWidth="0" ss:Width="79.5"/>
   <Row ss:Height="12" ss:StyleID="s50">
    <Cell ss:StyleID="s55"/>
    <Cell ss:StyleID="s55"/>
    <Cell ss:StyleID="s55"/>
    <Cell ss:StyleID="s56"/>
    <Cell ss:StyleID="s56"><Data ss:Type="String">                  Реестр</Data></Cell>
    <Cell ss:StyleID="s56"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
    <Cell ss:StyleID="s52"/>
   </Row>
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / теряеться прифекс у аттрибутов .... / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]