На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL
  
> Вопрос по XSLT (на входе 2 xml на выходе один) , 2 xml, 1 xsl (из одного берем данные из второго аттрибуты для элементов)
    Привет.Подскажите пожалуйста в решении одной задачи. Есть два файла xml и один xsl.
    Хочу сделать так, чтобы xsl брал данные и обрабатывал из одного файла, а атрибуты для элементов из другого.

    1) файл с данными content.xml
    ExpandedWrap disabled
      <?xml version="1.0" encoding="UTF-8"?>
      <info>
      <name>Firma</name>
      <adresse>Uliza Lenina</adresse>
      </info>



    2) файл с атрибутами atrib.xml
    ExpandedWrap disabled
      <?xml version="1.0" encoding="UTF-8"?>
      <styles>
      <font>Calibri</font>
      <size>12</size>
      </styles>




    2) файл xslt styles.xsl неудачная попытка

    ExpandedWrap disabled
      <?xml version="1.0" encoding="UTF-8"?>
      <xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
          
      <xsl:template match="info">
      <text font="document('atrib.xml')/styles/font"><xsl:value-of select="name"/></text>
      <format size="document('atrib.xml')/styles/size"><xsl:value-of select="adresse"/></format>
       
      </xsl:template>
      </xsl:stylesheet>



    3) на выходе получается:
    ExpandedWrap disabled
      <?xml version="1.0" encoding="UTF-16"?>
      <text font="document('a.xml')/styles/font">Firma</text>
      <format size="document('a.xml')/styles/size">Uliza Lenina</format>




    3.1) А хотелось бы:

    ExpandedWrap disabled
      <?xml version="1.0" encoding="UTF-16"?>
      <text font="Calibri">Firma</text>
      <format size="32">Uliza Lenina</format>



    Буду признателен за любую помощь!
    Зараннее спасибо
      Цитата wladst @

      Решение нашел, может кому пригодиться!
      1)файл с данными content.xml
      ExpandedWrap disabled
        <?xml version="1.0" encoding="UTF-8"?>
        <info>
        <name>Firma</name>
        <adresse>uliza Lenina</adresse>
        </info>

      2) файл с атрибутами atrib.xml
      ExpandedWrap disabled
        <?xml version="1.0" encoding="UTF-8"?>
        <styles>
        <font>Calibri</font>
        <size>12</size>
        </styles>

      3) файл xslt styles.xsl
      ExpandedWrap disabled
        <?xml version="1.0" encoding="UTF-8"?>
        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
            
        <xsl:template match="info">
        <text font="document('atrib.xml')/styles/font"><xsl:value-of select="name"/></text>
        <format size="document('atrib.xml')/styles/size"><xsl:value-of select="adresse"/></format>
         
        </xsl:template>
        </xsl:stylesheet>

      4) на выходе :
      ExpandedWrap disabled
        <?xml version="1.0" encoding="UTF-16"?>
        <text font="Calibri">Firma</text>
        <format size="12">uliza Lenina</format>
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0267 ]   [ 16 queries used ]   [ Generated: 28.03.24, 19:42 GMT ]