0

我正在尝试为我的自定义标签创建一个标签库。但是我在 Eclipse IDE 中遇到编译错误。这是我的 TagLib 描述:

<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd">
  <tlib-version>1.0</tlib-version>  
  <uri>MyFunction</uri>
  <function>
      <name>myFunc</name>
      <function-class>com.tldcls.MyClass</function-class>
      <function-signature>int age()</function-signature>
  </function> 
</taglib>

我在标签上收到编译错误。错误告诉:

cvc-complex-type.2.4.a: Invalid content was found starting with element 'uri'.

我无法弄清楚问题出在哪里。

4

3 回答 3

5

文件 (http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd) 中提到的 XSD 显示 taglib 元素具有以下子元素,按此顺序

  • tlib-version
  • short-name
  • uri
  • ...

不是可选的short-name,它应该是用于此标记库的建议前缀。

于 2012-07-29T13:21:34.483 回答
0

存在 XSD 版本错误。

您可以使用 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd "。

于 2014-05-31T10:15:50.780 回答
0

uri 的模式定义指向“anyURI”类型,

https://www.w3.org/TR/xmlschema-2/#anyURI

这指的是 XLink href 属性,该属性又指的是 RFC 2396,它反过来说 URI 如下所示,

<scheme>:<scheme-specific-part>
于 2016-04-07T21:06:19.327 回答