summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/xsd
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
commit940b4d1848e8c70ab7642901a68594e8016caffc (patch)
treeeb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /offapi/com/sun/star/xsd
parentInitial commit. (diff)
downloadlibreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.tar.xz
libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.zip
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/xsd')
-rw-r--r--offapi/com/sun/star/xsd/Boolean.idl42
-rw-r--r--offapi/com/sun/star/xsd/DataTypeClass.idl113
-rw-r--r--offapi/com/sun/star/xsd/Date.idl62
-rw-r--r--offapi/com/sun/star/xsd/DateTime.idl62
-rw-r--r--offapi/com/sun/star/xsd/Day.idl61
-rw-r--r--offapi/com/sun/star/xsd/Decimal.idl79
-rw-r--r--offapi/com/sun/star/xsd/Month.idl61
-rw-r--r--offapi/com/sun/star/xsd/String.idl62
-rw-r--r--offapi/com/sun/star/xsd/Time.idl62
-rw-r--r--offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl50
-rw-r--r--offapi/com/sun/star/xsd/XDataType.idl85
-rw-r--r--offapi/com/sun/star/xsd/Year.idl61
12 files changed, 800 insertions, 0 deletions
diff --git a/offapi/com/sun/star/xsd/Boolean.idl b/offapi/com/sun/star/xsd/Boolean.idl
new file mode 100644
index 000000000..fe0e6c030
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Boolean.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_Boolean_idl__
+#define __com_sun_star_xsd_Boolean_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#boolean">XSD compliant boolean type</a>
+*/
+service Boolean
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/DataTypeClass.idl b/offapi/com/sun/star/xsd/DataTypeClass.idl
new file mode 100644
index 000000000..1d5395614
--- /dev/null
+++ b/offapi/com/sun/star/xsd/DataTypeClass.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_xsd_DataTypeClass_idl__
+#define __com_sun_star_xsd_DataTypeClass_idl__
+
+
+module com { module sun { module star { module xsd {
+
+
+/** These constants specify the class used of an XDataType
+*/
+constants DataTypeClass
+{
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#string">XSD compliant string type</a>
+ */
+ const short STRING = 1;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#boolean">XSD compliant boolean type</a>
+ */
+ const short BOOLEAN = 2;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#decimal">XSD compliant decimal type</a>
+ */
+ const short DECIMAL = 3;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#float">XSD compliant float type</a>
+ */
+ const short FLOAT = 4;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#double">XSD compliant double type</a>
+ */
+ const short DOUBLE = 5;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#duration">XSD compliant duration type</a>
+ */
+ const short DURATION = 6;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#datetime">XSD compliant datetime type</a>
+ */
+ const short DATETIME = 7;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#time">XSD compliant time type</a>
+ */
+ const short TIME = 8;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#date">XSD compliant date type</a>
+ */
+ const short DATE = 9;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gYearMonth">XSD compliant gYearMonth type</a>
+ */
+ const short gYearMonth = 10;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gYear">XSD compliant gYear type</a>
+ */
+ const short gYear = 11;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gMonthDay">XSD compliant gMonthDay type</a>
+ */
+ const short gMonthDay = 12;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gDay">XSD compliant gDay type</a>
+ */
+ const short gDay = 13;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gMonth">XSD compliant gMonth type</a>
+ */
+ const short gMonth = 14;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#hexBinary">XSD compliant hexBinary type</a>
+ */
+ const short hexBinary = 15;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#base64Binary">XSD compliant base64Binary type</a>
+ */
+ const short base64Binary = 16;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">XSD compliant anyURI type</a>
+ */
+ const short anyURI = 17;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#QName">XSD compliant QName type</a>
+ */
+ const short QName = 18;
+
+ /** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#NOTATION">XSD compliant NOTATION type</a>
+ */
+ const short NOTATION = 19;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Date.idl b/offapi/com/sun/star/xsd/Date.idl
new file mode 100644
index 000000000..514a11313
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Date.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_Date_idl__
+#define __com_sun_star_xsd_Date_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+#include <com/sun/star/util/Date.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#date">XSD compliant date type</a>
+*/
+service Date
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] com::sun::star::util::Date MaxInclusiveDate;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] com::sun::star::util::Date MaxExclusiveDate;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] com::sun::star::util::Date MinInclusiveDate;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] com::sun::star::util::Date MinExclusiveDate;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/DateTime.idl b/offapi/com/sun/star/xsd/DateTime.idl
new file mode 100644
index 000000000..95fcc49da
--- /dev/null
+++ b/offapi/com/sun/star/xsd/DateTime.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_DateTime_idl__
+#define __com_sun_star_xsd_DateTime_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+#include <com/sun/star/util/DateTime.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#dateTime">XSD compliant dateTime type</a>
+*/
+service DateTime
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] com::sun::star::util::DateTime MaxInclusiveDateTime;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] com::sun::star::util::DateTime MaxExclusiveDateTime;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] com::sun::star::util::DateTime MinInclusiveDateTime;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] com::sun::star::util::DateTime MinExclusiveDateTime;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Day.idl b/offapi/com/sun/star/xsd/Day.idl
new file mode 100644
index 000000000..2f9812b94
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Day.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_Day_idl__
+#define __com_sun_star_xsd_Day_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gDay">XSD compliant gDay type</a>
+*/
+service Day
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] short MaxInclusiveInt;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] short MaxExclusiveInt;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] short MinInclusiveInt;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] short MinExclusiveInt;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Decimal.idl b/offapi/com/sun/star/xsd/Decimal.idl
new file mode 100644
index 000000000..049557189
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Decimal.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_Decimal_idl__
+#define __com_sun_star_xsd_Decimal_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#decimal">XSD compliant decimal type</a>
+*/
+service Decimal
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** totalDigits is the maximum number of digits in values of decimal data
+ types.
+
+ <p>The value of totalDigits must be a positive integer.</p>
+
+ <p>See <a href="http://www.w3.org/TR/xmlschema-2/#rf-totalDigits">http://www.w3.org/TR/xmlschema-2/#rf-totalDigits</a></p>
+ */
+ [property, maybevoid] long TotalDigits;
+
+ /** fractionDigits is the maximum number of digits in the fractional part of values of
+ decimal data
+
+ <p>The value of fractionDigits must be a non negative integer.</p>
+
+ <p>See <a href="http://www.w3.org/TR/xmlschema-2/#rf-fractionDigits">http://www.w3.org/TR/xmlschema-2/#rf-fractionDigits</a></p>
+ */
+ [property, maybevoid] long FractionDigits;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] double MaxInclusiveDouble;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] double MaxExclusiveDouble;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] double MinInclusiveDouble;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] double MinExclusiveDouble;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Month.idl b/offapi/com/sun/star/xsd/Month.idl
new file mode 100644
index 000000000..85d003dcc
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Month.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_Month_idl__
+#define __com_sun_star_xsd_Month_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gMonth">XSD compliant gMonth type</a>
+*/
+service Month
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] short MaxInclusiveInt;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] short MaxExclusiveInt;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] short MinInclusiveInt;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] short MinExclusiveInt;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/String.idl b/offapi/com/sun/star/xsd/String.idl
new file mode 100644
index 000000000..be706ea61
--- /dev/null
+++ b/offapi/com/sun/star/xsd/String.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_String_idl__
+#define __com_sun_star_xsd_String_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#string">XSD compliant string type</a>
+*/
+service String
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the length of the string
+
+ <p>Note that you cannot specify #Length together
+ with #MinLength or #MaxLength.</p>
+ */
+ [property, maybevoid] long Length;
+
+ /** specifies the minimum length of the string
+
+ <p>Note that you cannot specify #MinLength together
+ with #Length.</p>
+ */
+ [property, maybevoid] long MinLength;
+
+ /** specifies the maximum length of the string
+
+ <p>Note that you cannot specify #MaxLength together
+ with #Length.</p>
+ */
+ [property, maybevoid] long MaxLength;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Time.idl b/offapi/com/sun/star/xsd/Time.idl
new file mode 100644
index 000000000..5da39331d
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Time.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_Time_idl__
+#define __com_sun_star_xsd_Time_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+#include <com/sun/star/util/Time.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#time">XSD compliant time type</a>
+*/
+service Time
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] com::sun::star::util::Time MaxInclusiveTime;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] com::sun::star::util::Time MaxExclusiveTime;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] com::sun::star::util::Time MinInclusiveTime;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] com::sun::star::util::Time MinExclusiveTime;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl b/offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl
new file mode 100644
index 000000000..6d3cd3705
--- /dev/null
+++ b/offapi/com/sun/star/xsd/WhiteSpaceTreatment.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_WhiteSpaceTreatment_idl__
+#define __com_sun_star_xsd_WhiteSpaceTreatment_idl__
+
+module com { module sun { module star { module xsd {
+
+/** specifies possibilities how to treat whitespace in strings
+
+ @see XDataType
+*/
+constants WhiteSpaceTreatment
+{
+ /** White spaces should be preserved when processing the string
+ */
+ const short Preserve = 0;
+
+ /** White spaces should be replaced with TODO when processing the string
+ */
+ const short Replace = 1;
+
+ /** Multiple successive white spaces should be collapsed to a single white
+ space when processing the string
+ */
+ const short Collapse = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/XDataType.idl b/offapi/com/sun/star/xsd/XDataType.idl
new file mode 100644
index 000000000..40d13f65a
--- /dev/null
+++ b/offapi/com/sun/star/xsd/XDataType.idl
@@ -0,0 +1,85 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_XDataType_idl__
+#define __com_sun_star_xsd_XDataType_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/util/VetoException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#built-in-datatypes">XSD compliant simple data type</a>
+*/
+interface XDataType
+{
+ /** provides generic access to the instance properties
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** provides access to the name of the type
+ */
+ [attribute] string Name
+ {
+ set raises ( com::sun::star::util::VetoException );
+ };
+
+ /** specifies the pattern which strings conforming to this type comply to
+
+ <p>See <a href="http://www.w3.org/TR/xmlschema-2/#rf-pattern">http://www.w3.org/TR/xmlschema-2/#rf-pattern</a></p>
+ */
+ [attribute] string Pattern;
+
+ /** specifies how strings of this data type are to be processed, with respect to
+ white spaces
+
+ <p>See <a href="http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace">http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace</a></p>
+ */
+ [attribute] short WhiteSpaceTreatment
+ {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** specifies whether the type is a basic type
+
+ <p>Basic types are built into the type system, and cannot be changed by the user.</p>
+ */
+ [attribute, readonly] boolean IsBasic;
+
+ /** class of the type
+
+ @see DataTypeClass
+ */
+ [attribute, readonly] short TypeClass;
+
+ /// TODO
+ boolean validate( [in] string value );
+
+ /// TODO
+ string explainInvalid( [in] string value );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xsd/Year.idl b/offapi/com/sun/star/xsd/Year.idl
new file mode 100644
index 000000000..ec7a38f06
--- /dev/null
+++ b/offapi/com/sun/star/xsd/Year.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xsd_Year_idl__
+#define __com_sun_star_xsd_Year_idl__
+
+#include <com/sun/star/xsd/XDataType.idl>
+
+module com { module sun { module star { module xsd {
+
+/** specifies an <a href="http://www.w3.org/TR/xmlschema-2/#gYear">XSD compliant gYear type</a>
+*/
+service Year
+{
+ /** provides access to common data type functionality
+ */
+ interface XDataType;
+
+ /** specifies the inclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive
+ */
+ [property, maybevoid] short MaxInclusiveInt;
+
+ /** specifies the exclusive upper bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive
+ */
+ [property, maybevoid] short MaxExclusiveInt;
+
+ /** specifies the inclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minInclusive
+ */
+ [property, maybevoid] short MinInclusiveInt;
+
+ /** specifies the exclusive lower bound for the value
+ @see http://www.w3.org/TR/xmlschema-2/#rf-minExclusive
+ */
+ [property, maybevoid] short MinExclusiveInt;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */