我正在嘗試使用XSLT來管理應用程序中的驗證處理。我嘗試了很多方法,包括定義模板匹配和遍歷模式中的屬性集。這是一個示例輸入文件,其中包含驗證元素,該元素定義了應該對父代元素屬性執行的操作,它們是後代。XSLT轉換使用多個子元素來處理父元素
例..
XML輸入
<PartyDefinition Suffix="" Religion="" Race="" PrimaryLanguage="" Prefix="" MiddleName="" LastName="Zztestpw" Gender="Female" FirstName="Ghlab" Ethnicity="" Degree="" DeathDate="" BirthDate="19670707000000">
<Validation ProductCode="eHARS VL" Extra3="" Extra2="" Extra1="" Element="PartyDefinition" Effect="Remove Attribute" Cause="Lookup Value Empty" Attribute="Race" Action="No Action"/>
<Validation ProductCode="eHARS VL" Extra3="" Extra2="" Extra1="5" Element="PartyDefinition" Effect="Truncate Field" Cause="Field exceeded size limit" Attribute="LastName" Action="No Action">Zztestpw</Validation>
<Validation ProductCode="eHARS VL" Extra3="" Extra2="" Extra1="" Element="PartyDefinition" Effect="Remove Attribute" Cause="Lookup Value Empty" Attribute="Ethnicity" Action="No Action"/>
<ExternalIDDefinition ExternalIDType="MR" ExternalID="2144448"/>
<ExternalIDDefinition ExternalIDType="PI" ExternalID="3932558"/>
<ExternalIDDefinition ExternalIDType="" ExternalID=""/>
</PartyDefinition>
- 對於效應「刪除屬性」中的父對應的屬性應該被刪除
- 對於效應「截斷屬性」對應的Parent中的屬性應截斷爲Extra1字符
XML輸出繼電器
<PartyDefinition Suffix="" Religion="" PrimaryLanguage="" Prefix="" MiddleName="" LastName="Zztes" Gender="Female" FirstName="Ghlab" Degree="" DeathDate="" BirthDate="19670707000000">
<ExternalIDDefinition ExternalIDType="MR" ExternalID="2144448"/>
<ExternalIDDefinition ExternalIDType="PI" ExternalID="3932558"/>
<ExternalIDDefinition ExternalIDType="" ExternalID=""/>
</PartyDefinition>
- 姓氏屬性被截斷至5個字符
- 的種族和民族屬性被拆除
謝謝你的任何方向!
請至少顯示您嘗試過的衆多方法之一。這使得更容易指出你出錯的地方。 –
很遺憾你編輯了你定義規則的屬性。 –
*「種族和種族屬性已被刪除」*正如@MathiasMüller所指出的那樣,目前形式的問題沒有意義,因爲這些屬性並不在首位。另外,請說明是否可能有*其他*元素可能攜帶''需要處理的兒童。 –