Sdílet prostřednictvím


Schémata XML a Data v úpravy 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 následujících aplikacích: Excel 2013 a Excel 2010, Word 2013 a Word 2010. Další informace naleznete v tématu Funkce aplikace 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 podokno 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:

y36t3e16.collapse_all(cs-cz,VS.110).gifMapované 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 Uzly XMLNodes řízení a Ovládací prvek XMLNode.

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 Zavádění aplikací a součástí.

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

Jak: mapování schémat do dokumentů aplikace Word do aplikace Visual Studio

Jak: mapování schémata listy uvnitř Visual Studio