How do I find ChargeID for the Plea using InternalOffenseHis

Here should go questions about transforming XML with XSLT and FOP.
winkimjr2
Posts: 62
Joined: Thu Jun 26, 2014 9:00 pm

How do I find ChargeID for the Plea using InternalOffenseHis

Post by winkimjr2 » Thu Feb 05, 2015 10:06 pm

What I am trying to do is to use InternalOffenseHistoryID to find and display Plea's ChargeID. I need to find the PleaEventSequence with the highest number (example 2) in ChargeHistory and then find the Plea's InternalOffenseHistoryID that matches that ChargeHistory's InternalOffenseHistoryID.

How do I do this?

Here is my xml doc

Code: Select all


[code]<Integration xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:tsg="http://tsgweb.com" xmlns:IXML="http://tsgweb.com" xmlns:CMCodeQueryHelper="urn:CMCodeQueryHelper" PackageID="ChargeDispSent" MessageID="57834892" xmlns="">
<ControlPoint Timestamp="1/7/2015 9:15:07 AM" UserID="CunninghamC">SAVE-CR-PLEA</ControlPoint>
<Case InternalID="1616760662" ID="11683904" xmlns:user="http://tylertechnologies.com">
<PleaEvent Date="01/07/2015" ID="151480108" InternalPleaEventID="1714733342" xmlns:reslib="urn:reslib">
<PleaEventDate>01/07/2015</PleaEventDate>
<TimestampCreate>01/07/2015 09:14:48:533</TimestampCreate>
<PleaAmendmentReason Word="PLA">Plea agreement</PleaAmendmentReason>
<Plea ChargeID="10485838" ChargeHistoryID="41274044" InternalChargeID="1616399897" InternalOffenseHistoryID="1635787112">
<PleaType Word="GUI">Guilty</PleaType>
</Plea>
<PleaEvent Date="01/07/2015" ID="151480102" InternalPleaEventID="1714733336">
<PleaEventDate>01/07/2015</PleaEventDate>
<TimestampCreate>01/07/2015 09:10:29:813</TimestampCreate>
<Plea ChargeID="10485838" ChargeHistoryID="41274038" InternalChargeID="1616399897" InternalOffenseHistoryID="1635787106">
<PleaType Word="NGUI">Not guilty</PleaType>
</Plea>
<Plea ChargeID="10485839" ChargeHistoryID="41274039" InternalChargeID="1616399898" InternalOffenseHistoryID="1635787107">
<PleaType Word="NGUI">Not guilty</PleaType>
</Plea>
</PleaEvent>
</PleaEvent>
<PleaEvent Op="A" Date="01/07/2015" ID="151480109" InternalPleaEventID="1714733343" xmlns:reslib="urn:reslib">
<PleaEventDate Op="A">01/07/2015</PleaEventDate>
<TimestampCreate Op="A">01/07/2015 09:15:07:360</TimestampCreate>
<PleaAmendmentReason Op="A" Word="PLA">Plea agreement</PleaAmendmentReason>
<Plea Op="A" ChargeID="10485839" ChargeHistoryID="41274045" InternalChargeID="1616399898" InternalOffenseHistoryID="1635787113">
<PleaType Op="A" Word="GUI">Guilty</PleaType>
</Plea>
<PleaEvent Op="E" Date="01/07/2015" ID="151480103" InternalPleaEventID="1714733337">
<PleaEventDate>01/07/2015</PleaEventDate>
<TimestampCreate>01/07/2015 09:11:13:770</TimestampCreate>
<PleaAmendmentReason Word="AMENDC">Amended complaint</PleaAmendmentReason>
<Plea ChargeID="10485839" ChargeHistoryID="41274040" InternalChargeID="1616399898" InternalOffenseHistoryID="1635787108">
<PleaType Word="NONE">None</PleaType>
</Plea>
<PleaEvent Date="01/07/2015" ID="151480102" InternalPleaEventID="1714733336">
<PleaEventDate>01/07/2015</PleaEventDate>
<TimestampCreate>01/07/2015 09:10:29:813</TimestampCreate>
<Plea ChargeID="10485838" ChargeHistoryID="41274038" InternalChargeID="1616399897" InternalOffenseHistoryID="1635787106">
<PleaType Word="NGUI">Not guilty</PleaType>
</Plea>
<Plea ChargeID="10485839" ChargeHistoryID="41274039" InternalChargeID="1616399898" InternalOffenseHistoryID="1635787107">
<PleaType Word="NGUI">Not guilty</PleaType>
</Plea>
</PleaEvent>
</PleaEvent>
</PleaEvent>
<Charge ID="10485838" PartyID="16548350" InternalChargeID="1616399897" InternalPartyID="1614451487" xmlns:reslib="urn:reslib">
<ChargeOffenseDate>01/06/2015</ChargeOffenseDate>
<ChargeHistory ChargeHistoryID="41274035" Stage="Arrest" ArrestSequence="1" InternalOffenseHistoryID="1635787103">
<ChargeNumber>1</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274034" Stage="Case Filing" FilingSequence="1" InternalOffenseHistoryID="1635787102">
<ChargeNumber>1</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274038" Stage="Plea Event" PleaEventSequence="1" InternalOffenseHistoryID="1635787106">
<ChargeNumber>1</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274044" Stage="Plea Event" PleaEventSequence="2" CurrentCharge="true" InternalOffenseHistoryID="1635787112">
<ChargeNumber>1</ChargeNumber>
</ChargeHistory>
</Charge>
<Charge Op="E" ID="10485839" PartyID="16548350" InternalChargeID="1616399898" InternalPartyID="1614451487" xmlns:reslib="urn:reslib">
<ChargeOffenseDate>01/06/2015</ChargeOffenseDate>
<DateOnOrAbout>false</DateOnOrAbout>
<ChargeHistory ChargeHistoryID="41274037" Stage="Arrest" ArrestSequence="1" InternalOffenseHistoryID="1635787105">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274036" Stage="Case Filing" FilingSequence="1" InternalOffenseHistoryID="1635787104">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274041" Stage="Case Filing" FilingSequence="2" InternalOffenseHistoryID="1635787109">
<ChargeNumber>2</ChargeNumber>
<AmendedDate>01/07/2015</AmendedDate>
<AmendedReason Word="RED">Reduced</AmendedReason>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274043" Stage="Case Filing" FilingSequence="3" InternalOffenseHistoryID="1635787111">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274039" Stage="Plea Event" PleaEventSequence="1" InternalOffenseHistoryID="1635787107">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274040" Stage="Plea Event" PleaEventSequence="2" InternalOffenseHistoryID="1635787108">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory Op="A" ChargeHistoryID="41274045" Stage="Plea Event" PleaEventSequence="3" CurrentCharge="true" InternalOffenseHistoryID="1635787113">
<ChargeNumber Op="A">2</ChargeNumber>
</ChargeHistory>
</Charge>
</Case>
<IntegrationConditions>
<IntegrationCondition Word="CHARGE" Description="Charge">
<NotificationEvent notificationType="ChargeNotification" elementState="PreDisposition" elementName="Charge" elementKey="10485839">PleaAmended</NotificationEvent>
</IntegrationCondition>
</IntegrationConditions>
</Integration>

