Real Time Information Director User Documentation
RTID Metadata Language
Hewlett-Packard Company 9 529618-002
containing one or more fields, or elements), the metadata language provides for
many levels of nesting. The metadata language also supports “flattening”
incoming data to store fields from multiple segments in the same database record.
Content Metadata and Native Document Definitions
Content metadata is much less detailed than format metadata and is required for all
documents, so let’s explore it first, in the context of a Native Document definition. Read
this section even if your solution uses only SAP IDocs.
Metadata Excerpt: A Native Document Definition
The next few pages present the metadata for a document type called NativeOrders.
NativeOrders is an example of a native XML document, that is, a document in which
• Each XML segment corresponds to a row in the data store.
• Each XML element corresponds to a column in the data store.
• XML tag names exactly match the corresponding database row and column
names.
For your convenience, the same metadata is presented repeatedly with different
statements emphasized to match the supporting text.
Throughout this document, you’ll encounter one or more examples of a type of metadata
statement before you encounter the general description of that type of statement.
Note: Within this manual and in other RTID documentation, the terms native document
and native XML document are synonymous. Also, the metadata language uses the
terms record and field to identify data structures and elements that correspond to
database rows and columns. This manual will also sometimes use the words record and
field to signify database rows and columns, respectively.
package com.hp.rtsc.documents;
import com.hp.rtsc.metadata.*;
import java.sql.SQLException;
public class NativeOrders extends NativeDocumentDefinition {
private static DocumentRecord documentRecord =
new DocumentRecord("SALES_ORDER", new RelatedRecords[] {
new RelatedRecords("ROLE_SPEC_SLS_ORD_EVENT"),
new RelatedRecords("SALES_ORDER_DETAIL", new RelatedRecords[]{
new SplitRecord("SLS_ORD_SPEC_BUSINESS"),
new RelatedRecords("RL_SPEC_SO_DT_EV_OVRRD"),
new RelatedRecords("SLS_ORD_SCHEDULE_DT")
})
});