XSLT, чтобы получить содержимое из файла XML ..? - PullRequest
0 голосов
/ 27 декабря 2011

Скажем, у меня есть XML, книга Полный справочник - Java .Теперь вместо того, чтобы писать содержание книги, я (а точнее каждый) хотел бы сгенерировать ее из тегов.Итак ..

Ниже приведена структура XML -

<Books>
  <Book>
   <Part n="1" h="The Java Language">
    <SubHead h="Basics">
     <Topic n="1" h="The History and Evolution of Java">
     .....
     </Topic>
     <Topic n="2" h="An overview of Java">
     .....
     </Topic>
     <Topic n="3" h="Data Types, Variables, and Arrays">
     .....
     </Topic>
    </SubHead>
    <SubHead h="Intermediate">
     <Topic n="4" h="Operators">
     .....
     </Topic>
     <Topic n="5" h="Control Statements">
     .....
     </Topic>
     <Topic n="6" h="Looping">
     .....
     </Topic>
    </SubHead>
   </Part>
   <Part n="2" h="OOPS">
    <SubHead h="Basics">
     <Topic n="7" h="Introduction to Classes">
     .....
     </Topic>
     <Topic n="8" h="Inheritance">
     .....
     </Topic>
    </SubHead>
    <SubHead h="Intermediate">
     <Topic n="8" h="Packages and Interfaces">
     .....
     </Topic>
     <Topic n="9" h="Exception Handling">
     .....
     </Topic>
    </SubHead>
   </Part>
 </Book>
</Books>

Пунктирные линии означают содержание книги.Теперь как получить следующий вывод в HTML вместе с подробным описанием содержимого тега темы.Я хочу сказать, что я ищу раздел «Содержание» любой книги.

Part 1 - The Java Language
   Basics
      1. The History and Evolution of Java
      2. An overview of Java
      3. Data Types, Variable, and Arrays
   Intermediate
      4. Operators
      5. Control Statements
      6. Looping
Part 2 - OOPS
   Basics
      7. Introduction to Classes
      8. Inheritance
   Intermediate
      9. Packages and Interfaces
      10. Exception Handling

1 Ответ

1 голос
/ 27 декабря 2011

После Xsl вы получите запрашиваемые выходные данные:

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html"/>

    <xsl:template match="Book" >
        <xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="Part" >
        Part <xsl:value-of select="@n"/> - <xsl:value-of select="@h"/>
        <xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="SubHead">
        <xsl:value-of select="@h"/>
        <xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="Topic" >
        <xsl:value-of select="@n"/>. <xsl:value-of select="@h"/>
    </xsl:template>
</xsl:stylesheet>

Вывод будет:

Part 1 - The Java Language
        Basics
            1. The History and Evolution of Java
            2. An overview of Java
            3. Data Types, Variables, and Arrays

        Intermediate
            4. Operators
            5. Control Statements
            6. Looping



Part 2 - OOPS
        Basics
            7. Introduction to Classes
            8. Inheritance

        Intermediate
            8. Packages and Interfaces
            9. Exception Handling
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...