1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 *   Licensed to the Apache Software Foundation (ASF) under one or more
12 *   contributor license agreements. See the NOTICE file distributed
13 *   with this work for additional information regarding copyright
14 *   ownership. The ASF licenses this file to you under the Apache
15 *   License, Version 2.0 (the "License"); you may not use this file
16 *   except in compliance with the License. You may obtain a copy of
17 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef __com_sun_star_rdf_XURI_idl__
21#define __com_sun_star_rdf_XURI_idl__
22
23#include <com/sun/star/rdf/XResource.idl>
24
25
26
27module com {   module sun {   module star {   module rdf {
28
29/** represents a URI node that may occur in a RDF graph.
30
31    <p>
32    Note that this is actually an IRI, but the RDF literature speaks of URIs
33    only, so we chose to use established terminology.
34    </p>
35
36    <p>
37    The URI is split into a Namespace and a LocalName,
38    using the first applicable of the following criteria:
39    <ol>
40    <li>after the first occurrence of the fragment separator: "#"</li>
41    <li>after the last occurrence of the path separator: "/"</li>
42    <li>after the last occurrence of the scheme separator: ":"</li>
43    </ol>
44    A URI without a ":" is invalid.
45    This implies that the Namespace part of a URI must not be empty, while
46    the LocalName part may be empty.
47    </p>
48
49    @since OOo 3.0
50
51    @see XRepository
52 */
53interface XURI : XResource
54{
55    /// prefix
56    [readonly, attribute] string Namespace;
57    /// suffix
58    [readonly, attribute] string LocalName;
59};
60
61
62}; }; }; };
63
64#endif
65
66/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
67