0

我可以使用以下方法使用 DTD 实体声明替换 xml 属性值

//in DTD
<!ENTITY varchar "VARCHAR(200)">
// In xml 
<column name="attachment_url" type="&varchar;"/>

现在我想替换一个 xml 标签

<column name="attachment_url" type="VARCHAR(200)"/>

使用 DTD 实体。

我试着喜欢 <!ENTITY full_coulumn "&lt;column name=&quot;attachment_url&quot; type=&quot;VARCHAR(200)&quot;/&gt;">

然后我得到一个错误

 Unexpected column with text: <column name="attachment_url" type="VARCHAR(200)
"/>

是否可以用 dtd 实体替换整个 xml 标记?我怎样才能做到这一点?

我正在尝试使用 liquibase xml 文件来执行此操作。

4

1 回答 1

1

不要在实体声明中转义标记;通过这样做,您向处理器发出信号,表明实体的替换文本是字符串,而不是标记。你想要的是:

<!ENTITY full_column "<column name='attachment_url' 
                      type='VARCHAR(200)' />">
于 2013-01-23T08:08:20.723 回答