2012-07-10 67 views
0

我cron.xml:
cron.xml - 验证错误

<?xml version="1.0" encoding="UTF-8"?> 
<cronentries> 
<cron> 
    <url>/myURL</url> 
    <description>Backup data 02 times per day</description> 
    <schedule>every 12 hours</schedule> 
    <timezone>America/New_York</timezone> 
    <target>ah-builtin-python-bundle</target> 
</cron> 
</cronentries> 

当我上传我的应用程序GAE,我得到一个错误信息:在发生

内部错误:“将应用程序部署到Google“。 XML 错误验证 /Users/Aptos/Documents/workspace/App/war/WEB-INF/cron.xml对 /Users/Aptos/appengine-java-sdk-1.7.0/docs/cron.xsd


cron.xsd文件:

http://code.google.com/p/googleappengine/source/browse/trunk/java/docs/cron.xsd?r=109

解决方案:如果url元素包含特殊的XML字符&,<,>,”或”,你应该逃避他们 。非常感谢

+0

的XML看起来有效,可以为您发布/Users/Aptos/appengine-java-sdk-1.7.0/docs/cron.xsd文件? – 2012-07-10 08:19:44

+0

@ShayErlichmen我已经添加cron.xsd文件作为你的请求 – Xitrum 2012-07-10 08:29:10

+2

如果你回答自己的问题,你可以添加它作为一个普通的答案,并接受它而不是编辑你的问题。它有助于可读性。 – 2012-07-12 10:37:11

回答

1

你有一个额外的标签:目标(最后一个标签),这个标签没有出现在XSD中。

1

至少在您链接到的文件中,cron元素中没有目标元素。
它看起来像你有一个旧的XSD文件的最新XSD像这样:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="cronentries" type="cronentries-Type"/> 

    <xs:complexType name="cronentries-Type"> 
    <xs:sequence> 
     <xs:element type="cron-Type" name="cron" maxOccurs="unbounded" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 

    <xs:complexType name="cron-Type"> 
    <xs:all> 
     <xs:element type="xs:string" name="url"/> 
     <xs:element type="xs:string" name="description" minOccurs="0"/> 
     <xs:element type="xs:string" name="schedule"/> 
     <xs:element type="xs:string" name="timezone" minOccurs="0"/> 
     <xs:element type="target-Type" name="target" minOccurs="0"/> 
    </xs:all> 
    </xs:complexType> 

    <xs:simpleType name="target-Type"> 
    <xs:restriction base="xs:string"> 
     <xs:pattern value="[a-z\d\-]{1,100}"/> 
    </xs:restriction> 
    </xs:simpleType> 

</xs:schema> 
+0

我已经将xsd文件更新为最新的文件,但错误仍然存​​在,我使用在线工具进行验证,并且它说我的根元素没有正确形成:( – Xitrum 2012-07-10 08:40:37

0

这些AppEngine上的配置文件的XSD文件是“namespaceless”(即没有目标名称与AppEngine上,web.xsd的XS比较:方案),所以你必须声明它是这样:

<?xml version="1.0" encoding="UTF-8"?> 
<cronentries xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="https://googleappengine.googlecode.com/svn-history/r109/trunk/java/docs/cron.xsd"> 
<cron> 
    <url>/myURL</url> 
    <description>Backup data 02 times per day</description> 
    <schedule>every 12 hours</schedule> 
    <timezone>America/New_York</timezone> 
    <target>ah-builtin-python-bundle</target> 
</cron> 
</cronentries> 

另外请注意,您必须使用文件的原始版本:

https://googleappengine.googlecode.com/svn-history/r109/trunk/java/docs/cron.xsd

,而不是浏览器版本:

https://code.google.com/p/googleappengine/source/browse/trunk/java/docs/cron.xsd?r=109