I am using the following a xslt template

Code: Select all


[code]<?xml version="1.0" encoding="UTF-8"?>
<?altova_samplexml file:///Z:/Training%20with%20Tim%20XML%20code%20various/PleaFix.xml?>
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="vPleaEventID">
<xsl:call-template name="GetChargePleaEventID">
<xsl:with-param name="pChargeID">10485838</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<result>
<xsl:value-of select="$vPleaEventID"/>
</result>
</xsl:template>
<!--
-->
<xsl:template name="GetChargePleaEventID">
<xsl:param name="pChargeID"/>
<!--<xsl:text>12345</xsl:text>-<xsl:value-of select="$pChargeID"/>-->
</xsl:template>
</xsl:stylesheet>

winkimjr2
Posts: 62
Joined: Thu Jun 26, 2014 9:00 pm

Re: How do I find ChargeID for the Plea using InternalOffens

Post by winkimjr2 » Fri Feb 06, 2015 6:58 pm

winkimjr2 wrote:What I am trying to do is get the ChargeID=10485838. To get this ChargeID, I need to look in the ChargeHistory element for the Stage="Plea Event" and find the PleaEventSequence value with the highest event number (for example PleaEventSequence="2") and then find the Plea in the PleaEvent node whose ChargeHistoryID matches the Charge node's ChargeHistoryID . In my case this would be ChargeHistoryID="41274044"

