小编Mat*_*ens的帖子

使用XSLT将XML文件的一部分提取为纯文本

看起来这应该很容易,但......

我正在尝试使用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>
Run Code Online (Sandbox Code Playgroud)

...我正在尝试获取<body>标签中包含的文本及其所有子项.在这种情况下,所需的输出是:

THE TITLE
CHAPTER I
Some text.
Run Code Online (Sandbox Code Playgroud)

潜在并发症:<body>也可以存在于<front>物质和/或在<teiHeader>,所以我真正需要的是孩子们<body>当且仅当该标签是的子<text><TEI>.

我尝试过这样简单的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> …
Run Code Online (Sandbox Code Playgroud)

xml xslt

8
推荐指数
1
解决办法
7353
查看次数

标签 统计

xml ×1

xslt ×1