2014-08-28 30 views
0

我在看什麼?Talend - 從xml文件中讀取Ldap的xml架構

  • 我想從xml文件中讀取LDAPinput的架構。

信息:

  • 用戶將確定他想要在XML文件中的屬性。
  • 作業將僅檢索那些在LDAP文件夾中定義在xml中的屬性。我怎樣才能做到這一點?

我是新來的talend,我無法在SO中找到任何問題。

+0

您的意思是說,您只需要LDAP模式中的某些「列」,如名稱和registration_date或諸如(name = syd)&(registration_date = 2010-06-29)等條件?另外,你爲什麼要用XML來定義你想要回來的數據? – ydaetskcoR 2014-08-28 11:21:01

+0

是的,我想要什麼。這是爲了讓用戶決定他們想要的列。 – sid 2014-08-28 11:43:25

+0

這是一個/或:)所以你想能夠過濾行和列?您能否提供一個示例XML輸入/真正的輸入來定義您想要如何指定列和行過濾器? – ydaetskcoR 2014-08-28 12:08:20

回答

0

說實話,這樣做是非常痛苦的,我會認真考慮爲什麼你需要限制從LDAP服務的列,而不是忽略無關的列。

首先,您需要解析XML輸入以獲取請求的列並將其放入列表中,然後將其放入globalMap中。

您需要做的是在整個輸出中讀取正確配置的tLDAPInput組件的所有列,但將組件的模式設置爲具有單個動態列。

從這裏您需要使用tJavaRow/tJavaFlex組件來遍歷XML輸入中預期列的列表,然後從動態列的元數據中檢索每個列的名稱,並且如果列名與您的XML輸入,然後將該值輸出到輸出列中。

您的tJavaRow/tJavaFlex的輸出模式將需要包含儘可能多的列,因爲您可能會返回(因此每個LDAP列都適用於您的服務),但隨後會根據需要填充它們。或者,您可以輸出另一個動態模式列,這意味着您不需要固定的模式列,但是您必須添加一個元列(對於動態列內的列),並且每列匹配一個列名稱。