无法从元素中删除XSL命名空间

时间:2020-03-24 13:29:09

标签: xml xslt

我想使用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结尾。我在做什么错了?

1 个答案:

答案 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似乎也会在其他地方简化代码。

相关问题