2014-12-03 54 views
0

我只希望有<ext:PersonRaceCode>A</ext:PersonRaceCode>作为申请者的受保护方,因为他们的<ObservedRace Word="A">Asian</ObservedRace>在xml中可用。 但是,即使其他受保护方在xml中没有可用的<ObservedRace>,我也会得到相同的<ext:PersonRaceCode>A</ext:PersonRaceCode>即使没有可用的代码,我也得到PersonRaceCode

预期输出:

 <ext:ProtectedParty> 
     <ext:PersonBirthDate ext:approximateDateIndicator="false" ext:currentIndicator="true">1969-10-14</ext:PersonBirthDate> 
     <nc:PersonName> 
      <nc:PersonGivenName>Jeann</nc:PersonGivenName> 
      <nc:PersonMiddleName>Kume</nc:PersonMiddleName> 
      <nc:PersonSurName>Dudu</nc:PersonSurName> 
      <nc:PersonNameSuffixText/> 
      <nc:PersonFullName>Dudu, Jeann Kume</nc:PersonFullName> 
     </nc:PersonName> 
     <ext:PersonRaceCode>A</ext:PersonRaceCode> 
     <nc:PersonSexCode>M</nc:PersonSexCode> 
     <ext:PetitionerIndicator>true</ext:PetitionerIndicator> 
    </ext:ProtectedParty> 
    <ext:ProtectedParty> 
     <ext:PersonBirthDate ext:approximateDateIndicator="false" ext:currentIndicator="true">2001-03-15</ext:PersonBirthDate> 
     <nc:PersonName> 
      <nc:PersonGivenName>Brad</nc:PersonGivenName> 
      <nc:PersonMiddleName/> 
      <nc:PersonSurName>Mike</nc:PersonSurName> 
      <nc:PersonNameSuffixText/> 
      <nc:PersonFullName>Mike, Brad</nc:PersonFullName> 
     </nc:PersonName> 
     <ext:PersonRaceCode/> 
     <nc:PersonSexCode>M</nc:PersonSexCode> 
     <ext:PetitionerIndicator>false</ext:PetitionerIndicator> 
    </ext:ProtectedParty> 

电流输出错误

 <ext:ProtectedParty> 
     <ext:PersonBirthDate ext:approximateDateIndicator="false" ext:currentIndicator="true">1969-10-14</ext:PersonBirthDate> 
     <nc:PersonName> 
      <nc:PersonGivenName>Jeann</nc:PersonGivenName> 
      <nc:PersonMiddleName>Kume</nc:PersonMiddleName> 
      <nc:PersonSurName>Dudu</nc:PersonSurName> 
      <nc:PersonNameSuffixText/> 
      <nc:PersonFullName>Dudu, Jeann Kume</nc:PersonFullName> 
     </nc:PersonName> 
     <ext:PersonRaceCode>A</ext:PersonRaceCode> 
     <nc:PersonSexCode>M</nc:PersonSexCode> 
     <ext:PetitionerIndicator>true</ext:PetitionerIndicator> 
    </ext:ProtectedParty> 
    <ext:ProtectedParty> 
     <ext:PersonBirthDate ext:approximateDateIndicator="false" ext:currentIndicator="true">2001-03-15</ext:PersonBirthDate> 
     <nc:PersonName> 
      <nc:PersonGivenName>Brad</nc:PersonGivenName> 
      <nc:PersonMiddleName/> 
      <nc:PersonSurName>Mike</nc:PersonSurName> 
      <nc:PersonNameSuffixText/> 
      <nc:PersonFullName>Mike, Brad</nc:PersonFullName> 
     </nc:PersonName> 
     <ext:PersonRaceCode>A</ext:PersonRaceCode> 
     <nc:PersonSexCode>M</nc:PersonSexCode> 
     <ext:PetitionerIndicator>false</ext:PetitionerIndicator> 
    </ext:ProtectedParty> 

我的XML代码

