如何在内容节点内索引XML数据?

时间:2019-05-20 17:22:10

标签: ibm-watson watson-explorer

我正在转换XML文档,并想将全部内容转储到转换器的内容节点中。

<xsl:template match="/">
  <vce>
    <document>
      <content name="xml">
        <xsl:copy-of select="." />
      </content>
    </document>
  </vce>
</xsl:template>

这给了我一个名称为“ XML”的节点,其中包含我的整个xml内容。但是,在运行标准化转换器时将其删除。在内容中建立XML索引需要做些特别的事情吗?

1 个答案:

答案 0 :(得分:0)

我能够引用转换器:“ vse-converter-xml-to-vxml”以创建索引xml的模板:

<xsl:template match="/">

  <vce>
    <document>
      <content name="xml">
        <xsl:apply-templates select="*" mode="xml-to-plain-text" />
      </content>
    </document>
  </vce>
</xsl:template>

<xsl:template match="*" mode="xml-to-plain-text">
  <xsl:text><![CDATA[<]]></xsl:text>
  <xsl:value-of select="name()" />
  <xsl:text> </xsl:text>
  <xsl:choose>
    <xsl:when test="text()|*|comment()">
      <xsl:text>></xsl:text>
      <xsl:apply-templates select="text()|*|comment()" mode="xml-to-plain-text" />
      <xsl:text><![CDATA[</]]></xsl:text>
      <xsl:value-of select="name()" />
      <xsl:text>></xsl:text>
    </xsl:when>
    <xsl:otherwise>
      <xsl:text>/></xsl:text>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>