代码之家  ›  专栏  ›  技术社区  ›  Blake

将xml+xsd转换为xhtml

  •  1
  • Blake  · 技术社区  · 11 年前

    我正在尝试将带有xsd模式的xml转换为xhtml。

    所以在我的xml文件中,我有这样的内容:

    <shf:BookShelf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="BookShelf BookShelf.xsd"
            xmlns:shf="BookShelf"
            xmlns:bk="BookType"
            xmlns:cmn="CommonType">
       <shf:Book Category="Physics">
          <bk:Name></bk:Name>
          <bk:Author>
             <cmn:FirstName></cmn:FirstName>
             <cmn:FamilyName></cmn:FamilyName>
          </bk:Author>
          <bk:Pages></bk:Pages>
          <bk:Language></bk:Language>
          <cmn:Source></cmn:Source>
       </shf:Book>
    ...
    </shf:BookShelf>
    

    我知道仅从xml转换为xhtml要容易得多,但现在我已经 <shf:Book> ,如何在我的xsl中引用此条目?这是我在xsl中所做的,但不起作用:

    <xsl:for-each select="BookShelf/Book">
    <tr>
      <td><xsl:value-of select="Name"/></td>     
    </tr>
    </xsl:for-each>
    
    1 回复  |  直到 11 年前
        1
  •  1
  •   helderdarocha    11 年前

    您可以使用:

    <xsl:for-each select="shf:BookShelf/shf:Book">
        <tr>
             <td><xsl:value-of select="bk:Name"/></td>     
        </tr>
    </xsl:for-each>
    

    并在您的 <xsl:stylesheet> :

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" 
        xmlns:shf="BookShelf" xmlns:bk="BookType" xmlns:cmn="CommonType"> ...