17 #ifndef ZORBA_ITEM_FACTORY_API_H
18 #define ZORBA_ITEM_FACTORY_API_H
23 #include <zorba/config.h>
52 createString(
const String& aString) = 0;
65 createStreamableString( std::istream &stream,
67 bool seekable =
false ) = 0;
76 createAnyURI(
const String& aURI) = 0;
88 createQName(
const String& aNamespace,
const String& aPrefix,
89 const String& aLocalname) = 0;
99 createQName(
const String& aNamespace,
const String& aLocalname) = 0;
111 createQName(
const String& aQNameString) = 0;
120 createNCName(
const String& aValue) = 0;
131 createBase64Binary(
const char* aBinData,
size_t aLength) = 0;
140 createBase64Binary(std::istream& aStream) = 0;
150 createBase64Binary(
const unsigned char* aBinData,
size_t aLength) = 0;
165 createStreamableBase64Binary(
166 std::istream &stream,
168 bool seekable =
false,
169 bool encoded =
false) = 0;
178 createBoolean(
bool aValue) = 0;
187 createDecimalFromLong (
unsigned long aValue) = 0;
196 createDecimalFromDouble (
double aValue) = 0;
205 createDecimal (
const String& aValue) = 0;
214 createInteger(
long long aInteger) = 0;
223 createInteger(
const String& aInteger) = 0;
232 createLong (
long long aLong ) = 0;
241 createInt (
int aInt ) = 0;
250 createShort (
short aShort ) = 0;
259 createByte (
char aByte ) = 0;
268 createDate (
const String& aDate ) = 0;
279 createDate (
short aYear,
short aMonth,
short aDay ) = 0;
294 createDateTime(
short aYear,
short aMonth,
short aDay,
295 short aHour,
short aMinute,
double aSecond,
296 short aTimeZone_hours) = 0;
306 createDateTime(
const String& aDateTimeValue ) = 0;
315 createDouble (
double aValue ) = 0;
324 createDouble (
const String& aValue ) = 0;
333 createDuration(
const String& aValue ) = 0;
347 createDuration (
short aYear,
short aMonths,
short aDays,
348 short aHours,
short aMinutes,
double aSeconds ) = 0;
357 createDayTimeDuration(
const String& aValue ) = 0;
366 createYearMonthDuration(
const String& aValue ) = 0;
376 createDocumentNode(
const String& aBaseUri,
const String& aDocUri ) = 0;
385 createFloat (
const String& aValue ) = 0;
394 createFloat (
float aValue ) = 0;
403 createGDay (
const String& aValue ) = 0;
412 createGDay (
short aDay ) = 0;
421 createGMonth (
const String& aValue ) = 0;
430 createGMonth (
short aMonth ) = 0;
439 createGMonthDay (
const String& aValue ) = 0;
449 createGMonthDay (
short aMonth,
short aDay ) = 0;
458 createGYear (
const String& aValue ) = 0;
467 createGYear (
short aYear ) = 0;
476 createGYearMonth (
const String& aValue ) = 0;
486 createGYearMonth (
short aYear,
short aMonth ) = 0;
496 createHexBinary (
const char* aHexData,
size_t aSize ) = 0;
505 createNegativeInteger (
long long aValue ) = 0;
514 createNonNegativeInteger (
unsigned long long aValue ) = 0;
523 createNonPositiveInteger (
long long aValue ) = 0;
532 createPositiveInteger (
unsigned long long aValue ) = 0;
541 createTime (
const String& aValue ) = 0;
552 createTime (
short aHour,
short aMinute,
double aSecond ) = 0;
564 createTime (
short aHour,
short aMinute,
double aSecond,
short aTimeZone_hours ) = 0;
573 createUnsignedByte(
const unsigned char aValue) = 0;
582 createUnsignedInt(
unsigned int aValue) = 0;
591 createUnsignedLong(
unsigned long long aValue) = 0;
600 createUnsignedShort(
unsigned short aValue) = 0;
625 createElementNode(
Item& aParent,
647 createAttributeNode(
Item aParent,
650 Item aTypedValue) = 0;
653 createAttributeNode(
Item aParent,
656 std::vector<Item> aTypedValue) = 0;
667 virtual Item createCommentNode (
682 virtual Item createPiNode (
697 virtual Item createTextNode(
714 assignElementTypedValue(
Item& aElement,
715 Item aTypedValue) = 0;
729 assignElementTypedValue(
Item& aElement,
730 std::vector<Item>& aTypedValue) = 0;