OLD | NEW |
| (Empty) |
1 <!-- | |
2 Copyright 2016 The Chromium Authors. All rights reserved. | |
3 Use of this source code is governed by a BSD-style license that can be | |
4 found in the LICENSE file. | |
5 --> | |
6 <!-- | |
7 | |
8 Welcome to a document type declaration (DTD). | |
9 This is a document that makes sure XML files are correctly formed. | |
10 | |
11 Below, |request| is implied to be the root element of the XML document, whose | |
12 children are |os| and |app|. | |
13 --> | |
14 <!ELEMENT request (os, app)> | |
15 <!-- | |
16 | |
17 Below, this indicates that |protocol| is a required attribute of the | |
18 |request| element; the presence of `NMTOKEN` indicates that this attribute | |
19 must have a value associated with it that does not contain whitespace. `CDATA` | |
20 would be the more commonly used keyword for content with whitespace. | |
21 --> | |
22 <!ATTLIST request protocol NMTOKEN #REQUIRED> | |
23 <!-- | |
24 | |
25 The |os| element should not have any children and cannot have any content | |
26 within the tag. (<os/> and <os></os> are allowed, but <os>stuff here!</os> is | |
27 not a valid element.) | |
28 --> | |
29 <!ELEMENT os EMPTY> | |
30 <!-- | |
31 | |
32 This |platform| attribute is a required attribute of |os|, and its value must | |
33 be "mac". | |
34 --> | |
35 <!ATTLIST os platform (mac) #REQUIRED> | |
36 <!-- | |
37 | |
38 The |version|, |arch|, and |sp| attributes are optional attributes of |os|. If | |
39 a request's XML body has the |sp|, it may not need the version or arch; if the | |
40 |sp| is not included but |version| and |arch| are specified, the XML body is | |
41 still valid. Unfortunately there is relatively less logic available for | |
42 attributes, so I currently cannot reject the XML document if there is only | |
43 either |arch| or |version|. | |
44 --> | |
45 <!ATTLIST os version NMTOKEN #IMPLIED> | |
46 <!ATTLIST os arch NMTOKEN #IMPLIED> | |
47 <!ATTLIST os sp NMTOKEN #IMPLIED> | |
48 <!-- | |
49 | |
50 |app| has only one child, |updatecheck|. | |
51 --> | |
52 <!ELEMENT app (updatecheck)> | |
53 <!-- | |
54 | |
55 The |appid| attribute of the |app| element must have "com.google.Chrome" as | |
56 its value. | |
57 --> | |
58 <!ATTLIST app appid (com.google.Chrome) #REQUIRED> | |
59 <!-- | |
60 | |
61 The following two attributes are required; their values must not contain | |
62 whitespace. | |
63 --> | |
64 <!ATTLIST app version NMTOKEN #REQUIRED> | |
65 <!ATTLIST app lang NMTOKEN #REQUIRED> | |
66 <!-- | |
67 | |
68 |updatecheck| must be an empty element. | |
69 --> | |
70 <!ELEMENT updatecheck EMPTY> | |
OLD | NEW |