我想使用XSL样式表添加“ InvoiceNumber”元素,但是即使我在样式表顶部添加了相同的命名空间,它还是以一个空的xmlns标记或命名空间的全名结尾。 我看过this thread here,但无法正常工作。
样式表:
ShimmerFrameLayout Loading;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.meetings_fragment,container,false);
Loading = view.findViewById(R.id.Loading);
//in this code start animation
Loading.startShimmerAnimation();
//in this code stop animation
Loading.stopShimmerAnimation();
return view;
}
这是XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fmp="http://www.filemaker.com/fmpdsoresult"
xmlns="http://www.filemaker.com/data"
exclude-result-prefixes="fmp">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="fmp:FMPDSORESULT">
<xsl:choose>
<xsl:when test="fmp:ROW[1]/fmp:Status_Aktuell = 'Rechnung'">
<Invoice xmlns="http://www.ebinterface.at/schema/5p0/" GeneratingSystem='Business Assistant' DocumentType='Invoice' InvoiceCurrency='EUR' Language='ger'>
<xsl:call-template name="form1" xmlns="http://www.filemaker.com/data"/>
</Invoice>
</xsl:when>
<xsl:when test="Status_Aktuell = Rechnung">
<Invoice xmlns="http://www.ebinterface.at/schema/5p0/" GeneratingSystem='Business Assistant' DocumentType='InvoiceForAdvancePayment' InvoiceCurrency='EUR' Language='ger'>
<xsl:call-template name="form1"/>
</Invoice>
</xsl:when>
<xsl:when test="Status_Aktuell = Rechnung">
<Invoice xmlns="http://www.ebinterface.at/schema/5p0/" GeneratingSystem='Business Assistant' DocumentType='InvoiceForPartialDelivery' InvoiceCurrency='EUR' Language='ger'>
<xsl:call-template name="form1"/>
</Invoice>
</xsl:when>
<xsl:when test="Status_Aktuell = Rechnung">
<Invoice xmlns="http://www.ebinterface.at/schema/5p0/" GeneratingSystem='Business Assistant' DocumentType='FinalSettlement' InvoiceCurrency='EUR' Language='ger'>
<xsl:call-template name="form1"/>
</Invoice>
</xsl:when>
<xsl:when test="Status_Aktuell = Rechnung">
<Invoice xmlns="http://www.ebinterface.at/schema/5p0/" GeneratingSystem='Business Assistant' DocumentType='CreditMemo' InvoiceCurrency='EUR' Language='ger'>
<xsl:call-template name="form1"/>
</Invoice>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template name="form1">
<xsl:element name="InvoiceNumber" namespace="http://www.filemaker.com/data"><xsl:value-of select="fmp:ROW[1]/fmp:Id_Vorgang"/></xsl:element>
</xsl:template>
</xsl:stylesheet>
输出:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Diese Grammatik wurde abgelehnt - verwenden Sie stattdessen FMPXMLRESULT. -->
<FMPDSORESULT xmlns="http://www.filemaker.com/fmpdsoresult">
<ERRORCODE>0</ERRORCODE>
<DATABASE>Business_Assistant_E_2_7.fmp12</DATABASE>
<LAYOUT></LAYOUT>
<ROW MODID="9" RECORDID="31">
<Anschriftsfeld>Frau
Elfriede Leo
Ried 6a
6130 Schwaz
Österreich</Anschriftsfeld>
<Anschriftsfeld_oL>Frau
Elfriede Leo
Ried 6a
6130 Schwaz</Anschriftsfeld_oL>
<Anz_Positionen>1</Anz_Positionen>
<Bezahlung_Art>Ãœberweisung</Bezahlung_Art>
<Bezahlung_Betrag></Bezahlung_Betrag>
<Bezahlung_Datum></Bezahlung_Datum>
<Bezahlung_Restbetrag>258,5</Bezahlung_Restbetrag>
<Bezahlung_Restbetrag_Skonto>258,5</Bezahlung_Restbetrag_Skonto>
<Bezahlung_Status>Differenzbetrag</Bezahlung_Status>
<Bruttosumme_abzglSkonto>258,516</Bruttosumme_abzglSkonto>
<Datum_der_Angebotsablehnung></Datum_der_Angebotsablehnung>
<Datum_der_Angebotsbestätigung></Datum_der_Angebotsbestätigung>
<Datum_sowie_Uhrzeit_des_Versands></Datum_sowie_Uhrzeit_des_Versands>
<Differenz_akzeptieren></Differenz_akzeptieren>
<Differenzbesteuerung></Differenzbesteuerung>
<Differenzbesteuerung_Auswertung></Differenzbesteuerung_Auswertung>
<DS_Anzahl_Selektion>1</DS_Anzahl_Selektion>
<Erstelldatum></Erstelldatum>
<Gesamtsumme>258,516</Gesamtsumme>
<Gesamtsumme_inkl_Mahnkosten>258,516</Gesamtsumme_inkl_Mahnkosten>
<Gültig_bis>06.02.2020</Gültig_bis>
<ID_16Z_auslesen>D_2002061252_42_</ID_16Z_auslesen>
<Id_Angebot>D_2002061252_42_An</Id_Angebot>
<Id_Ankauf></Id_Ankauf>
<Id_Auftragsbestätigung></Id_Auftragsbestätigung>
<Id_Bestellung></Id_Bestellung>
<Id_Fz></Id_Fz>
<Id_K>K_1910091453_10</Id_K>
<Id_Lieferschein></Id_Lieferschein>
<Id_Mahnung1></Id_Mahnung1>
<Id_Mahnung2></Id_Mahnung2>
<Id_Mahnung3></Id_Mahnung3>
<Id_Rechnung>D_2002061252_42_AnRe</Id_Rechnung>
<Id_Rechnungskorrektur></Id_Rechnungskorrektur>
<Id_Vorgang>D_2002061252_42_AnRe</Id_Vorgang>
<KombiSuche>Elfriede Leo
Leo
D_2002061252_42_AnRe
Bestellung dingensbumens
Rechnung
steuerpflichtig
Differenzbetrag
Neues Produkt
artikelbeschreibung dumdidum
2020
Februar</KombiSuche>
<Kunde>Elfriede Leo</Kunde>
<Leistungsbeginn>25.02.2020</Leistungsbeginn>
<Leistungsende>27.02.2020</Leistungsende>
<Leistungszeitraum>3 Tage</Leistungszeitraum>
<letzte_Suche>Die Ergebnisse basieren auf: </letzte_Suche>
<lfd_Nr></lfd_Nr>
<lfd_Nr_Re></lfd_Nr_Re>
<Mahnkosten></Mahnkosten>
<Mahnkosten_brutto>0</Mahnkosten_brutto>
<Mahntext></Mahntext>
<Mahntext_Druck></Mahntext_Druck>
<Nettosumme>258</Nettosumme>
<Nettosumme_abzglSkonto>258</Nettosumme_abzglSkonto>
<Notiz_intern></Notiz_intern>
<Objekt></Objekt>
<Popover_Filtern_nach_Produktkategorien>Produkt</Popover_Filtern_nach_Produktkategorien>
<popover_neu_Anrede></popover_neu_Anrede>
<popover_neu_artikel_aufschlag></popover_neu_artikel_aufschlag>
<popover_neu_artikel_beschreibung></popover_neu_artikel_beschreibung>
<popover_neu_artikel_einheit></popover_neu_artikel_einheit>
<popover_neu_artikel_kat_produkt></popover_neu_artikel_kat_produkt>
<popover_neu_artikel_kat_service></popover_neu_artikel_kat_service>
<popover_neu_artikel_kosten></popover_neu_artikel_kosten>
<popover_neu_artikel_lieferant></popover_neu_artikel_lieferant>
<popover_neu_artikel_minlager></popover_neu_artikel_minlager>
<popover_neu_artikel_name></popover_neu_artikel_name>
<popover_neu_artikel_netto></popover_neu_artikel_netto>
<popover_neu_artikel_preisorientierung></popover_neu_artikel_preisorientierung>
<popover_neu_artikel_sku></popover_neu_artikel_sku>
<popover_neu_artikel_steuerpflichtig></popover_neu_artikel_steuerpflichtig>
<popover_neu_artikel_steuersatz></popover_neu_artikel_steuersatz>
<popover_neu_artikel_typ></popover_neu_artikel_typ>
<popover_neu_H_A1></popover_neu_H_A1>
<popover_neu_H_A2></popover_neu_H_A2>
<popover_neu_H_Land></popover_neu_H_Land>
<popover_neu_H_Ort></popover_neu_H_Ort>
<popover_neu_H_PLZ></popover_neu_H_PLZ>
<popover_neu_Mail></popover_neu_Mail>
<popover_neu_Nachname></popover_neu_Nachname>
<popover_neu_Telefon></popover_neu_Telefon>
<popover_neu_Unternehmen></popover_neu_Unternehmen>
<popover_neu_Vorname></popover_neu_Vorname>
<Protokoll_Druck>25.02.2020 16:45:07</Protokoll_Druck>
<Protokoll_Email></Protokoll_Email>
<Protokoll_PDF></Protokoll_PDF>
<Rabattsumme>0</Rabattsumme>
<Rechnungsadresse_unterscheidet_sich_von_Lieferadresse></Rechnungsadresse_unterscheidet_sich_von_Lieferadresse>
<Referenz>Bestellung dingensbumens</Referenz>
<Skonto>0</Skonto>
<Skonto_Betrag>0</Skonto_Betrag>
<Skonto_Betrag_Brutto>0</Skonto_Betrag_Brutto>
<Status_Aktuell>Rechnung</Status_Aktuell>
<Statusfilter>-</Statusfilter>
<Steuerstatus>steuerpflichtig</Steuerstatus>
<Steuersumme>,516</Steuersumme>
<Suche_Produkt></Suche_Produkt>
<Suche_Unternehmen></Suche_Unternehmen>
<Suche_Vorgang></Suche_Vorgang>
<Summe_offen>258,5</Summe_offen>
<Tage_Netto>10</Tage_Netto>
<Tage_Skonto>0</Tage_Skonto>
<Titel></Titel>
<Vorgang_Jahr>2020</Vorgang_Jahr>
<Vorgang_Monat>2</Vorgang_Monat>
<Vorgang_Monatname>Februar</Vorgang_Monatname>
<Vorgangsdatum>25.02.2020</Vorgangsdatum>
<Vorlage_Name></Vorlage_Name>
<Zahlungsziel_Netto>06.03.2020</Zahlungsziel_Netto>
<Zahlungsziel_Skonto>25.02.2020</Zahlungsziel_Skonto>
<Zusammenfassung></Zusammenfassung>
</ROW>
</FMPDSORESULT>
我希望它看起来像什么
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="http://www.ebinterface.at/schema/5p0/" GeneratingSystem="Business Assistant" DocumentType="Invoice" InvoiceCurrency="EUR" Language="ger">
<InvoiceNumber xmlns="http://www.filemaker.com/data">D_2002061252_42_AnRe</InvoiceNumber>
</Invoice>
如果删除命名空间声明,则输出将在元素中以空xmlns结尾。我在做什么错了?
答案 0 :(得分:0)
您为什么使用xsl:element name="InvoiceNumber" namespace="http://www.filemaker.com/data"><xsl:value-of select="fmp:ROW[1]/fmp:Id_Vorgang"/></xsl:element>
?明确命名了错误的命名空间http://www.filemaker.com/data
。
在其中放置正确的名称空间,或者使用文字结果元素
<InvoiceNumber xmlns="http://www.ebinterface.at/schema/5p0/">
<xsl:value-of select="fmp:ROW[1]/fmp:Id_Vorgang"/>
</InvoiceNumber>
在xmlns="http://www.ebinterface.at/schema/5p0/"
上使用xsl:stylesheet
似乎也会在其他地方简化代码。