在我的XQuery中,我有存儲在變量$ d XML節點,如:添加文檔類型指令的XML節點的XQuery
<topic id="IL27TRM409WedNov1919274820081">
<title>Access Switch Failure</title>
<body>
and Reacting</i> feature of the <i>SMSC User Guide</i>.</p>
</body>
</topic>
我的問題是現在,因爲我需要添加三個處理指令包括上面文檔頂部的DocType聲明,目前結果文檔只是一個純XML節點。所以基本上我想添加以下三行:
<?xml version="1.0" encoding="UTF-8"?>
<?exist-serialize indent="no" output-doctype="yes"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
頂部。我試圖使用concat()
到$d
,但失敗了。我想知道這種顯式的XML內容操作在XQuery中是否可行,否則我認爲我必須對XSLT進行更改才能生成帶有處理指令的$d
。
你的第一行是一個XML聲明,第二行是一個處理指令,第三行是一個DOCTYPE聲明。三個中只有一個是處理指令。 – 2011-04-21 22:57:37
@邁克爾:這是否表明第一和第三行可以更直接地放? – Kevin 2011-04-22 14:44:15
不,相反。 XQuery 1.0有用於生成處理指令的語法。它沒有生成XML聲明或DOCTYPE聲明的語法。 – 2011-04-22 22:28:24