<Integration xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:tsg="http://tsgweb.com" xmlns:IXML="http://tsgweb.com"> 
    <Case InternalID="1616758956" ID="11682320" xmlns:user="http://tylertechnologies.com"> 
     <CaseParty ID="14374736" InternalCasePartyID="1633583492" InternalPartyID="1612267260"> 
      <SendNotice>true</SendNotice> 
      <ObservedRace Word="A">Asian</ObservedRace> 
      <Connection Word="PET" BaseConnection="PL" ID="34643485" InternalCasePartyConnectionID="1635190996"> 
       <Description>Petitioner</Description> 
      </Connection> 
      <CasePartyName Current="true" ID="4990971" InternalNameID="1612653737"> 
       <NameType>Standard</NameType> 
       <NameFirst>Jeann</NameFirst> 
       <NameMiddle>Kume</NameMiddle> 
       <NameLast>Dudu</NameLast> 
       <FormattedName>Dudu, Jeann Kume</FormattedName> 
      </CasePartyName> 
     </CaseParty> 
     <CaseParty ID="16548387" InternalCasePartyID="1633583509" InternalPartyID="1614451524"> 
      <SendNotice>true</SendNotice> 
      <Connection Word="MNR" BaseConnection="O2" ID="34643502" InternalCasePartyConnectionID="1635191013"> 
       <Description>Minor</Description> 
      </Connection> 
      <CasePartyName Current="true" ID="9638900" InternalNameID="1615262962"> 
       <NameType>Standard</NameType> 
       <NameFirst>Brad</NameFirst> 
       <NameLast>Mike</NameLast> 
       <FormattedName>Mike, Brad</FormattedName> 
      </CasePartyName> 
     </CaseParty> 
     <ProtectionOrders> 
      <ProtectionOrder Op="E" InternalProtectionOrderID="1349"> 
       <Deleted>false</Deleted> 
       <RespondentPartyID InternalPartyID="1610253026">1610253026</RespondentPartyID> 
       <RespondentNameID InternalNameID="1610281862">1610281862</RespondentNameID> 
       <ProtectionOrderNumber>1400350</ProtectionOrderNumber> 
       <ProtectionOrderParties> 
        <ProtectionOrderParty InternalPartyID="1612267260"> 
         <ProtectionOrderPartyNames> 
          <ProtectionOrderPartyName Current="true" InternalNameID="1612653737" FormattedName="Dudu, Jeann Kume"/> 
         </ProtectionOrderPartyNames> 
         <ProtectionOrderConnection> 
          <Petitioner>true</Petitioner> 
          <ProtectedParty>true</ProtectedParty> 
          <Minor>false</Minor> 
         </ProtectionOrderConnection> 
        </ProtectionOrderParty> 
        <ProtectionOrderParty InternalPartyID="1614451524"> 
         <ProtectionOrderPartyNames> 
          <ProtectionOrderPartyName Current="true" InternalNameID="1615262962" FormattedName="Mike, Brad"/> 
         </ProtectionOrderPartyNames> 
         <ProtectionOrderConnection> 
          <Petitioner>false</Petitioner> 
          <ProtectedParty>true</ProtectedParty> 
          <Minor>true</Minor> 
         </ProtectionOrderConnection> 
        </ProtectionOrderParty> 
       </ProtectionOrderParties> 
      </ProtectionOrder> 
     </ProtectionOrders> 
    </Case> 
    <Party ID="14374736" InternalPartyID="1612267260"> 
     <Gender Word="M ">Male</Gender> 
     <Race Word="W">White</Race> 
     <DateOfBirth Current="true">10/14/1969</DateOfBirth> 
     <PartyName ID="4990971" Current="true" InternalNameID="1612653737"> 
      <NameType>Standard</NameType> 
      <NameFirst>Jeann</NameFirst> 
      <NameMiddle>Kume</NameMiddle> 
      <NameLast>Dudu</NameLast> 
      <FormattedName>Dudu, Jeann Kume</FormattedName> 
     </PartyName> 
    </Party> 
    <Party ID="16548387" InternalPartyID="1614451524"> 
     <Gender Word="M ">Male</Gender> 
     <DateOfBirth Current="true">03/15/2001</DateOfBirth> 
     <PartyName ID="9638900" Current="true" InternalNameID="1615262962"> 
      <NameType>Standard</NameType> 
      <NameFirst>Brad</NameFirst> 
      <NameLast>Mike</NameLast> 
      <FormattedName>Mike, Brad</FormattedName> 
     </PartyName> 
    </Party> 
    <IntegrationConditions> 
     <IntegrationCondition> 
      <NotificationEvent internalProtectionOrderID="1349" protectionOrderNumber="1400350" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">Signed</NotificationEvent> 
     </IntegrationCondition> 
    </IntegrationConditions> 
</Integration> 

我的XSLTÇ ode有受保护方请愿人两个模板。申请人也可以是受保护的当事人,这意味着并非所有申请人都是受保护的当事人,并非所有受保护的当事人都是上访者。

