我有一个带有多个RDF记录的RDF文档(总共约30000条记录)。文件创建者可能错误地在每条记录之前添加了XML标头。它看起来像这样:
<?xml version="1.0" ?>
<rdf:RDF>...</rdf:RDF>
<?xml version="1.0" ?>
<rdf:RDF>...</rdf:RDF>
<?xml version="1.0" ?>
<rdf:RDF>...</rdf:RDF>
我已经开发了一个XSLT crosswalk来将这个文档转换成不同的XML格式,但由于多个头文件它不起作用:
parser error : XML declaration allowed only at the start of the document
我的测试人行横道看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:oai="http://www.openarchives.org/OAI/2.0/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rss="http://my.netscape.com/rdf/simple/0.9/"
xmlns="http://ands.org.au/standards/rif-cs/registryObjects"
exclude-result-prefixes="xs xsi xsl oai rdf rss">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<OAI-PMH
xmlns="http://www.openarchives.org/OAI/2.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
<xsl:template match="/">
<xsl:apply-templates select="rdf:RDF/rss:Researcher" />
</xsl:template>
<xsl:template match="rdf:RDF/rss:Researcher">
<oai:Researcher>
<xsl:value-of select="rss:title" />
</oai:Researcher>
</xsl:template>
</OAI-PMH>
</xsl:stylesheet>
有可能以某种方式忽略这些标题吗?我使用xsltproc来应用人行横道。