我有一个如下的xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE concept SYSTEM "aimlDomain.dtd">
<?xml-stylesheet type="text/xsl" href="aimlTest.xsl"?>
<concept>
<category>
<pattern>_ TOPIC ELEMENT ATTRIBUTE</pattern>
<template><srai>REQUIRED TOPIC AND MAP ELEMENT ATTRIBUTES</srai>
</template>
</category>
<category>
<pattern>TOPIC ELEMENT ATTRIBUTE _</pattern>
<template><srai>REQUIRED TOPIC AND MAP ELEMENT ATTRIBUTES</srai>
</template>
</category>
</concept>
元素类别是我用元素特化添加的新域,它是从外部元素特化的。我想将文件转换为aiml,一种新的transformtype。预期的输出应该是这样的:
` <?xml version="1.0" encoding="utf-8"?>
<category>
<pattern>_ TOPIC ELEMENT ATTRIBUTE</pattern>
<template><srai>REQUIRED TOPIC AND MAP ELEMENT ATTRIBUTES</srai>
</template>
</category>`
但是文件中除了声明之外什么都没有。实际输出如下:
<?xml version="1.0" encoding="UTF-8"?>
这是我的aimlTest.xsl:</p>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="*[contains(@class, ' topic/topic topic/concept ')]">
<xsl:for-each select="*[contains(@class, ' topic/foreign category-d/category
')]">
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我想知道如何选择预期的内容。