Я пытаюсь использовать XSLT для управления обработкой проверки в приложении. Я пробовал множество методов, включая определение совпадений шаблонов и итерацию с помощью наборов атрибутов в схеме. Вот пример входного файла, который содержит элементы проверки, которые определяют, что должно быть сделано с атрибутами родительского элемента, которые они являются потомками.XSLT Transform для использования нескольких дочерних элементов для обработки родительских элементов
Пример ..
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>
- Для эффекта «Удалить Атрибут» соответствующий атрибут в родительском должен быть удален
- Для эффекта «усечение атрибута» соответствующее Атрибут родителя должен быть усечен до символов Extra1
XML Ouput
<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>
- LastName атрибут был усечен до 5 символов
- The расы и этнической принадлежности атрибуты были удалены
Спасибо за любую сторону!
Просьба показать хотя бы один из многочисленных способов, которые вы пробовали. Это облегчает указание, где вы поступили неправильно. –
Очень печально, что вы отредактировали атрибуты, для которых вы определили правила. –
* «Атрибуты расы и этнической принадлежности были удалены» * Как отметил @ MathiasMüller, вопрос в его нынешнем виде не имеет смысла, поскольку эти атрибуты не были в первую очередь. Также, пожалуйста, уточните, могут ли быть * другие * элементы, которые могут содержать '' детей, которые нуждаются в обработке. –