Hi there I need some real guru help here...
I am a real novice here on this stuff... so be kind :)
I have an XML document that has a structure something like this... but inside
the Layout elements there can be many other descendants called objects... some
objects can be not directly under Layout but nested way beneath inside other
elements...
<FMPReport>
<File>
<LayoutCatalog>
<Layout>
<Object>
<Layout>
<LayoutCatalog>
</File>
</FMPReport>
I want to be able to pull out individual items...
So for example I want to pull out all the Objects that have type elements with
an attribute of 'Text' --- then I want to have another template process all the
type elments with an attribute of 'Field' etc... etc...
So far what I have is
<RESULTSET>
<xsl:attribute name="FOUND">
<xsl:value-of select="count(//LayoutCatalog/Layout)"/>
</xsl:attribute>
<xsl:apply-templates
select="//LayoutCatalog/Layout/descendant::Object[(_at_)type='text']"/>
</RESULTSET>
I thought that this would work but it does not... this is the error I get:
Description: E Error in expression
//LayoutCatalog/Layout/descendant::Object[(_at_)type='text']: Axis in pattern
must be child or attribute
I guess what I don't understand this error - and I also don't really understand
the role of
"<xsl:attribute name="FOUND">"
Then the "xsl:apply-templates select" that follows - I am under the impression
that it just is something that follows, extends the found set in some way...
Any help or advice would greatly be appreciated... Thanks
Vince
Below is a layout with possible text objects on there.
---------------------------------------------------------
<Layout id="1" name="Layout Objects" includeInMenu="True">
<Table id="13631489" name="Layout Objects"/>
<CustomMenuSet id="0" name=""/>
<Options saveRecord="True" showFieldFrames="True"/>
<ObjectStyle id="0" fontHeight="12" graphicFormat="49151"
fieldBorders="223">
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>9</Font-size>
<Face>256</Face>
<Color>#000000</Color>
</CharacterStyle>
<ParagraphStyle mask="128">
<Justification>3</Justification>
</ParagraphStyle>
<NumFormat flags="0" charStyle="0" negativeStyle="1"
currencySymbol=""
thousandsSep="0" decimalPoint="0"
negativeColor="#28BFD8"
decimalDigits="-16385" trueString="" falseString=""/>
<DateFormat format="191" charStyle="255" monthStyle="224"
dayStyle="112"
separator="49151">
<DateElement>-1073750432</DateElement>
<DateElement>-1073749920</DateElement>
<DateElement>11545879</DateElement>
<DateElement>-1073750432</DateElement>
</DateFormat>
<TimeFormat flags="439" charStyle="196" hourStyle="136"
minsecStyle="0"
separator="0" amString="" pmString="" ampmString=""/>
<DrawStyle linePat="96" lineWidth="-65" lineColor="#FFDE60BF"
fillPat="-1"
fillEffect="-32" fillColor="#60BFFFDE"/>
<AltLineStyle linePat="-32" lineWidth="0"
lineColor="#980000BF"/>
</ObjectStyle>
<Object type="Text" flags="0" portal="-1" rotation="0">
<StyleId>0</StyleId>
<Bounds top=" 25.000000" left=" 98.489258" bottom=" 38.000000"
right="127.000000"/>
<DrawStyle linePat="1" lineWidth="0" lineColor="#FFFFFF00"
fillPat="1"
fillEffect="0" fillColor="#FFFFFF00"/>
<TextObj flags="0">
<CharacterStyleVector>
<Style>
<Data>name</Data>
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>9</Font-size>
<Face>256</Face>
<Color>#000000</Color>
</CharacterStyle>
</Style>
</CharacterStyleVector>
<ParagraphStyleVector>
<Style>
<Data>name</Data>
<ParagraphStyle mask="0">
</ParagraphStyle>
</Style>
</ParagraphStyleVector>
</TextObj>
</Object>
<ObjectStyle id="0" fontHeight="12" graphicFormat="5" fieldBorders="0">
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>12</Font-size>
<Face>0</Face>
<Color>#000000</Color>
</CharacterStyle>
<ParagraphStyle mask="447"> </ParagraphStyle>
<NumFormat flags="2304" charStyle="0" negativeStyle="0"
currencySymbol="$"
thousandsSep="44" decimalPoint="46"
negativeColor="#DD000000"
decimalDigits="2" trueString="Yes" falseString="No"/>
<DateFormat format="0" charStyle="0" monthStyle="0"
dayStyle="0" separator="47">
<DateElement>3</DateElement>
<DateElement>6</DateElement>
<DateElement>1</DateElement>
<DateElement>8</DateElement>
<DateElementSep index="1">, </DateElementSep>
<DateElementSep index="2"> </DateElementSep>
<DateElementSep index="3">, </DateElementSep>
</DateFormat>
<TimeFormat flags="143" charStyle="0" hourStyle="0"
minsecStyle="1"
separator="58" amString=" AM" pmString=" PM"
ampmString=""/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
<AltLineStyle linePat="7" lineWidth="1" lineColor="#0"/>
</ObjectStyle>
<Object type="Field" flags="0" portal="-1" rotation="0">
<StyleId>0</StyleId>
<Bounds top=" 24.000000" left="138.000000" bottom=" 38.000000"
right="391.000000"/>
<FieldObj numOfReps="1" flags="32" inputMode="0"
displayType="0">
<Name>Layout Objects::name</Name>
<DDRInfo>
<Field name="name" id="1" repetition="1"
maxRepetition="1"
table="Layout Objects"/>
</DDRInfo>
</FieldObj>
</Object>
<ObjectStyle id="0" fontHeight="12" graphicFormat="5" fieldBorders="0">
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>9</Font-size>
<Face>256</Face>
<Color>#000000</Color>
</CharacterStyle>
<ParagraphStyle mask="447">
<Justification>3</Justification>
</ParagraphStyle>
<NumFormat flags="2304" charStyle="0" negativeStyle="0"
currencySymbol=""
thousandsSep="44" decimalPoint="46"
negativeColor="#DD000000"
decimalDigits="2" trueString="" falseString=""/>
<DateFormat format="0" charStyle="0" monthStyle="0"
dayStyle="0" separator="47">
<DateElement>3</DateElement>
<DateElement>6</DateElement>
<DateElement>1</DateElement>
<DateElement>8</DateElement>
</DateFormat>
<TimeFormat flags="143" charStyle="0" hourStyle="0"
minsecStyle="1"
separator="58" amString="" pmString="" ampmString=""/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
<AltLineStyle linePat="7" lineWidth="1" lineColor="#0"/>
</ObjectStyle>
<Object type="Text" flags="0" portal="-1" rotation="0">
<StyleId>0</StyleId>
<Bounds top=" 43.000000" left=" 89.000000" bottom=" 56.000000"
right="127.000000"/>
<DrawStyle linePat="1" lineWidth="0" lineColor="#FFFFFF00"
fillPat="1"
fillEffect="0" fillColor="#FFFFFF00"/>
<TextObj flags="0">
<CharacterStyleVector>
<Style>
<Data>address</Data>
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>9</Font-size>
<Face>256</Face>
<Color>#000000</Color>
</CharacterStyle>
</Style>
</CharacterStyleVector>
<ParagraphStyleVector>
<Style>
<Data>address</Data>
<ParagraphStyle mask="0">
</ParagraphStyle>
</Style>
</ParagraphStyleVector>
</TextObj>
</Object>
<ObjectStyle id="0" fontHeight="12" graphicFormat="5" fieldBorders="0">
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>12</Font-size>
<Face>0</Face>
<Color>#000000</Color>
</CharacterStyle>
<ParagraphStyle mask="447"> </ParagraphStyle>
<NumFormat flags="2304" charStyle="0" negativeStyle="0"
currencySymbol="$"
thousandsSep="44" decimalPoint="46"
negativeColor="#DD000000"
decimalDigits="2" trueString="Yes" falseString="No"/>
<DateFormat format="0" charStyle="0" monthStyle="0"
dayStyle="0" separator="47">
<DateElement>3</DateElement>
<DateElement>6</DateElement>
<DateElement>1</DateElement>
<DateElement>8</DateElement>
<DateElementSep index="1">, </DateElementSep>
<DateElementSep index="2"> </DateElementSep>
<DateElementSep index="3">, </DateElementSep>
</DateFormat>
<TimeFormat flags="143" charStyle="0" hourStyle="0"
minsecStyle="1"
separator="58" amString=" AM" pmString=" PM"
ampmString=""/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
<AltLineStyle linePat="7" lineWidth="1" lineColor="#0"/>
</ObjectStyle>
<Object type="Field" flags="0" portal="-1" rotation="0">
<StyleId>0</StyleId>
<Bounds top=" 42.000000" left="138.000000" bottom=" 56.000000"
right="391.000000"/>
<FieldObj numOfReps="1" flags="32" inputMode="0"
displayType="0">
<Name>LO Outside::address</Name>
<DDRInfo>
<Field name="address" id="2" repetition="1"
maxRepetition="1"
table="LO Outside"/>
</DDRInfo>
</FieldObj>
</Object>
<Object type="Portal" flags="134217728" portal="-1" rotation="0">
<Bounds top=" 84.000000" left="144.000000" bottom="165.000000"
right="385.000000"/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
<AltFillStyle fillPat="1" fillEffect="0" fillColor="#FFFFFF00"/>
<PortalObj portalFlags="16" numOfRows="5" initialRow="1">
<TableAliasKey>LO Outside</TableAliasKey>
<FieldList>
<Field id="2" name="address" table="LO
Outside"/>
<Field id="1" name="id" table="LO Outside"/>
</FieldList>
</PortalObj>
</Object>
<ObjectStyle id="0" fontHeight="12" graphicFormat="5" fieldBorders="0">
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>12</Font-size>
<Face>0</Face>
<Color>#000000</Color>
</CharacterStyle>
<ParagraphStyle mask="447"> </ParagraphStyle>
<NumFormat flags="2304" charStyle="0" negativeStyle="0"
currencySymbol="$"
thousandsSep="44" decimalPoint="46"
negativeColor="#DD000000"
decimalDigits="2" trueString="Yes" falseString="No"/>
<DateFormat format="0" charStyle="0" monthStyle="0"
dayStyle="0" separator="47">
<DateElement>3</DateElement>
<DateElement>6</DateElement>
<DateElement>1</DateElement>
<DateElement>8</DateElement>
<DateElementSep index="1">, </DateElementSep>
<DateElementSep index="2"> </DateElementSep>
<DateElementSep index="3">, </DateElementSep>
</DateFormat>
<TimeFormat flags="143" charStyle="0" hourStyle="0"
minsecStyle="1"
separator="58" amString=" AM" pmString=" PM"
ampmString=""/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
<AltLineStyle linePat="7" lineWidth="1" lineColor="#0"/>
</ObjectStyle>
<Object type="Field" flags="0" portal="4" rotation="0">
<StyleId>0</StyleId>
<Bounds top=" 85.000000" left="145.000000" bottom=" 99.000000"
right="263.500000"/>
<FieldObj numOfReps="1" flags="32" inputMode="0"
displayType="0">
<Name>LO Outside::address</Name>
<DDRInfo>
<Field name="address" id="2" repetition="1"
maxRepetition="1"
table="LO Outside"/>
</DDRInfo>
</FieldObj>
</Object>
<ObjectStyle id="0" fontHeight="12" graphicFormat="5" fieldBorders="0">
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>12</Font-size>
<Face>0</Face>
<Color>#000000</Color>
</CharacterStyle>
<ParagraphStyle mask="447"> </ParagraphStyle>
<NumFormat flags="2304" charStyle="0" negativeStyle="0"
currencySymbol="$"
thousandsSep="44" decimalPoint="46"
negativeColor="#DD000000"
decimalDigits="2" trueString="Yes" falseString="No"/>
<DateFormat format="0" charStyle="0" monthStyle="0"
dayStyle="0" separator="47">
<DateElement>3</DateElement>
<DateElement>6</DateElement>
<DateElement>1</DateElement>
<DateElement>8</DateElement>
<DateElementSep index="1">, </DateElementSep>
<DateElementSep index="2"> </DateElementSep>
<DateElementSep index="3">, </DateElementSep>
</DateFormat>
<TimeFormat flags="143" charStyle="0" hourStyle="0"
minsecStyle="1"
separator="58" amString=" AM" pmString=" PM"
ampmString=""/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
<AltLineStyle linePat="7" lineWidth="1" lineColor="#0"/>
</ObjectStyle>
<Object type="Field" flags="0" portal="4" rotation="0">
<StyleId>0</StyleId>
<Bounds top=" 85.000000" left="264.500000" bottom=" 99.000000"
right="383.000000"/>
<FieldObj numOfReps="1" flags="32" inputMode="0"
displayType="0">
<Name>LO Outside::id</Name>
<DDRInfo>
<Field name="id" id="1" repetition="1"
maxRepetition="1"
table="LO Outside"/>
</DDRInfo>
</FieldObj>
</Object>
<ObjectStyle id="0" fontHeight="12" graphicFormat="5" fieldBorders="0">
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>9</Font-size>
<Face>256</Face>
<Color>#000000</Color>
</CharacterStyle>
<ParagraphStyle mask="447">
<Justification>3</Justification>
</ParagraphStyle>
<NumFormat flags="2304" charStyle="0" negativeStyle="0"
currencySymbol="$"
thousandsSep="44" decimalPoint="46"
negativeColor="#DD000000"
decimalDigits="2" trueString="Yes" falseString="No"/>
<DateFormat format="0" charStyle="0" monthStyle="0"
dayStyle="0" separator="47">
<DateElement>3</DateElement>
<DateElement>6</DateElement>
<DateElement>1</DateElement>
<DateElement>8</DateElement>
<DateElementSep index="1">, </DateElementSep>
<DateElementSep index="2"> </DateElementSep>
<DateElementSep index="3">, </DateElementSep>
</DateFormat>
<TimeFormat flags="143" charStyle="0" hourStyle="0"
minsecStyle="1"
separator="58" amString=" AM" pmString=" PM"
ampmString=""/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
<AltLineStyle linePat="7" lineWidth="1" lineColor="#0"/>
</ObjectStyle>
<Object type="Text" flags="0" portal="-1" rotation="0">
<StyleId>0</StyleId>
<Bounds top="187.000000" left="142.000000" bottom="200.000000"
right="190.000000"/>
<DrawStyle linePat="1" lineWidth="0" lineColor="#FFFFFF00"
fillPat="1"
fillEffect="0" fillColor="#FFFFFF00"/>
<TextObj flags="8">
<CharacterStyleVector>
<Style>
<Data><<name>></Data>
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>9</Font-size>
<Face>256</Face>
<Color>#000000</Color>
</CharacterStyle>
</Style>
</CharacterStyleVector>
<ParagraphStyleVector>
<Style>
<Data><<name>></Data>
<ParagraphStyle mask="0">
</ParagraphStyle>
</Style>
</ParagraphStyleVector>
<FieldList>
<Field id="1" name="name" table="Layout
Objects"/>
</FieldList>
</TextObj>
</Object>
<ObjectStyle id="0" fontHeight="12" graphicFormat="5" fieldBorders="0">
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>9</Font-size>
<Face>256</Face>
<Color>#000000</Color>
</CharacterStyle>
<ParagraphStyle mask="447">
<Justification>3</Justification>
</ParagraphStyle>
<NumFormat flags="2304" charStyle="0" negativeStyle="0"
currencySymbol="$"
thousandsSep="44" decimalPoint="46"
negativeColor="#DD000000"
decimalDigits="2" trueString="Yes" falseString="No"/>
<DateFormat format="0" charStyle="0" monthStyle="0"
dayStyle="0" separator="47">
<DateElement>3</DateElement>
<DateElement>6</DateElement>
<DateElement>1</DateElement>
<DateElement>8</DateElement>
<DateElementSep index="1">, </DateElementSep>
<DateElementSep index="2"> </DateElementSep>
<DateElementSep index="3">, </DateElementSep>
</DateFormat>
<TimeFormat flags="143" charStyle="0" hourStyle="0"
minsecStyle="1"
separator="58" amString=" AM" pmString=" PM"
ampmString=""/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
<AltLineStyle linePat="7" lineWidth="1" lineColor="#0"/>
</ObjectStyle>
<Object type="Text" flags="0" portal="-1" rotation="0">
<StyleId>0</StyleId>
<Bounds top="217.000000" left="143.000000" bottom="230.000000"
right="256.000000"/>
<DrawStyle linePat="1" lineWidth="0" lineColor="#FFFFFF00"
fillPat="1"
fillEffect="0" fillColor="#FFFFFF00"/>
<TextObj flags="8">
<CharacterStyleVector>
<Style>
<Data><<LO Outside::address>></Data>
<CharacterStyle mask="16183">
<Font-family codeSet="Roman"
fontId="0">Helvetica</Font-family>
<Font-size>9</Font-size>
<Face>256</Face>
<Color>#000000</Color>
</CharacterStyle>
</Style>
</CharacterStyleVector>
<ParagraphStyleVector>
<Style>
<Data><<LO Outside::address>></Data>
<ParagraphStyle mask="0">
</ParagraphStyle>
</Style>
</ParagraphStyleVector>
<FieldList>
<Field id="2" name="address" table="LO
Outside"/>
</FieldList>
</TextObj>
</Object>
<Object type="Line" flags="12288" portal="-1" rotation="0">
<Bounds top="263.792908" left="149.792908" bottom="265.207123"
right="397.207092"/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
</Object>
<Object type="Rect" flags="0" portal="-1" rotation="0">
<Bounds top="276.000000" left="150.000000" bottom="337.000000"
right="241.000000"/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
</Object>
<Object type="RRect" flags="0" portal="-1" rotation="0">
<Bounds top="276.000000" left="264.000000" bottom="337.000000"
right="385.000000"/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
</Object>
<Object type="Oval" flags="0" portal="-1" rotation="0">
<Bounds top="354.000000" left="156.000000" bottom="433.000000"
right="241.000000"/>
<DrawStyle linePat="2" lineWidth="1" lineColor="#0" fillPat="1"
fillEffect="0"
fillColor="#FFFFFF00"/>
</Object>
</Layout>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--