2012-07-10 96 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