我正在编写自己的模板引擎,主要用于 Web 应用程序。
它实际上是我自己的 XML 标签和 HTML 的混合。
这是示例:
<lp:view xmlns:lp="http://sminit.com/view" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://sminit.com/view view.xsd ">
<lp:list name="my_items">
<lp:list_header>
<table>
</lp:list_header>
<lp:list_item>
<tr><td>$title$</td></tr>
</lp:list_item>
<lp:list_footer>
</table>
</lp:list_footer>
</lp:list>
</lp:view>
一点解释:那些以“lp”为前缀的标签属于我的模板引擎,是一种“处理指令”。lp:view 是一个根节点,然后有一个 lp:list 节点,它接收到一些数据源将生成一个列表:首先它将包含 lp:list_header 的内容,然后重复 lp:list_item 的内容(替换 $ title$ 由实际数据,但这里无所谓),那么它将添加 lp:list_footer 节点的内容。如您所见,出于这个原因,我的标签之间有 html 标签“表格”。
我在这里遇到了两个主要问题: 1. Eclipse 抱怨“表”没有正确关闭——我希望 Eclipse 停止抱怨,将此标签视为文本,或者——也许你可以提出一些建议?2. 如果我在任何 html 标签内,Eclipse 将不会显示任何代码提示。(代码提示:此标签可能使用的属性,如“class”或“id”等)
我知道我在问一个奇怪的怪问题,但也许这里有一些 XSD 大师可以指导我: Eclipse 应该将我的 xml 模板文件如下处理: 1. 以“lp”为前缀的标签是神!它们优先于其他任何东西。仅应显示来自该标签的错误(缺少必需的属性、缺少必需的子元素等)。2.所有其他标签(尖括号之间的任何东西)都是HTML标签。Eclipse 应该为它们显示代码提示,但如果有任何“不正确”的东西(如在我的示例中:没有关闭 /table 标记)——Eclipse 不应该抱怨。
我希望这是可能的。
谢谢!