Да, это действительно согласно xhtml1-strict.dtd
. Следующий XHTML проходит проверку :
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<body>
<ul>
<li><div>test</div></li>
</ul>
</body>
</html>
Если все это не удается, можно попробовать взлом на низком уровне, заблокировав все сообщения краски в форме.
ВНИМАНИЕ: Я не поощряю использование этого метода, но вы можете попробовать его, если действительно хотите. Это помогло мне в прошлом.
Win32.LockWindowUpdate(this.Handle);
try
{
//make your changes here
}
finally
{
//release the lock
Win32.LockWindowUpdate((IntPtr)0);
}
Этот код основан на следующем поддерживающем коде:
public class Win32
{
private Win32() { }
/// <summary>
/// Lock ore relase the wndow for updating.
/// </summary>
[DllImport("user32")]
public static extern int LockWindowUpdate(HWND hwnd);
}
-121--3824281- Я предполагаю, что он будет использовать индекс, а затем он может использовать традиционный поиск для перехода к другому индексу и последующей фильтрации. Проверьте план выполнения. Короче говоря, вы можете закольцовывать два индекса во вложенном цикле. Согласно моему пониманию. Мы должны попытаться создать составной индекс для столбца, который находится в фильтрации или в соединении, а затем мы должны использовать предложение Include для столбцов, которые находятся в выборке. Я никогда не работал в MySql, поэтому мое понимание основано на SQL Server 2005.
-121--4482099-Если вы посмотрите на xhtml1-strict.dtd , вы увидите
<!ELEMENT li %Flow;>
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
<!ENTITY % block
"p | %heading; | div | %lists; | %blocktext; | fieldset | table">
Таким образом, div
, p
и т.д. могут находиться внутри li
(согласно XHTML 1,0 Strict DTD от w3.org).