XML с использованием XSL не будет выводить xml в Chrome / FF - PullRequest
0 голосов
/ 20 января 2012

Я не могу получить в отрисованной версии xsl ничего, кроме пустой белой страницы в Chrome / Firefox.Обе страницы живут в QuickBase (другими словами, я не проверяю это, используя локальные файлы, которые вызывали проблемы в этой теме ).

Если вы обращаетесь к данным xml и xsl по отдельности, они отображаются нормально.Тьфу, помоги!

<?xml version="1.0" ?>
<!-- Generated by QuickBase Jan  5 2012 15:49:19 -->
<!-- Created Fri, 20 Jan 2012 02:01:56 -0500 -->
<?xml-stylesheet type="text/xsl" href="bgfn9a4ns?act=DBpage&amp;pagename=test.xsl"?>
<document>
 <dbinfo>
  <name>Contacts</name>
  <desc></desc>
 </dbinfo>
 <variables>
 </variables>
 <chdbids>
 </chdbids>
 <record>
  <name>Bob</name>
  <update_id>1327024286746</update_id>
 </record>
 <record>
  <name>Joe</name>
  <update_id>1327024284265</update_id>
 </record>
 <record>
  <name>John</name>
  <update_id>1327024292753</update_id>
 </record>
 <record>
  <name>Nate</name>
  <update_id>1327024289819</update_id>
 </record>
</document>

А вот содержимое XSL:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" version="1.0"/>
 <xsl:template match="/">
  <test>
   <xsl:for-each select="document/record">
    <xsl:attribute name="person"><xsl:value-of select="name"/></xsl:attribute>
   </xsl:for-each>
  </test>
  <FOO>BAR</FOO>
 </xsl:template>
</xsl:stylesheet>

1 Ответ

1 голос
/ 20 января 2012

Браузеры делают то, что от них требуется, но в выводе вашей трансформации нет текста для отображения, который выглядит следующим образом

<?xml version="1.0" encoding="utf-8"?>
<test person="Nate"/>

Вы объявили один элемент <test> для вывода и выполняете цикл по всем элементам документа / записи, назначая атрибут person, равный элементу <name> из XML. Элемент не может иметь несколько атрибутов с одним и тем же именем, поэтому у него есть только один, равный найденной фамилии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...