How do I do this?

Here is my xml doc

Code: Select all


[code]<Integration xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:tsg="http://tsgweb.com" xmlns:IXML="http://tsgweb.com" xmlns:CMCodeQueryHelper="urn:CMCodeQueryHelper" PackageID="ChargeDispSent" MessageID="57834892" xmlns="">
<ControlPoint Timestamp="1/7/2015 9:15:07 AM" UserID="CunninghamC">SAVE-CR-PLEA</ControlPoint>
<Case InternalID="1616760662" ID="11683904" xmlns:user="http://tylertechnologies.com">
<PleaEvent Date="01/07/2015" ID="151480108" InternalPleaEventID="1714733342" xmlns:reslib="urn:reslib">
<PleaEventDate>01/07/2015</PleaEventDate>
<TimestampCreate>01/07/2015 09:14:48:533</TimestampCreate>
<PleaAmendmentReason Word="PLA">Plea agreement</PleaAmendmentReason>
<Plea ChargeID="10485838" ChargeHistoryID="41274044" InternalChargeID="1616399897" InternalOffenseHistoryID="1635787112">
<PleaType Word="GUI">Guilty</PleaType>
</Plea>
<PleaEvent Date="01/07/2015" ID="151480102" InternalPleaEventID="1714733336">
<PleaEventDate>01/07/2015</PleaEventDate>
<TimestampCreate>01/07/2015 09:10:29:813</TimestampCreate>
<Plea ChargeID="10485838" ChargeHistoryID="41274038" InternalChargeID="1616399897" InternalOffenseHistoryID="1635787106">
<PleaType Word="NGUI">Not guilty</PleaType>
</Plea>
<Plea ChargeID="10485839" ChargeHistoryID="41274039" InternalChargeID="1616399898" InternalOffenseHistoryID="1635787107">
<PleaType Word="NGUI">Not guilty</PleaType>
</Plea>
</PleaEvent>
</PleaEvent>
<PleaEvent Op="A" Date="01/07/2015" ID="151480109" InternalPleaEventID="1714733343" xmlns:reslib="urn:reslib">
<PleaEventDate Op="A">01/07/2015</PleaEventDate>
<TimestampCreate Op="A">01/07/2015 09:15:07:360</TimestampCreate>
<PleaAmendmentReason Op="A" Word="PLA">Plea agreement</PleaAmendmentReason>
<Plea Op="A" ChargeID="10485839" ChargeHistoryID="41274045" InternalChargeID="1616399898" InternalOffenseHistoryID="1635787113">
<PleaType Op="A" Word="GUI">Guilty</PleaType>
</Plea>
<PleaEvent Op="E" Date="01/07/2015" ID="151480103" InternalPleaEventID="1714733337">
<PleaEventDate>01/07/2015</PleaEventDate>
<TimestampCreate>01/07/2015 09:11:13:770</TimestampCreate>
<PleaAmendmentReason Word="AMENDC">Amended complaint</PleaAmendmentReason>
<Plea ChargeID="10485839" ChargeHistoryID="41274040" InternalChargeID="1616399898" InternalOffenseHistoryID="1635787108">
<PleaType Word="NONE">None</PleaType>
</Plea>
<PleaEvent Date="01/07/2015" ID="151480102" InternalPleaEventID="1714733336">
<PleaEventDate>01/07/2015</PleaEventDate>
<TimestampCreate>01/07/2015 09:10:29:813</TimestampCreate>
<Plea ChargeID="10485838" ChargeHistoryID="41274038" InternalChargeID="1616399897" InternalOffenseHistoryID="1635787106">
<PleaType Word="NGUI">Not guilty</PleaType>
</Plea>
<Plea ChargeID="10485839" ChargeHistoryID="41274039" InternalChargeID="1616399898" InternalOffenseHistoryID="1635787107">
<PleaType Word="NGUI">Not guilty</PleaType>
</Plea>
</PleaEvent>
</PleaEvent>
</PleaEvent>
<Charge ID="10485838" PartyID="16548350" InternalChargeID="1616399897" InternalPartyID="1614451487" xmlns:reslib="urn:reslib">
<ChargeOffenseDate>01/06/2015</ChargeOffenseDate>
<ChargeHistory ChargeHistoryID="41274035" Stage="Arrest" ArrestSequence="1" InternalOffenseHistoryID="1635787103">
<ChargeNumber>1</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274034" Stage="Case Filing" FilingSequence="1" InternalOffenseHistoryID="1635787102">
<ChargeNumber>1</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274038" Stage="Plea Event" PleaEventSequence="1" InternalOffenseHistoryID="1635787106">
<ChargeNumber>1</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274044" Stage="Plea Event" PleaEventSequence="2" CurrentCharge="true" InternalOffenseHistoryID="1635787112">
<ChargeNumber>1</ChargeNumber>
</ChargeHistory>
</Charge>
<Charge Op="E" ID="10485839" PartyID="16548350" InternalChargeID="1616399898" InternalPartyID="1614451487" xmlns:reslib="urn:reslib">
<ChargeOffenseDate>01/06/2015</ChargeOffenseDate>
<DateOnOrAbout>false</DateOnOrAbout>
<ChargeHistory ChargeHistoryID="41274037" Stage="Arrest" ArrestSequence="1" InternalOffenseHistoryID="1635787105">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274036" Stage="Case Filing" FilingSequence="1" InternalOffenseHistoryID="1635787104">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274041" Stage="Case Filing" FilingSequence="2" InternalOffenseHistoryID="1635787109">
<ChargeNumber>2</ChargeNumber>
<AmendedDate>01/07/2015</AmendedDate>
<AmendedReason Word="RED">Reduced</AmendedReason>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274043" Stage="Case Filing" FilingSequence="3" InternalOffenseHistoryID="1635787111">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274039" Stage="Plea Event" PleaEventSequence="1" InternalOffenseHistoryID="1635787107">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory ChargeHistoryID="41274040" Stage="Plea Event" PleaEventSequence="2" InternalOffenseHistoryID="1635787108">
<ChargeNumber>2</ChargeNumber>
</ChargeHistory>
<ChargeHistory Op="A" ChargeHistoryID="41274045" Stage="Plea Event" PleaEventSequence="3" CurrentCharge="true" InternalOffenseHistoryID="1635787113">
<ChargeNumber Op="A">2</ChargeNumber>
</ChargeHistory>
</Charge>
</Case>
<IntegrationConditions>
<IntegrationCondition Word="CHARGE" Description="Charge">
<NotificationEvent notificationType="ChargeNotification" elementState="PreDisposition" elementName="Charge" elementKey="10485839">PleaAmended</NotificationEvent>
</IntegrationCondition>
</IntegrationConditions>
</Integration>