XSLT代码

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ext="http://www.courts.state.mn.us/ProtectionOrderExtension/1.0" xmlns:nc="http://niem.gov/niem/niem-core/2.0" exclude-result-prefixes="mscef msxsl exsl"> 
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
    <xsl:template name="ProtectionOrder"> 
     <ext:ProtectionOrder> 
      <xsl:variable name="vProtectionOrderID"> 
       <xsl:value-of select="@InternalProtectionOrderID"/> 
      </xsl:variable> 
<!--Petitioner--> 
      <xsl:for-each select="ProtectionOrderParties/ProtectionOrderParty[(ProtectionOrderConnection/Petitioner='true') and (ProtectionOrderConnection/ProtectedParty='false')][1]"> 
       <xsl:for-each select="//Integration/Party[@InternalPartyID=current()/@InternalPartyID]"> 
        <xsl:call-template name="Petitioner"/> 
       </xsl:for-each> 
      </xsl:for-each> 
<!--Protected Party--> 
      <xsl:for-each select="ProtectionOrderParties/ProtectionOrderParty[ProtectionOrderConnection/ProtectedParty='true']"> 
       <xsl:variable name="vPetitionerIndicator"> 
        <xsl:value-of select="ProtectionOrderConnection/Petitioner"/> 
       </xsl:variable> 
       <xsl:for-each select="//CaseParty[(@InternalPartyID=current()/@InternalPartyID)]"> 
        <!--<xsl:for-each select="//Integration/Party[@InternalPartyID=current()/@InternalPartyID]">--> 
        <xsl:for-each select="//Integration/Party[@InternalPartyID=current()/@InternalPartyID]"> 
         <xsl:call-template name="ProtectedParty"> 
          <xsl:with-param name="pPetionerIndicator"> 
           <xsl:value-of select="$vPetitionerIndicator"/> 
          </xsl:with-param> 
         </xsl:call-template> 
        </xsl:for-each> 
       </xsl:for-each> 
      </xsl:for-each> 

<!--ext:ProtectionOrderID--> 
      <ext:ProtectionOrderID> 
       <xsl:value-of select="ProtectionOrderNumber"/> 
      </ext:ProtectionOrderID> 
<!--ext:ProtectionOrderTypeCode--> 
      <ext:ProtectionOrderTypeCode> 
       <xsl:value-of select="Type/@Word"/> 
      </ext:ProtectionOrderTypeCode> 
     </ext:ProtectionOrder> 
    </xsl:template> 
<!--Protection order template ends here--> 
<!--Petitioner Template--> 
    <xsl:template name="Petitioner"> 
     <ext:Petitioner> 
      <ext:AddressReference> 
       <xsl:for-each select="Address[@PartyCurrent='true']"> 
        <xsl:attribute name="ext:currentIndicator"><xsl:value-of select="@PartyCurrent"/></xsl:attribute> 
        <nc:LocationReference> 
         <xsl:attribute name="s:ref"><xsl:text>INT</xsl:text><xsl:value-of select="@ID"/></xsl:attribute> 
        </nc:LocationReference> 
       </xsl:for-each> 
      </ext:AddressReference> 
      <ext:PersonBirthDate> 
       <xsl:choose> 
        <xsl:when test="DateOfBirth[@Current='true']"> 
         <xsl:attribute name="ext:approximateDateIndicator">false</xsl:attribute> 
         <xsl:attribute name="ext:currentIndicator">true</xsl:attribute> 
         <xsl:value-of select="mscef:formatDate(string(DateOfBirth[@Current='true']))"/> 
        </xsl:when> 
        <xsl:when test="ApproximateDOB"> 
         <xsl:attribute name="ext:approximateDateIndicator">true</xsl:attribute> 
         <xsl:attribute name="ext:currentIndicator">true</xsl:attribute> 
         <xsl:value-of select="mscef:formatDate(string(ApproximateDOB))"/> 
        </xsl:when> 
       </xsl:choose> 
      </ext:PersonBirthDate> 
      <nc:PersonName> 
       <nc:PersonGivenName> 
        <xsl:value-of select="PartyName/NameFirst"/> 
       </nc:PersonGivenName> 
       <nc:PersonMiddleName> 
        <xsl:value-of select="PartyName/NameMiddle"/> 
       </nc:PersonMiddleName> 
       <nc:PersonSurName> 
        <xsl:value-of select="PartyName/NameLast"/> 
       </nc:PersonSurName> 
       <nc:PersonNameSuffixText> 
        <!--<xsl:value-of select="PartyName/NameSuffix/@Word"/>--> 
        <xsl:value-of select="PartyName/NameSuffix"/> 
       </nc:PersonNameSuffixText> 
       <nc:PersonFullName> 
        <xsl:value-of select="PartyName/FormattedName"/> 
       </nc:PersonFullName> 
      </nc:PersonName> 
      <ext:PersonRaceCode> 
       <!--<xsl:value-of select="/Integration/Case/CaseParty[1]/ObservedRace/@Word"/>--> 
       <xsl:value-of select="/Integration/Case/CaseParty/ObservedRace/@Word"/> 
      </ext:PersonRaceCode> 
      <nc:PersonSexCode> 
       <xsl:value-of select="Party/Gender/@Word"/> 
      </nc:PersonSexCode> 
     </ext:Petitioner> 
    </xsl:template> 
