idnits 2.17.1
draft-wilde-home-xml-03.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
** There are 10 instances of too long lines in the document, the longest
one being 130 characters in excess of 72.
** The abstract seems to contain references ([2], [1]), which it shouldn't.
Please replace those with straight textual mentions of the documents in
question.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
-- The document date (February 12, 2014) is 3718 days in the past. Is this
intentional?
Checking references for intended status: Informational
----------------------------------------------------------------------------
== Outdated reference: A later version (-06) exists of
draft-nottingham-json-home-03
** Obsolete normative reference: RFC 3023 (Obsoleted by RFC 7303)
-- Obsolete informational reference (is this intentional?): RFC 6982
(Obsoleted by RFC 7942)
Summary: 3 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 Network Working Group E. Wilde
3 Internet-Draft UC Berkeley
4 Intended status: Informational February 12, 2014
5 Expires: August 16, 2014
7 Home Documents for HTTP Services: XML Syntax
8 draft-wilde-home-xml-03
10 Abstract
12 The current draft for HTTP Home Documents provides a JSON syntax
13 only. This draft provides an XML syntax for the same underlying data
14 model, so that the concept of HTTP Home Documents can be consistently
15 exposed in both JSON- and XML-based HTTP services.
17 Note to Readers
19 Please discuss this draft on the apps-discuss mailing list [1].
21 Online access to all versions and files is available on github [2].
23 Status of this Memo
25 This Internet-Draft is submitted in full conformance with the
26 provisions of BCP 78 and BCP 79.
28 Internet-Drafts are working documents of the Internet Engineering
29 Task Force (IETF). Note that other groups may also distribute
30 working documents as Internet-Drafts. The list of current Internet-
31 Drafts is at http://datatracker.ietf.org/drafts/current/.
33 Internet-Drafts are draft documents valid for a maximum of six months
34 and may be updated, replaced, or obsoleted by other documents at any
35 time. It is inappropriate to use Internet-Drafts as reference
36 material or to cite them other than as "work in progress."
38 This Internet-Draft will expire on August 16, 2014.
40 Copyright Notice
42 Copyright (c) 2014 IETF Trust and the persons identified as the
43 document authors. All rights reserved.
45 This document is subject to BCP 78 and the IETF Trust's Legal
46 Provisions Relating to IETF Documents
47 (http://trustee.ietf.org/license-info) in effect on the date of
48 publication of this document. Please review these documents
49 carefully, as they describe your rights and restrictions with respect
50 to this document. Code Components extracted from this document must
51 include Simplified BSD License text as described in Section 4.e of
52 the Trust Legal Provisions and are provided without warranty as
53 described in the Simplified BSD License.
55 Table of Contents
57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
58 2. XML Example . . . . . . . . . . . . . . . . . . . . . . . . . 3
59 3. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 4
60 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
61 4.1. Media Type application/home+xml . . . . . . . . . . . . . 6
62 5. Implementation Status . . . . . . . . . . . . . . . . . . . . 7
63 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
64 7. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 8
65 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 8
66 8.1. From -02 to -03 . . . . . . . . . . . . . . . . . . . . . 9
67 8.2. From -01 to -02 . . . . . . . . . . . . . . . . . . . . . 9
68 8.3. From -00 to -01 . . . . . . . . . . . . . . . . . . . . . 9
69 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
70 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9
71 9.2. Informative References . . . . . . . . . . . . . . . . . . 10
72 Appendix A. XML-to-HTML for Home Documents . . . . . . . . . . . 10
73 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12
75 1. Introduction
77 An Internet Draft currently under development
78 [I-D.nottingham-json-home] proposes the concept of "Home Documents
79 for HTTP APIs" and described them as follows:
81 "This document proposes a 'home document' format for non-browser HTTP
82 clients. [...] The goal of home documents is to serve as a starting
83 point for hypermedia APIs, where clients need to have an entry point,
84 and then can use the API by following links. Home documents thus
85 serve the same purpose as home pages on web sites: They are stable
86 entry points that provide starting points for clients with some
87 knowledge of the services linked from them."
89 While this general concept of a home document is independent of the
90 representation format, the current draft only defines a JSON syntax.
91 In order to make this concept available across representations, this
92 draft defines an XML syntax for the concepts defined in
93 [I-D.nottingham-json-home].
95 At this point it is undecided whether both drafts will be merged
96 eventually, or whether they will both be published as separate
97 documents. Regardless of the final publication setup, it should be
98 noted that this draft is only defining the XML syntax, whereas all
99 the concepts represented in this syntax are defined by
100 [I-D.nottingham-json-home].
102 One notable difference is the handling of links found in "href" or
103 "href-template" attributes on "resource" elements: In the JSON
104 syntax, these are (if they are relative URIs) resolved against the
105 URI of the home document itself. The XML syntax adds support for an
106 optional "xml:base" attribute [W3C.REC-xmlbase-20090128] on the
107 "resources" document element. If this attribute is present, it has
108 to be used according to its specification, and thus becomes part of a
109 possible resolution chain of relative URIs.
111 2. XML Example
113 The following Home Document in XML syntax uses the same data as the
114 Home Document shown in Section 2 of [I-D.nottingham-json-home] (but
115 adding xml:base="http://example.com" to demonstrate the mechanism):
117
118
119
120
121
122
123
124
125
126
127 GET
128 PUT
129 DELETE
130 PATCH
131
132
133 application/json
134
135
136 application/patch+json
137
138
139 application/xml
140
141
142 bytes
143
144
145
146
148 The mapping between JSON arrays and XML uses "item" elements ,
149 where each of those elements represents one array item. For
150 properties that have a single values (i.e., they are not defined as
151 an array of values), this value is directly contained as content in
152 the corresponding element.
154 Currently, the draft does not specify an extension model (how to
155 represents hints that are not specified in the draft itself), and
156 therefore the extension model for XML is currently undefined as well.
157 The XML syntax will be updated to reflect the extension model once it
158 has been specified for the JSON syntax.
160 3. XML Schema
162 The following XML Schema is describing the XML shown in Section 2.
163 Since there currently is no extension model, the XML Schema does
164 currently not contain any extension points.
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
246 4. IANA Considerations
248 This specification registers a media type for the XML syntax of Home
249 Documents (as defined in [I-D.nottingham-json-home]).
251 4.1. Media Type application/home+xml
253 The Internet media type [RFC6838] for a Home Document in XML syntax
254 is application/home+xml.
256 Type name: application
258 Subtype name: home+xml
259 Required parameters: none
261 Optional parameters: Same as charset parameter for the media type
262 "application/xml" as specified in RFC 3023 [RFC3023].
264 Encoding considerations: Same as encoding considerations of media
265 type "application/xml" as specified in RFC 3023 [RFC3023].
267 Security considerations: This media type has all of the security
268 considerations described in RFC 3023 [RFC3023] and
269 [I-D.nottingham-json-home].
271 Interoperability considerations: N/A
273 Published specification: RFC XXXX
275 Applications that use this media type: Applications that publish Home
276 Documents for HTTP services using XML syntax.
278 Additional information:
280 Magic number(s): N/A
282 File extension(s): XML documents should use ".xml" as the file
283 extension.
285 Macintosh file type code(s): TEXT
287 Person & email address to contact for further information: Erik Wilde
288
290 Intended usage: COMMON
292 Restrictions on usage: none
294 Author: Erik Wilde
296 Change controller: IETF
298 5. Implementation Status
300 Note to RFC Editor: Please remove this section before publication.
302 This section records the status of known implementations of the
303 protocol defined by this specification at the time of posting of this
304 Internet-Draft, and is based on a proposal described in RFC 6982
305 [RFC6982]. The description of implementations in this section is
306 intended to assist the IETF in its decision processes in progressing
307 drafts to RFCs. Please note that the listing of any individual
308 implementation here does not imply endorsement by the IETF.
309 Furthermore, no effort has been spent to verify the information
310 presented here that was supplied by IETF contributors. This is not
311 intended as, and must not be construed to be, a catalog of available
312 implementations or their features. Readers are advised to note that
313 other implementations may exist.
315 According to RFC 6982, "this will allow reviewers and working groups
316 to assign due consideration to documents that have the benefit of
317 running code, which may serve as evidence of valuable experimentation
318 and feedback that have made the implemented protocols more mature.
319 It is up to the individual working groups to use this information as
320 they see fit".
322 ...
324 6. Security Considerations
326 The general security considerations for XML home documents are the
327 same as those for JSON home documents, as described in the "Security
328 Considerations" of [I-D.nottingham-json-home]. The specific security
329 considerations introduced by XML as a representation format are
330 described in the "Security Considerations" of Section 4.1.
332 7. Open Issues
334 o The move from a predefined list of hints to a hint registry is not
335 yet reflected in the XML; in particular because the latest draft
336 defines the hint data model to be JSON-specific.
338 o What is the extension model for the XML syntax? Should processing
339 of other namespaces be defined as "should ignore", so that same-
340 namespace extensions are encouraged?
342 o Should the XML syntax provide support for embedded human-readable
343 documentation? This would probably not be supported in the JSON
344 syntax, but could be marked as strictly optional and XML-specific.
346 8. Change Log
348 Note to RFC Editor: Please remove this section before publication.
350 8.1. From -02 to -03
352 o Updated author address.
354 8.2. From -01 to -02
356 o Adding "Implementation Status" section according to RFC 6982
357 [RFC6982].
359 o Adding support for @xml:base on the "resources" document element.
361 8.3. From -00 to -01
363 o Updated references from draft-nottingham-json-home-02 to
364 draft-nottingham-json-home-03
366 o Added "Security Considerations" section.
368 o Added XSLT for transforming an XML Home Document to a simple HTML
369 representation.
371 9. References
373 9.1. Normative References
375 [I-D.nottingham-json-home]
376 Nottingham, M., "Home Documents for HTTP APIs",
377 draft-nottingham-json-home-03 (work in progress),
378 May 2013.
380 [RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media
381 Types", RFC 3023, January 2001.
383 [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
384 Specifications and Registration Procedures", BCP 13,
385 RFC 6838, January 2013.
387 [W3C.REC-xml-20081126]
388 Sperberg-McQueen, C., Yergeau, F., Paoli, J., Maler, E.,
389 and T. Bray, "Extensible Markup Language (XML) 1.0 (Fifth
390 Edition)", World Wide Web Consortium Recommendation REC-
391 xml-20081126, November 2008,
392 .
394 [W3C.REC-xmlbase-20090128]
395 Marsh, J. and R. Tobin, "XML Base (Second Edition)", World
396 Wide Web Consortium Recommendation REC-xmlbase-20090128,
397 January 2009,
398 .
400 9.2. Informative References
402 [RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running
403 Code: The Implementation Status Section", RFC 6982,
404 July 2013.
406 [W3C.REC-xml-stylesheet-20101028]
407 Pieters, S., Clark, J., and H. Thompson, "Associating
408 Style Sheets with XML documents 1.0 (Second Edition)",
409 World Wide Web Consortium Recommendation REC-xml-
410 stylesheet-20101028, October 2010,
411 .
413 [W3C.REC-xslt-19991116]
414 Clark, J., "XSL Transformations (XSLT) Version 1.0", World
415 Wide Web Consortium Recommendation REC-xslt-19991116,
416 November 1999,
417 .
419 URIs
421 [1]
423 [2]
425 Appendix A. XML-to-HTML for Home Documents
427 The following XSLT 1.0 stylesheet [W3C.REC-xslt-19991116] transforms
428 XML Home Documents to very simple HTML renditions. By associating
429 this stylesheet [W3C.REC-xml-stylesheet-20101028] with an XML Home
430 Document, it is possible to serve XML Home Documents that will be
431 rendered in a human-friendly way when viewed in a browser.
433
434
435
436
437
438 Home Document
439
440
441