I am using the following a xslt template

Code: Select all


[code]<?xml version="1.0" encoding="UTF-8"?>
<?altova_samplexml file:///Z:/Training%20with%20Tim%20XML%20code%20various/PleaFix.xml?>
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="vPleaEventID">
<xsl:call-template name="GetChargePleaEventID">
<xsl:with-param name="pChargeID">10485838</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<result>
<xsl:value-of select="$vPleaEventID"/>
</result>
</xsl:template>
<!--
-->
<xsl:template name="GetChargePleaEventID">
<xsl:param name="pChargeID"/>
<!--<xsl:text>12345</xsl:text>-<xsl:value-of select="$pChargeID"/>-->
</xsl:template>
</xsl:stylesheet>

winkimjr2
Posts: 62
Joined: Thu Jun 26, 2014 9:00 pm

Re: How do I find ChargeID for the Plea using InternalOffens

Post by winkimjr2 » Fri Feb 06, 2015 11:22 pm

I have resolved this by adding 2 variables.
XSLT code

Code: Select all


<xsl:variable name="vInternalOffenseHistoryID">
<xsl:value-of select="//Charge[@ID=$pChargeID]/ChargeHistory[@Stage='Plea Event'][last()]/@InternalOffenseHistoryID"/>
</xsl:variable>
<xsl:variable name="vPleaEventID">
<xsl:value-of select="//PleaEvent[count(Plea[@InternalOffenseHistoryID=$vInternalOffenseHistoryID])>0]/@ID"/>
</xsl:variable>
<xsl:value-of select="$vPleaEventID"/>

Post Reply