<!--Protected Party Template--> 
    <xsl:template name="ProtectedParty"> 
     <xsl:param name="pPetionerIndicator"/> 
     <ext:ProtectedParty> 
      <ext:PersonBirthDate> 
       <xsl:choose> 
        <xsl:when test="DateOfBirth[@Current='true']"> 
         <xsl:attribute name="ext:approximateDateIndicator">false</xsl:attribute> 
         <xsl:attribute name="ext:currentIndicator">true</xsl:attribute> 
         <xsl:value-of select="mscef:formatDate(string(DateOfBirth[@Current='true']))"/> 
        </xsl:when> 
        <xsl:when test="ApproximateDOB"> 
         <xsl:attribute name="ext:approximateDateIndicator">true</xsl:attribute> 
         <xsl:attribute name="ext:currentIndicator">true</xsl:attribute> 
         <xsl:value-of select="mscef:formatDate(string(ApproximateDOB))"/> 
        </xsl:when> 
       </xsl:choose> 
      </ext:PersonBirthDate> 
      <xsl:for-each select="PartyName[@Current='true']"> 
       <nc:PersonName> 
        <nc:PersonGivenName> 
         <xsl:value-of select="NameFirst"/> 
        </nc:PersonGivenName> 
        <nc:PersonMiddleName> 
         <xsl:value-of select="NameMiddle"/> 
        </nc:PersonMiddleName> 
        <nc:PersonSurName> 
         <xsl:value-of select="NameLast"/> 
        </nc:PersonSurName> 
        <nc:PersonNameSuffixText> 
         <xsl:value-of select="NameSuffix"/> 
        </nc:PersonNameSuffixText> 
        <nc:PersonFullName> 
         <xsl:value-of select="FormattedName"/> 
        </nc:PersonFullName> 
       </nc:PersonName> 
      </xsl:for-each> 
      <ext:PersonRaceCode> 
       <!--<xsl:value-of select="/Integration/Case/CaseParty/ObservedRace/@Word"/>--> 
       <xsl:value-of select="/Integration/Case/CaseParty/ObservedRace/@Word"/> 
      </ext:PersonRaceCode> 
      <nc:PersonSexCode> 
       <xsl:value-of select="normalize-space(Gender/@Word)"/> 
      </nc:PersonSexCode> 
      <ext:PetitionerIndicator> 
       <xsl:value-of select="$pPetionerIndicator"/> 
      </ext:PetitionerIndicator> 
     </ext:ProtectedParty> 
    </xsl:template> 
</xsl:stylesheet> 

回答

0

为了寻找ObservedRace字= 'A',那么你的情况应该是

<xsl:value-of select="/Integration/Case/CaseParty/ObservedRace/@Word[. = 'A']"/> 

它将打印属性 '字' 值,这是A.

+0

但是,当ObservedRace Word ='H'或'W'时,它会起作用吗?我在问,因为观察到的种族可以是除A之外的其他字母而我改变了我的代码,但它仍然打印ObservedRace = A,没有ObservedRace元素。 – user3781064 2014-12-03 19:19:47

+0

如果你有其他字母,它不会工作。在这种情况下 : \t \t :值的选择=“/集成/案例/ CaseParty/ObservedRace/@字“/> \t \t 我测试了它,它只是只打印了亚洲。 – DroidDP 2014-12-03 20:07:28

+0

其实由于某种原因,这对我并不适用。我所做的就是确保我使用这样的电流......' ',它现在可以用于任何代码。 – user3781064 2014-12-03 20:22:05

0

这就是我所做的工作。包括当前的确保它将获得每个CaseParty的PersonRaceCode。没有目前的情况下,它只采取第一案件,并将其添加到任何其他案件可用。

<ext:PersonRaceCode> 
<xsl:value-of select="//Case/CaseParty[@InternalPartyID=current()/@InternalPartyID]/ObservedRa‌​ce/@Word"/> 
</ext:PersonRaceCode> 
相关问题