将'?oxy_comments'转换为xml标签

问题描述 投票:0回答:1

嘿!

有没有办法用 xslt 将 ?oxy_comment_start 转换为有效的 xml 标签(如

app></app>
)?

<?oxy_comment_start author="author" timestamp="today" comment="this: is a comment"?>THIS<?oxy_custom_end?>

我想要什么

<app>
   <lem>
       THIS
   </lem>
   <rdg> 
      this: is a comment 
   </rdg>
</app>

我有什么:

<xsl:template match="?oxy_comment_start">
    <app>
        <lem>
            <xsl:apply-templates/>
        </lem>
        <rdg>
            <xsl:apply-templates select="@*[local-name() !='comment']"/>            
        </rdg>
    </app>
</xsl:template>

  

我收到错误消息: “描述:无法将表达式 {.?oxy_comment_start} 转换为模式”

有谁知道这是否可能以及如何实现?

xml xslt oxygenxml tei
1个回答
0
投票

您拥有的是两个处理指令,它们之间有一个文本节点。

您可以使用类似以下内容解析第一个处理指令:

<xsl:template match="processing-instruction('oxy_comment_start')">
    <app>
        <lem>
            <xsl:value-of select="following-sibling::text()[1]"/>
        </lem>
        <rdg> 
            <xsl:value-of select="." />
        </rdg>
    </app>
</xsl:template>

这应该给你:

<app>
   <lem>THIS</lem>
   <rdg>author="author" timestamp="today" comment="this: is a comment"</rdg>
</app>

如何从内容中解析出注释取决于您使用的处理器。

© www.soinside.com 2019 - 2024. All rights reserved.