使用Scribe作业创建XML(使用XML Schema):如果特定属性的值不符合条件

时间:2015-04-22 20:14:43

标签: xml xsd sage-erp

我写了一份Scribe Insight作业,该作业将数据从Sage ERP MAS传输到XML文件。它运行成功。现在,又增加了一项工作要求。

我当前的XML文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<Entries>

<Organization MemberName="00-1234567" Comments="XYZ " FullName="XYZ  Name" OrgIdType="XYZ Type">

    <RelatedTo RelationType="PART_OF">

        <Group MemberName="00-1234567"/>

    </RelatedTo>

    <MemberInfo DynamicEntryType="CustomerInfo" InfoType="CustomerInfo.Independent" InternalSOR="FALSE" PaymentMethod="Credit"/>

    <MemberStatus StatusEnumValue="ACTIVE" EffectiveStartDate="2000-01-01" EffectiveEndDate="4700-12-31"/>

    <Address ImportAction="addModify" AddrType="SHIP_TO" AddrLine1="1234 Main Street" AddrLine2="" AddrCity="XYZ  City" AddrState="NY" AddrZip="11111" AddrCountry="US" AddrFlags="PRIMARY_ADDRESS"/>

    <AssociatedToOrg Name="Default"/>

    <OrganizationId ImportAction="addModify" Type="GLN" Identifier="" Primary="false" StartDate="2000-01-01"/>

</Organization>

<Organization MemberName="00-1234568" Comments=" " FullName="ABC Name" OrgIdType="ABC Type">

    <RelatedTo RelationType="PART_OF">

        <Group MemberName="00-1234568"/>

    </RelatedTo>

    <MemberInfo DynamicEntryType="CustomerInfo" InfoType="CustomerInfo.Independent" InternalSOR="FALSE" PaymentMethod="Credit"/>

    <MemberStatus StatusEnumValue="ACTIVE" EffectiveStartDate="2000-01-01" EffectiveEndDate="4700-12-31"/>

    <Address ImportAction="addModify" AddrType="SHIP_TO" AddrLine1="10 Main St" AddrLine2="" AddrCity="ABC City" AddrState="NY" AddrZip="11111" AddrCountry="US" AddrFlags="PRIMARY_ADDRESS"/>

    <AssociatedToOrg Name="Default"/>

    <OrganizationId ImportAction="addModify" Type="GLN" Identifier="1234567890123" Primary="false" StartDate="2000-01-01"/>

</Organization>

</Entries> 

现在,如果您正确地注意到第一个<Organization>节点,您将在Identifier=""元素中找到<OrganizationId>,而在第二个节点中找到Identifier属性(在{ {1}}元素)具有13位数字值。

因此,根据新要求,如果<OrganizationId>具有除13位数字值之外的任何值,则不要在该节点中包含Identifier元素。

现在,如果<OrganizationId>具有除13位数字值以外的任何值,我如何删除(在创建XML或创建XML之后)<OrganizationId>元素?

我的朋友Identifier是:

XSD

0 个答案:

没有答案