Извлечь часть XML-файла в виде простого текста с помощью XSLT

Похоже, это должно быть легко, но ...

Я пытаюсь использовать XSLT для извлечения части XML файл как обычный текст, а все остальное выбросить.

Итак, из примера ввода вроде этого ...

<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="http://segonku.unl.edu/teianalytics/TEIAnalytics.rng"
                        type="xml"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" n="Wright2-0034.sgml.xml">
   <teiHeader type="text">
      <fileDesc>
         <titleStmt>
            <title>Header Title</title>
         </titleStmt>
         <publicationStmt>
            <p>Published</p>
         </publicationStmt>
         <sourceDesc>
            <p>Sourced</p>
         </sourceDesc>
      </fileDesc>
   </teiHeader>
   <text>
      <front>
      </front>
      <body>
         <head>THE TITLE</head>
         <div type="chapter" part="N" org="uniform" sample="complete">
            <head>CHAPTER I</head>
            <p>Some text.</p>
         </div>
      </body>
   </text>
</TEI>

... Я пытаюсь получить только текст, содержащийся в тегах и все их дети. В этом случае желаемый результат:

THE TITLE
CHAPTER I
Some text.

Возможное осложнение: также может существовать в папке и / или в ,так что мне действительно нужны дочерние элементы тогда и только тогда, когда этот тег является дочерним для и .

Я пробовал очень простой XSL вроде этого ...

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="text"/>
    <xsl:template match="/TEI/text/body">
        <xsl:apply-templates select="."/>
    </xsl:template>
</xsl:stylesheet>

... но он дает мне простой текст всего в файле, а не только элементы .

Спасибо !

8
задан Matthew Wilkens 17 June 2011 в 23:48
поделиться