Recursive DTD - Difficulty to create schema !

Dear Friends,
I tried to create a tamino schema for a DTD which has recursive nodes.
Initially I set the level of recursion as 1.
When I started “Define Schema…” option, I got the following error message:

Tamino Response:“No more columns in infofield. Line:945 column:0”

What might be the reason for this problem?
How can I solve this problem?
Thanks for your help.

Mustafa

In Tamino 221, I think the number of nodes mapped with Search-type=“text” or Search-type=“standard” is limited to 890 nodes per doctype. To work around this limitation, you can either:


  • split the doctype into two or more, or:
  • reduce the number of elements with search-type=“text” or “standard”.

Well, but how can I associate splitted schemas with one database and how can I load the whole document in this case?

Thanks,
Mustafa

You can define more than one Schema (Doctype) into the same Collection, in a single Tamino Database.

You would need to split the xml for each record into two xml components and load each into the appropriate doctype.

This is a bit hard to explain without having the DTD at hand. I’ll try anyway :slight_smile:

When you load a DTD in the Schema Editor you’re working on the database representation of this schema. The database schema can (and will) in many cases differ from your DTD. (E.g. DTDs have no datatype Imnteger, Tamino has).

The point is, you have choice. You can map every node in your DTD to an explicit node in Tamino, or you can , from a random node downwards, specify that the content is held in that selected element. Here’s an example:

In Tamino schema editor, set e’s maptype to native and do delete the inner nodes f, g, h. Tamino will store the whole content of e regardless. This feature is influenced by server parameter “closed content”. If it is set to “no”, Tamino stores more information that is defined in the database schema.

This same mechanism can be used to handle recursions. Say, e is the element that has a recursive content model. Just do not explicily define it’s content model, but set e’s maptype to “native” and - for better search performance - searchtype to “text”. DEfine this schema and be sure that regardless of how “deep” the recursion in your instances is, it all is savely stored by Tamino.

I know it is unusual at first, but it’s a powerful feature I often use.

Kind regards,

Andreas