Sdílet prostřednictvím


Schémata XML a data v přizpůsobeních na úrovni dokumentu

Důležité informace uvedené v tomto tématu se týkají aplikace Microsoft Word slouží výlučně pro použití jednotlivců a organizací, kteří se nacházejí mimo Spojené státy a jeho území nebo který používáte, nebo vývoj programů, které běží na produkty Microsoft Word, které byly licencovány společností Microsoft před leden 2010, při odebrání Microsoft implementace určité funkce související s vlastní data XML v aplikaci Microsoft Word a výhody.Tato informace týkající se aplikace Microsoft Word pravděpodobně přečíst nebo použít jednotlivců nebo organizací v USA nebo na jeho území, kteří pomocí nebo rozvojových programů spuštěných na produkty Microsoft Word, které licenci společnosti Microsoft po 10. leden 2010; tyto produkty nebudou chovat stejné jako produkty licenci před tímto datem nebo zakoupili licenci pro použití mimo Spojené státy.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu v těchto aplikacích: Excel 2013 a Excel 2010; Word 2013 a Word 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.

Aplikace Microsoft Office Excel a Microsoft Office Word poskytují funkce mapování schémat do dokumentů.Tato funkce zjednodušuje import a export dat XML a dokumentu.

Zpřístupňuje Visual Studio mapovat prvky schématu v přizpůsobení úroveň dokument jako ovládací prvky v programovacím modelu.V aplikaci Excel Visual Studio přidá podporu pro ovládací prvky vázání dat do databáze, webové služby a objekty.Aplikace Word a Excel Visual Studio přidá podporu podokna akcí, které lze namapovat schéma dokument vytvořit rozšířené koncovému uživateli možnosti pro řešení.Další informace naleznete v tématu Přehled podokna akcí.

[!POZNÁMKA]

V řešení aplikace Excel nelze použít více schémat XML.

Objekty vytvořené při schémata jsou připojena k sešitům aplikace Excel

Připojíte-li schéma do sešitu, Visual Studio automaticky vytvoří několik objektů a přidá do vašeho projektu.Tyto objekty by neměly odstranit pomocí nástroje Visual Studio, protože jsou spravovány službou aplikace Excel.Jejich odstranění odebrat mapované prvky z listu nebo odpojit schématu pomocí nástrojů aplikace Excel.

Existují dva hlavní objekty:

  • Schéma XML (soubor XSD).Visual Studio přidá pro každé schéma v sešitu schéma projektu.Zobrazí se jako položky projektu s příponou XSD v Průzkumníku.

  • Zadaný DataSet třídy.Tato třída je založeno na schématu.Tato třída dataset je viditelné v Zobrazení tříd.

Objekty vytvořené při prvky schématu jsou mapovány na listech aplikace Excel

Při mapování prvek schématu z Zdroj XML podokno úloh list, Visual Studio automaticky vytvoří několik objektů a přidá je do projektu:

Mapované Office schémata a okna zdroje dat Visual Studio

Funkce mapované schéma sady Office a Visual Studio Zdroje dat okna můžete prezentovat data v listu aplikace Excel pro vykazování nebo úpravy.V obou případech můžete přetáhnout prvky dat na listu aplikace Excel.Obě metody vytvořit ovládací prvky, které jsou data svázána prostřednictvím BindingSource ke zdroji dat, jako DataSet nebo webové služby.

[!POZNÁMKA]

Pokud namapujete opakující se prvek schématu listu, vytvoří aplikace Visual Studio ListObject.ListObject Není automaticky vázány na data prostřednictvím BindingSource.Musíte ručně vytvořit vazbu ListObject zdroje dat nastavením DataSource a DataMember vlastnosti Vlastnosti okna.

V následující tabulce jsou uvedeny některé rozdíly mezi dvěma metodami.

Schéma XML

Okno zdroje dat

Používá rozhraní sady Office.

Používá Zdroje dat okno v aplikaci Visual Studio.

Vestavěné funkce sady Office pro import a export dat ze souborů XML umožňuje.

Musí poskytovat importovat a exportovat funkce programově.

Musíte napsat kód pro vyplnění generované ovládací prvky s daty.

Přidat z ovládacích prvků Zdroje dat jste okno kód generovaný automaticky vyplnit, včetně nezbytné připojovací řetězce při použití databázových serverů.

Chování při schémata jsou připojena do dokumentů aplikace Word

Datové objekty nejsou vytvořeny při připojení schématu k dokumentu aplikace Word používané v úrovni dokumentu Office project.Při mapování prvek schématu dokumentu jsou však vytvářeny ovládací prvky.Typ ovládacího prvku závisí na typu prvku mapování; opakující se elementy generování XMLNodes ovládací prvky a neopakující se prvky, generovat XMLNode prvky.Další informace naleznete v tématu XMLNodes – ovládací prvek a XMLNode – ovládací prvek.

Nasazení řešení, které obsahují schémata XML

By měl vytvořit instalační službu nasazení řešení, které používá schéma XML, která je namapována k dokumentu.Instalační program by měl zaregistrovat schématu v knihovně schémat v počítači uživatele.Pokud schéma nezaregistrujete, řešení budou stále fungovat, protože aplikace Word generuje dočasné schéma založené na prvky, které jsou v dokumentu, když uživatel otevře ji.Uživatel však nebude možné provést ověření proti nebo uložit schéma, která byla použita k vytvoření projektu.Další informace o instalačních programů naleznete v Nasazení aplikací, služeb a komponent.

Můžete také přidat kód do projektu, zkontrolujte, zda schéma v knihovně a registrován.Pokud není, můžete upozornit uživatele.

' Ensure that the schema is in the library and registered with the document. 
Private Function CheckSchema() As Boolean 

    Const namespaceUri As String = "http://schemas.contoso.com/projects" 
    Dim namespaceFound As Boolean = False 
    Dim namespaceRegistered As Boolean = False 

    Dim n As Word.XMLNamespace
    For Each n In Application.XMLNamespaces
        If (n.URI = namespaceUri) Then
            namespaceFound = True 
        End If 
    Next 

    If Not namespaceFound Then
        MessageBox.Show("XML Schema is not in library.")
        Return False 
    End If 

    Dim r As Word.XMLSchemaReference
    For Each r In Me.XMLSchemaReferences
        If (r.NamespaceURI = namespaceUri) Then
            namespaceRegistered = True 
        End If 
    Next 

    If Not namespaceRegistered Then
        MessageBox.Show("XML Schema is not registered for this document.")
        Return False 
    End If 

    Return True 
End Function
// Ensure that the schema is in the library and registered with the document. 
private bool CheckSchema()
{
    const string namespaceUri = "http://schemas.contoso.com/projects";
    bool namespaceFound = false;
    bool namespaceRegistered = false;

    foreach (Word.XMLNamespace n in Application.XMLNamespaces)
    {
        if (n.URI == namespaceUri)
        {
            namespaceFound = true;
        }
    }

    if (!namespaceFound)
    {
        MessageBox.Show("XML Schema is not in library.");
        return false;
    }

    foreach (Word.XMLSchemaReference r in this.XMLSchemaReferences) 
    {
        if (r.NamespaceURI == namespaceUri)
        {
            namespaceRegistered = true;
        }
    }

    if (!namespaceRegistered)
    {
        MessageBox.Show("XML Schema is not registered for this document.");
        return false;
    }

    return true;
}

Viz také

Úkoly

Postupy: Mapování schémat na dokumenty aplikace Word v prostředí Visual Studio

Postupy: Mapování schémat na listy v prostředí Visual Studio