我有两个xsd文件来验证xml.但问题是我的代码只需要一个xsd.如何在以下代码中使用其他xsd?我不知道我应该在哪里放置/调用第二个xsd文件.
private void validate(File xmlF,File xsd1,File xsd2) {
try {
url = new URL(xsd.toURI().toString());// xsd1
} catch (MalformedURLException e) {
e.printStackTrace();
}
source = new StreamSource(xml); // xml
try {
System.out.println(url);
schema = schemaFactory.newSchema(url);
} catch (SAXException e) {
e.printStackTrace();
}
validator = schema.newValidator();
System.out.println(xml);
try {
validator.validate(source);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud) 我不明白Java的这个特性.我知道它使编码更容易,有时看起来更整洁,但实际使用的是什么?相反,我觉得,最好显示警告,因为将来任何人都可以在修改代码之前引用它们.这个@SuppressWarnings是否会提高压缩效率,还是根据任何编码标准?
我有一个元素A,它可以是简单的元素,也可以是动态创建的复杂元素.
示例xml在这里:
<A>john</A>
<A>
<B>kathy</B>
<C> bat </C>
</A>
Run Code Online (Sandbox Code Playgroud)
我的xsd是这样的:
<xsd:element name="A">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:sequence>
<xsd:element name="B" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="C" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)
但在这里我面临一个例外,它说:
元素'A'不能包含字符[children],因为类型的内容类型仅为元素
我有以下JSP代码:
<c:forEach items="${requestScope.XX}" var="x">
<tr>
<td><input type="radio" value="${x.xID}" name="x"></td>
<td> ${x.name}</td>
</tr>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
每当用户点击单选按钮时,我需要同时使用x.xID'x.name'并在Javascript中验证.
如何将所选值传递给Javascript?
我尝试使用onClick函数,但值没有传递给Javascript.
function validate(y) {
alert(y.value);
}
Run Code Online (Sandbox Code Playgroud) 我有一个在Tomcat 7中运行的Web应用程序.当我在我的应用程序/ WebContent/WEB-INF/lib中放置tomcat默认库(jsp-api.jar,servlet-api.jar等)时,它会引发异常: java.lang.IllegalStateException: No org.apache.tomcat.InstanceManager set in ServletContext
当我从我的lib中删除这些jar并在build.xml中设置tomcat lib时,它工作正常.任何人都可以向我解释为什么会这样吗?为什么我不能在我的lib文件夹中使用tomcat库?
我有这样的SQL查询:
SELECT Code
FROM xyz
WHERE xyz.Code IN ('20','10') AND price =
(select min(price) FROM xyz WHERE CODE IN ('20','10'));
Run Code Online (Sandbox Code Playgroud)
查询后所需的输出:10
表xyz: -
价格:1 2 1
代码:10 20 30
有没有更好的方法来编写这个sql语句?因为在我的sql语句中"WHERE CODE IN('20','10')"重复两次,我试图避免两次调用此语句
java ×4
jsp ×2
validation ×2
xml ×2
annotations ×1
javascript ×1
jstl ×1
mysql ×1
servlets ×1
sql ×1
tomcat ×1
tomcat7 ×1
xsd ×1