Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用xslt将xml目录转换为html_Html_Xml_Xslt - Fatal编程技术网

使用xslt将xml目录转换为html

使用xslt将xml目录转换为html,html,xml,xslt,Html,Xml,Xslt,我的目标是将xml目录转换为html。xml模式和xml文件格式良好且有效 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com" xmlns="http://www.w3schools.com" elementFormDefault="q

我的目标是将xml目录转换为html。xml模式和xml文件格式良好且有效

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.w3schools.com"
    xmlns="http://www.w3schools.com"
    elementFormDefault="qualified">


<xs:element name="catalog"/>

<xs:complexType name="textint">
    <xs:sequence>
        <xs:element name="s" type="xs:string"/>
        <xs:element name="i" type="xs:int"/>
        <xs:element name="s" type="xs:string"/>
    </xs:sequence>
</xs:complexType>


<xs:complexType mixed="true" name="inttext">
    <xs:sequence>
        <xs:element name="i" type="xs:int"/>
        <xs:element name="s" type="xs:string"/>
        <xs:element name="i" type="xs:int"/>
        <xs:element name="s" type="xs:string"/>
    </xs:sequence>
</xs:complexType>




<xs:element name="Qstr">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="text" type="xs:string"/>
            <xs:element name="a" type="xs:string"/>
            <xs:element name="b" type="xs:string"/>
            <xs:element name="c" type="xs:string"/>
            <xs:element name="d" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>





<xs:element name="Qfl">
    <xs:complexType mixed="true">
        <xs:sequence>
            <xs:element name="text" type="textint"/>
            <xs:element name="a" type="xs:int"/>
            <xs:element name="b" type="xs:decimal"/>
            <xs:element name="c" type="xs:int"/>
            <xs:element name="d" type="xs:int"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>




<xs:element name="Qinttext">
    <xs:complexType mixed="true">
        <xs:sequence>
            <xs:element name="text" type="inttext"/>
            <xs:element name="a" type="xs:int"/>
            <xs:element name="b" type="xs:int"/>
            <xs:element name="c" type="xs:int"/>
            <xs:element name="d" type="xs:int"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>




<xs:element name="Qtextint">
    <xs:complexType mixed="true">
        <xs:sequence>   
            <xs:element name="text" type="xs:string"/>
            <xs:element name="a" type="textint"/>
            <xs:element name="b" type="xs:string"/>
            <xs:element name="c" type="xs:string"/>
            <xs:element name="d" type="textint"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>



</xs:schema>


在Unix系统中是否可以使用网络通信机制?
插座
消息队列
管
信号量
意大利之音:
Rom
雅典娜
波恩
马德里
Wurzel von 100 ist的模具:
10
2.76
5.
1.
1 + 1 = ? 
2.
1.
3.
4.
斯宾宁。。。
…哈本8贝恩
…sind Insekten
…辛德·沃格尔
…werden bis zu 100 Jahre alt
斯潘尼恩·霍普施塔特:
马德里
巴塞罗那
Rom
伦敦
接下来,我创建了一个xsl样式表:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" />

  <xsl:template match="/">

<html>

  <head>

   <title>Simple Quiz</title>

  </head>

  <body>

<xsl:for-each select="catalog/Qstr">

<table border="1">
    <tr bgcolor="orange">
      <th>Frage</th>
    </tr>
    <tr>
      <td><xsl:value-of select="text"/></td>
    </tr>
    <tr bgcolor="orange">
      <th>Antwortmöglichkeiten</th>
    </tr>
    <tr>
      <td><xsl:value-of select="a"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="b"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="c"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="d"/></td>
    </tr>


  </table>
</xsl:for-each>


<xsl:for-each select="catalog/Qfl">

<table border="1">
    <tr bgcolor="orange">
      <th>Frage</th>
    </tr>
    <tr>
      <td><xsl:value-of select="text"/></td>
    </tr>
    <tr bgcolor="orange">
      <th>Antwortmöglichkeiten</th>
    </tr>
    <tr>
      <td><xsl:value-of select="a"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="b"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="c"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="d"/></td>
    </tr>


  </table>
</xsl:for-each>


<xsl:for-each select="catalog/Qinttext">

<table border="1">
    <tr bgcolor="orange">
      <th>Frage</th>
    </tr>
    <tr>
      <td><xsl:value-of select="text"/></td>
    </tr>
    <tr bgcolor="orange">
      <th>Antwortmöglichkeiten</th>
    </tr>
    <tr>
      <td><xsl:value-of select="a"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="b"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="c"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="d"/></td>
    </tr>


  </table>
</xsl:for-each>


<xsl:for-each select="catalog/Qtextint">

<table border="1">
    <tr bgcolor="orange">
      <th>Frage</th>
    </tr>
    <tr>
      <td><xsl:value-of select="text"/></td>
    </tr>
    <tr bgcolor="orange">
      <th>Antwortmöglichkeiten</th>
    </tr>
    <tr>
      <td><xsl:value-of select="a"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="b"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="c"/></td>
    </tr>
    <tr>
      <td><xsl:value-of select="d"/></td>
    </tr>


  </table>
</xsl:for-each>

  </body>

 </html>

  </xsl:template>

</xsl:stylesheet>

简单测验
磨损
安特沃特姆·格利奇凯滕
磨损
安特沃特姆·格利奇凯滕
磨损
安特沃特姆·格利奇凯滕
磨损
安特沃特姆·格利奇凯滕
当我使用ubuntu时,我选择了氧气进行xml编辑。转换成功,但我的html中没有显示任何内容。我想我的问题与xml模式有关。使用Rad Lexus解决方案后,问题仍然存在。

您的线路
已经将活动路径指向
/catalog/Qstr/
。因此,对于每个,您不能在
中重复它作为
。。选择=“catalog/Qstr/a”
–然后累积路径变为

/catalog/Qstr/catalog/Qstr/a
使用这一点就足够了:

<td><xsl:value-of select="text" /></td>


(你的另一个
值也一样)。

非常感谢你的帮助。这个模式在很大程度上与此无关。查找命名空间-例如:
<td><xsl:value-of select="text" /></td>